* configure.ac: Bumbed version number.
[gnupg.git] / NEWS
1 Noteworthy changes in version 1.1.92
2 -------------------------------------------------
3
4 Noteworthy changes in version 1.1.91 (2002-08-04)
5 -------------------------------------------------
6
7     * All modules are now linked statically; the --load-extension
8       option is in general not useful anymore.  The only exception is
9       to specify the deprecated idea cipher.
10
11     * When using --batch with one of the --delete-key commands, the
12       key must be specified by fingerprint.  See the man page for
13       details.
14
15     * There are now various ways to restrict the ability GnuPG has to
16       exec external programs (for the keyserver helpers or photo ID
17       viewers).  Read the README file for the complete list.
18
19     * New export option to leave off attribute packets (photo IDs)
20       during export.  This is useful when exporting to HKP keyservers
21       which do not understand attribute packets.
22
23     * New import option to repair during import the HKP keyserver
24       mangling multiple subkeys bug.  Note that this cannot completely
25       repair the damaged key as some crucial data is removed by the
26       keyserver, but it does at least give you back one subkey.  This
27       is on by default for keyserver --recv-keys, and off by default
28       for regular --import.
29
30     * The keyserver helper programs now live in
31       /usr/[local/]libexec/gnupg by default.  If you are upgrading
32       from 1.0.7, you might want to delete your old copies in
33       /usr/[local/]bin.  If you use an OS that does not use libexec
34       for whatever reason, use --libexecdir=/usr/local/lib to place
35       the keyserver helpers there.
36
37     * The LDAP keyserver handler now works properly with very old
38       (version 1) LDAP keyservers.
39
40 Noteworthy changes in version 1.1.90 (2002-07-01)
41 -------------------------------------------------
42
43     * New commands: --personal-cipher-preferences,
44       --personal-digest-preferences, and
45       --personal-compress-preferences allow the user to specify which
46       algorithms are to be preferred.  Note that this does not permit
47       using an algorithm that is not present in the recipient's
48       preferences (which would violate the OpenPGP standard).  This
49       just allows sorting the preferences differently.
50
51     * New "group" command to refer to several keys with one name.
52
53     * A warning is issued if the user forces the use of an algorithm
54       that is not listed in the recipient's preferences.
55
56     * Full revocation key (aka "designated revoker") support.
57
58     * The preferred hash algorithms on a key are consulted when
59       encrypting a signed message to that key.  Note that this is
60       disabled by default by a SHA1 preference in
61       --personal-digest-preferences.
62
63     * --cert-digest-algo allows the user to specify the hash algorithm
64       to use when signing a key rather than the default SHA1 (or MD5
65       for PGP2 keys).  Do not use this feature unless you fully
66       understand the implications of this.
67
68     * --pgp7 mode automatically sets all necessary options to ensure
69       that the resulting message will be usable by a user of PGP 7.x.
70
71     * New --attribute-fd command for frontends and scripts to get the
72       contents of attribute packets (i.e. photos)
73
74     * In expert mode, the user can now re-sign a v3 key with a v4
75       self-signature.  This does not change the v3 key into a v4 key,
76       but it does allow the user to use preferences, primary ID flags,
77       etc.
78
79     * Significantly improved photo ID support on non-unixlike
80       platforms.
81
82     * The version number has jumped ahead to 1.1.90 to skip over the
83       old version 1.1 and to get ready for the upcoming 1.2.
84
85     * ElGamal sign and encrypt is not anymore allowed in the key
86       generation dialog unless in expert mode.  RSA sign and encrypt
87       has been added with the same restrictions.
88
89     * [W32] Keyserver access does work with Windows NT.
90
91
92 Noteworthy changes in version 1.0.7 (2002-04-29)
93 ------------------------------------------------
94
95     * Secret keys are now stored and exported in a new format which
96       uses SHA-1 for integrity checks.  This format renders the
97       Rosa/Klima attack useless.  Other OpenPGP implementations might
98       not yet support this, so the option --simple-sk-checksum creates
99       the old vulnerable format.
100
101     * The default cipher algorithm for encryption is now CAST5,
102       default hash algorithm is SHA-1.  This will give us better
103       interoperability with other OpenPGP implementations.
104
105     * Symmetric encrypted messages now use a fixed file size if
106       possible.  This is a tradeoff: it breaks PGP 5, but fixes PGP 2,
107       6, and 7.  Note this was only an issue with RFC-1991 style
108       symmetric messages.
109
110     * Photographic user ID support.  This uses an external program to
111       view the images.
112
113     * Enhanced keyserver support via keyserver "plugins".  GnuPG comes
114       with plugins for the NAI LDAP keyserver as well as the HKP email
115       keyserver.  It retains internal support for the HKP HTTP
116       keyserver.
117
118     * Nonrevocable signatures are now supported.  If a user signs a
119       key nonrevocably, this signature cannot be taken back so be
120       careful!
121
122     * Multiple signature classes are usable when signing a key to
123       specify how carefully the key information (fingerprint, photo
124       ID, etc) was checked.
125
126     * --pgp2 mode automatically sets all necessary options to ensure
127       that the resulting message will be usable by a user of PGP 2.x.
128
129     * --pgp6 mode automatically sets all necessary options to ensure
130       that the resulting message will be usable by a user of PGP 6.x.
131
132     * Signatures may now be given an expiration date.  When signing a
133       key with an expiration date, the user is prompted whether they
134       want their signature to expire at the same time.
135
136     * Revocation keys (designated revokers) are now supported if
137       present.  There is currently no way to designate new keys as
138       designated revokers.
139
140     * Permissions on the .gnupg directory and its files are checked
141       for safety.
142
143     * --expert mode enables certain silly things such as signing a
144       revoked user id, expired key, or revoked key.
145
146     * Some fixes to build cleanly under Cygwin32.
147
148     * New tool gpgsplit to split OpenPGP data formats into packets.
149
150     * New option --preserve-permissions.
151
152     * Subkeys created in the future are not used for encryption or
153       signing unless the new option --ignore-valid-from is used.
154
155     * Revoked user-IDs are not listed unless signatures are listed too
156       or we are in verbose mode.
157
158     * There is no default comment string with ascii armors anymore
159       except for revocation certificates and --enarmor mode.
160
161     * The command "primary" in the edit menu can be used to change the
162       primary UID, "setpref" and "updpref" can be used to change the
163       preferences.
164
165     * Fixed the preference handling; since 1.0.5 they were erroneously
166       matched against against the latest user ID and not the given one.
167
168     * RSA key generation.
169
170     * Merged Stefan's patches for RISC OS in.  See comments in
171       scripts/build-riscos. 
172
173     * It is now possible to sign and conventional encrypt a message (-cs).
174
175     * The MDC feature flag is supported and can be set by using
176       the "updpref" edit command.
177
178     * The status messages GOODSIG and BADSIG are now returning the primary
179       UID, encoded using %XX escaping (but with spaces left as spaces,
180       so that it should not break too much)
181
182     * Support for GDBM based keyrings has been removed.
183
184     * The entire keyring management has been revamped.
185
186     * The way signature stati are store has changed so that v3
187       signatures can be supported. To increase the speed of many
188       operations for existing keyrings you can use the new
189       --rebuild-keydb-caches command.
190
191     * The entire key validation process (trustdb) has been revamped.
192       See the man page entries for --update-trustdb, --check-trustdb
193       and --no-auto-check-trustdb.
194
195     * --trusted-keys is again obsolete, --edit can be used to set the
196       ownertrust of any key to ultimately trusted.
197
198     * A subkey is never used to sign keys.
199
200     * Read only keyrings are now handled as expected.
201
202
203 Noteworthy changes in version 1.0.6 (2001-05-29)
204 ------------------------------------------------
205
206     * Security fix for a format string bug in the tty code.
207
208     * Fixed format string bugs in all PO files. 
209
210     * Removed Russian translation due to too many bugs.  The FTP
211       server has an unofficial but better translation in the contrib
212       directory.
213
214     * Fixed expire time calculation and keyserver access.
215
216     * The usual set of minor bug fixes and enhancements.
217
218     * non-writable keyrings are now correctly handled.
219
220
221 Noteworthy changes in version 1.0.5 (2001-04-29)
222 ------------------------------------------------
223
224     * WARNING: The semantics of --verify have changed to address a
225       problem with detached signature detection. --verify now ignores
226       signed material given on stdin unless this is requested by using
227       a "-" as the name for the file with the signed material.  Please
228       check all your detached signature handling applications and make
229       sure that they don't pipe the signed material to stdin without
230       using a filename together with "-" on the the command line.
231
232     * WARNING: Corrected hash calculation for input data larger than
233       512M - it was just wrong, so you might notice bad signature in
234       some very big files.  It may be wise to keep an old copy of
235       GnuPG around.
236
237     * Secret keys are no longer imported unless you use the new option
238       --allow-secret-key-import.  This is a kludge and future versions will
239       handle it in another way.
240
241     * New command "showpref" in the --edit-key menu to show an easier
242       to understand preference listing.
243
244     * There is now the notation of a primary user ID.  For example, it
245       is printed with a signature verification as the first user ID;
246       revoked user IDs are not printed there anymore.  In general the
247       primary user ID is the one with the latest self-signature.
248
249     * New --charset=utf-8 to bypass all internal conversions.
250
251     * Large File Support (LFS) is now working.
252
253     * New options: --ignore-crc-error, --no-sig-create-check, 
254       --no-sig-cache, --fixed_list_mode, --no-expensive-trust-checks,
255       --enable-special-filenames and --use-agent.  See man page.
256
257     * New command --pipemode, which can be used to run gpg as a
258       co-process.  Currently only the verification of detached
259       signatures are working.  See doc/DETAILS.
260
261     * Keyserver support for the W32 version.
262
263     * Rewritten key selection code so that GnuPG can better cope with
264       multiple subkeys, expire dates and so.  The drawback is that it
265       is slower.
266
267     * A whole lot of bug fixes.
268
269     * The verification status of self-signatures are now cached. To
270       increase the speed of key list operations for existing keys you
271       can do the following in your GnuPG homedir (~/.gnupg):
272          cp pubring.gpg pubring.gpg.save && gpg --export-all >x && \
273          rm pubring.gpg && gpg --import x
274       Only v4 keys (i.e not the old RSA keys) benefit from this caching.
275
276     * New translations: Estonian, Turkish.
277
278
279 Noteworthy changes in version 1.0.4 (2000-10-17)
280 ------------------------------------------------
281
282     * Fixed a serious bug which could lead to false signature verification
283       results when more than one signature is fed to gpg.  This is the
284       primary reason for releasing this version.
285
286     * New utility gpgv which is a stripped down version of gpg to
287       be used to verify signatures against a list of trusted keys.
288
289     * Rijndael (AES) is now supported and listed with top preference.
290
291     * --with-colons now works with --print-md[s].
292
293 Noteworthy changes in version 1.0.3 (2000-09-18)
294 ------------------------------------------------
295
296     * Fixed problems with piping to/from other MS-Windows software
297
298     * Expiration time of the primary key can be changed again.
299
300     * Revoked user IDs are now marked in the output of --list-key
301
302     * New options --show-session-key and --override-session-key
303       to help the British folks to somewhat minimize the danger
304       of this Orwellian RIP bill.
305
306     * New options --merge-only and --try-all-secrets.
307
308     * New configuration option --with-egd-socket.
309
310     * The --trusted-key option is back after it left us with 0.9.5
311      
312     * RSA is supported. Key generation does not yet work but will come
313       soon. 
314     
315     * CAST5 and SHA-1 are now the default algorithms to protect the key
316       and for symmetric-only encryption. This should solve a couple
317       of compatibility problems because the old algorithms are optional
318       according to RFC2440
319
320     * Twofish and MDC enhanced encryption is now used.  PGP 7 supports 
321       this.  Older versions of GnuPG don't support it, so they should be
322       upgraded to at least 1.0.2
323       
324
325 Noteworthy changes in version 1.0.2 (2000-07-12)
326 ----------------------------------------------
327
328     * Fixed expiration handling of encryption keys.
329
330     * Add an experimental feature to do unattended key generation.
331
332     * The user is now asked for the reason of revocation as required
333       by the new OpenPGP draft.
334
335     * There is a ~/.gnupg/random_seed file now which saves the
336       state of the internal RNG and increases system performance
337       somewhat.  This way the full entropy source is only used in
338       cases were it is really required.
339       Use the option --no-random-seed-file to disable this feature.
340
341     * New options --ignore-time-conflict and --lock-never.
342
343     * Some fixes for the W32 version.
344
345     * The entropy.dll is not anymore used by the W32 version but replaced
346       by code derived from Cryptlib.
347
348     * Encryption is now much faster: About 2 times for 1k bit keys
349       and 8 times for 4k keys.
350
351     * New encryption keys are generated in a way which allows a much
352       faster decryption.
353
354     * New command --export-secret-subkeys which outputs the
355       the _primary_ key with it's secret parts deleted.  This is
356       useful for automated decryption/signature creation as it
357       allows to keep the real secret primary key offline and
358       thereby protecting the key certificates and allowing to
359       create revocations for the subkeys.  See the FAQ for a
360       procedure to install such secret keys.
361
362     * Keygeneration now writes to the first writeable keyring or
363       as default to the one in the homedirectory.  Prior versions
364       ignored all --keyring options.
365
366     * New option --command-fd to take user input from a file descriptor;
367       to be used with --status-fd by software which uses GnuPG as a backend.
368
369     * There is a new status PROGRESS which is used to show progress during
370       key generation.
371
372     * Support for the new MDC encryption packets.  To create them either
373       --force-mdc must be use or cipher algorithm with a blocksize other
374       than 64 bits is to be used.  --openpgp currently disables MDC packets
375       entirely.  This option should not yet be used.
376
377     * New option --no-auto-key-retrieve to disable retrieving of
378       a missing public key from a keyserver, when a keyserver has been set.
379
380     * Danish translation
381
382 Noteworthy changes in version 1.0.1 (1999-12-16)
383 -----------------------------------
384
385     * New command --verify-files.  New option --fast-list-mode.
386
387     * $http_proxy is now used when --honor-http-proxy is set.
388
389     * Fixed some minor bugs and the problem with conventional encrypted
390       packets which did use the gpg v3 partial length headers.
391
392     * Add Indonesian and Portugese translations.
393
394     * Fixed a bug with symmetric-only encryption using the non-default 3DES.
395       The option --emulate-3des-s2k-bug may be used to decrypt documents
396       which have been encrypted this way; this should be done immediately
397       as this workaround will be remove in 1.1
398
399     * Can now handle (but not display) PGP's photo IDs. I don't know the
400       format of that packet but after stripping a few bytes from the start
401       it looks like a JPEG (at least my test data).  Handling of this
402       package is required because otherwise it would mix up the
403       self signatures and you can't import those keys.
404
405     * Passing non-ascii user IDs on the commandline should now work in all
406       cases.
407
408     * New keys are now generated with an additional preference to Blowfish.
409
410     * Removed the GNU Privacy Handbook from the distribution as it will go
411       into a separate one.
412
413
414 Noteworthy changes in version 1.0.0 (1999-09-07)
415 -----------------------------------
416
417     * Add a very preliminary version of the GNU Privacy Handbook to
418       the distribution (lynx doc/gph/index.html).
419
420     * Changed the version number to GnuPG 2001 ;-)
421
422
423 Noteworthy changes in version 0.9.11
424 ------------------------------------
425
426     * UTF-8 strings are now correctly printed (if --charset is set correctly).
427       Output of --with-colons remains C-style escaped UTF-8.
428
429     * Workaround for a problem with PGP 5 detached signature in textmode.
430
431     * Fixed a problem when importing new subkeys (duplicated signatures).
432
433 Noteworthy changes in version 0.9.10
434 ------------------------------------
435
436     * Some strange new options to help pgpgpg
437
438     * Cleaned up the dox a bit.
439
440
441 Noteworthy changes in version 0.9.9
442 -----------------------------------
443
444     * New options --[no-]utf8-strings.
445
446     * New edit-menu commands "enable" and "disable" for entire keys.
447
448     * You will be asked for a filename if gpg cannot deduce one.
449
450     * Changes to support libtool which is needed for the development
451       of libgcrypt.
452
453     * New script tools/lspgpot to help transferring assigned
454       trustvalues from PGP to GnuPG.
455
456     * New commands --lsign-key and made --sign-key a shortcut for --edit
457       and sign.
458
459     * New options (#122--126 ;-) --[no-]default-recipient[-self],
460       --disable-{cipher,pubkey}-algo. See the man page.
461
462     * Enhanced info output in case of multiple recipients and fixed exit code.
463
464     * New option --allow-non-selfsigned-uid to work around a problem with
465       the German IN way of separating signing and encryption keys.
466
467
468 Noteworthy changes in version 0.9.8
469 -----------------------------------
470
471     * New subcommand "delsig" in the edit menu.
472
473     * The name of the output file is not anymore the one which is
474       embedded in the processed message, but the used filename with
475       the extension stripped.  To revert to the old behaviour you can
476       use the option --use-embedded-filename.
477
478     * Another hack to cope with pgp2 generated detached signatures.
479
480     * latin-2 character set works (--charset=iso-8859-2).
481
482     * New option --with-key-data to list the public key parameters.
483       New option -N to insert notations and a --set-policy-url.
484       A couple of other options to allow reseting of options.
485
486     * Better support for HPUX.
487
488
489 Noteworthy changes in version 0.9.7
490 -----------------------------------
491
492     * Add some work arounds for a bugs in pgp 2 which led to bad signatures
493       when used with canonical texts in some cases.
494
495     * Enhanced some status outputs.
496
497 Noteworthy changes in version 0.9.6
498 -----------------------------------
499
500     * Twofish is now statically linked by default. The experimental 128 bit
501       version is now disabled.  Full support will be available as soon as
502       the OpenPGP WG has decided on an interpretation of rfc2440.
503
504     * Dropped support for the ancient Blowfish160 which is not OpenPGP.
505
506     * Merged gpgm and gpg into one binary.
507
508     * Add "revsig" and "revkey" commands to the edit menu.  It is now
509       possible to revoke signature and subkeys.
510
511
512 Noteworthy changes in version 0.9.5
513 -----------------------------------
514
515     * New command "lsign" in the keyedit menu to create non-exportable
516       signatures.  Removed --trusted-keys option.
517
518     * A bunch of changes to the key validation code.
519
520     * --list-trust-path now has an optional --with-colons format.
521
522     * New command --recv-keys to import keys from an keyserver.
523
524
525 Noteworthy changes in version 0.9.4
526 -----------------------------------
527
528     * New configure option --enable-static-rnd=[egd|linux|unix|none]
529       to select a random gathering module for static linking.
530
531     * The original text is now verbatim copied to a cleartext signed message.
532
533     * Bugfixes but there are still a couple of bugs.
534
535
536 Noteworthy changes in version 0.9.3
537 -----------------------------------
538
539     * Changed the internal design of getkey which now allows a
540       efficient lookup of multiple keys and add a word match mode.
541
542     * New options --[no-]encrypt-to.
543
544     * Some changes to the configure stuff.  Switched to automake 1.4.
545       Removed intl/ from CVS, autogen.sh now uses gettextize.
546
547     * Preferences now include Twofish. Removed preference to Blowfish with
548       a special hack to suppress the "not listed in preferences" warning;
549       this is to allow us to switch completely to Twofish in the near future.
550
551     * Changed the locking stuff.
552
553     * Print all user ids of a good signature.
554
555
556 Noteworthy changes in version 0.9.2
557 -----------------------------------
558
559     * add some additional time warp checks.
560
561     * Option --keyserver and command --send-keys to utilize HKP servers.
562
563     * Upgraded to zlib 1.1.3 and fixed an inflate bug
564
565     * More cleanup on the cleartext signatures.
566
567
568 Noteworthy changes in version 0.9.1
569 -----------------------------------
570
571     * Polish language support.
572
573     * When querying the passphrase, the key ID of the primary key is
574       displayed along with the one of the used secondary key.
575
576     * Fixed a bug occurring when decrypting pgp 5 encrypted messages,
577       fixed an infinite loop bug in the 3DES code and in the code
578       which looks for trusted signatures.
579
580     * Fixed a bug in the mpi library which caused signatures not to
581       compare okay.
582
583     * Rewrote the handling of cleartext signatures; the code is now
584       better maintainable (I hope so).
585
586     * New status output VALIDSIG only for valid signatures together
587       with the fingerprint of the signer's key.
588
589
590 Noteworthy changes in version 0.9.0
591 -----------------------------------
592
593     * --export does now only exports rfc2440 compatible keys; the
594       old behaviour is available with --export-all.
595       Generation of v3 ElGamal (sign and encrypt) keys is not longer
596       supported.
597
598     * Fixed the uncompress bug.
599
600     * Rewrote the rndunix module. There are two environment variables
601       used for debugging now: GNUPG_RNDUNIX_DBG give the file to write
602       debugging information (use "-" for stdout) and if GNUPG_RNDUNIX_DBGALL
603       is set, all programs which are only tried are also printed.
604
605     * New option --escape-from-lines to "dash-escape" "From " lines to
606       prevent mailers to change them to ">From ".  This is not enabled by
607       default because it is not in compliance with rfc2440 - however, you
608       should turn it on.
609
610
611 Noteworthy changes in version 0.4.5
612 -----------------------------------
613
614     * The keyrings and the trustdb is now locked, so that
615       other GnuPG processes won't damage these files.  You
616       may want to put the option --lock-once into your options file.
617
618     * The latest self-signatures are now used; this enables --import
619       to see updated preferences etc.
620
621     * Import of subkeys should now work.
622
623     * Random gathering modules may now be loaded as extensions. Add
624       such a module for most Unices but it is very experimental!
625
626     * Brazilian language support.
627
628
629 Noteworthy changes in version 0.4.4
630 -----------------------------------
631
632     * Fixed the way the key expiration time is stored. If you have
633       an expiration time on your key you should fix it with --edit-key
634       and the command "expire".  I apologize for this inconvenience.
635
636     * Add option --charset to support "koi8-r" encoding of user ids.
637       (Not yet tested).
638
639     * Preferences should now work again. You should run
640       "gpgm --check-trustdb \*" to rebuild all preferences.
641
642     * Checking of certificates should now work but this needs a lot
643       of testing.  Key validation values are now cached in the
644       trustdb; they should be recalculated as needed, but you may
645       use --check-trustdb or --update-trustdb to do this.
646
647     * Spanish translation by Urko Lusa.
648
649     * Patch files are from now on signed.  See the man page
650       for the new option --not-dash-escaped.
651
652     * New syntax: --edit-key <userID> [<commands>]
653       If you run it without --batch the commands are executed and then
654       you are put into normal mode unless you use "quit" or "save" as
655       one of the commands.  When in batch mode, the program quits after
656       the last command, so you have to use "save" if you did some changes.
657       It does not yet work completely, but may be used to list so the
658       keys etc.
659
660
661 Noteworthy changes in version 0.4.3
662 -----------------------------------
663
664     * Fixed the gettext configure bug.
665
666     * Kludge for RSA keys: keyid and length of a RSA key are
667       correctly reported, but you get an error if you try to use
668       this key (If you do not have the non-US version).
669
670     * Experimental support for keyrings stored in a GDBM database.
671       This is *much* faster than a standard keyring.  You will notice
672       that the import gets slower with time; the reason is that all
673       new keys are used to verify signatures of previous inserted
674       keys.  Use "--keyring gnupg-gdbm:<name-of-gdbm-file>".  This is
675       not (yet) supported for secret keys.
676
677     * A Russian language file in the distribution (alternatives are in
678       the contrib directory of the FTP servers)
679
680     * commandline option processing now works as expected for GNU programs
681       with the exception that you can't mix options and normal arguments.
682
683     * Now --list-key lists all matching keys.  This is needed in some
684       other places too.
685
686
687 Noteworthy changes in version 0.4.2
688 -----------------------------------
689
690     * This is only a snapshot: There are still a few bugs.
691
692     * Fixed this huge memory leak.
693
694     * Redesigned the trust database:  You should run "gpgm --check-trustdb".
695       New command --update-trustdb, which adds new key from the public
696       keyring into your trustdb
697
698     * Fixed a bug in the armor code, leading to invalid packet errors.
699       (a workaround for this was to use --no-armor).  The shorten line
700       length (64 instead of 72) fixes a problem with pgp5 and keyservers.
701
702     * comment packets are not anymore generated. "--export" filters
703       them out.  One Exception:  The comment packets in a secret keyring
704       are still used because they carry the factorization of the public
705       prime product.
706
707     * --import now only looks for KEYBLOCK headers, so you can now simply
708       remove the "- " in front of such a header if someone accidently signed
709       such a message or the keyblock is part of a cleartext signed message.
710
711     * --with-colons now lists the key expiration time and not anymore
712       the valid period.
713
714     * Some keyblocks created with old releases have a wrong sequence
715       of packets, so that the keyservers don't accept these keys.
716       Simply using "--edit-key" fixes the problem.
717
718     * New option --force-v3-sigs to generate signed messages which are
719       compatible to PGP 5.
720
721     * Add some code to support DLD (for non ELF systems) - but this is
722       not tested because my BSD box is currently broken.
723
724     * New command "expire" in the edit-key menu.
725
726
727
728 Noteworthy changes in version 0.4.1
729 -----------------------------------
730     * A secondary key is used when the primary key is specified but cannot
731       be used for the operation (if it is a sign-only key).
732
733     * GNUPG can now handle concatenated armored messages:  There is still a
734       bug if different kinds of messages are mixed.
735
736     * Iterated+Salted passphrases now work.  If want to be sure that PGP5
737       is able to handle them you may want to use the options
738         "--s2k-mode 3 --s2k-cipher-algo cast5 --s2k-digest-algo sha1"
739       when changing a passphrase.
740
741     * doc/OpenPGP talks about OpenPGP compliance, doc/HACKING gives
742       a few hints about the internal structure.
743
744     * Checked gnupg against the August 1998 draft (07) and I believe
745       it is in compliance with this document (except for one point).
746
747     * Fixed some bugs in the import merging code and rewrote some
748       code for the trustdb.
749
750
751 Noteworthy changes in version 0.4.0
752 -----------------------------------
753     * Triple DES is now supported.  Michael Roth did this piece of
754       needed work.  We have now all the coded needed to be OpenPGP
755       compliant.
756
757     * Added a simple rpm spec file (see INSTALL).
758
759     * detached and armored signatures are now using "PGP SIGNATURE",
760       except when --rfc1991 is used.
761
762     * All times which are not in the yyyy-mm-dd format are now printed
763       in local time.
764
765
766 Noteworthy changes in version 0.3.5
767 -----------------------------------
768     * New option --throw-keyid to create anonymous enciphered messages.
769       If gpg detects such a message it tires all available secret keys
770       in turn so decode it.  This is a gnupg extension and not in OpenPGP
771       but it has been discussed there and afaik some products use this
772       scheme too (Suggested by Nimrod Zimmerman).
773
774     * Fixed a bug with 5 byte length headers.
775
776     * --delete-[secret-]key is now also available in gpgm.
777
778     * cleartext signatures are not anymore converted to LF only.
779
780     * Fixed a trustdb problem.  Run "gpgm --check-trustdb" to fix old
781       trust dbs.
782
783     * Building in another directory should now work.
784
785     * Weak key detection mechanism (Niklas Hernaeus).
786
787
788 Noteworthy changes in version 0.3.4
789 -----------------------------------
790     * New options --comment and --set-filename; see g10/OPTIONS
791
792     * yes/no, y/n localized.
793
794     * Fixed some bugs.
795
796 Noteworthy changes in version 0.3.3
797 -----------------------------------
798     * IMPORTANT: I found yet another bug in the way the secret keys
799       are encrypted - I did it the way pgp 2.x did it, but OpenPGP
800       and pgp 5.x specify another (in some aspects simpler) method.
801       To convert your secret keys you have to do this:
802         1. Build the new release but don't install it and keep
803            a copy of the old program.
804         2. Disable the network, make sure that you are the only
805            user, be sure that there are no Trojan horses etc ....
806         3. Use your old gpg (version 0.3.[12]) and set the
807            passphrases of ALL your secret keys to empty!
808            (gpg --change-passphrase your-user-id).
809         4. Save your ownertrusts (see the next point)
810         5. rm ~/.gnupg/trustdb.gpg
811         6. install the new version of gpg (0.3.3)
812         7. For every secret key call "gpg --edit-key your-user-id",
813            enter "passwd" at the prompt, follow the instructions and
814            change your password back, enter "save" to store it.
815         8. Restore the ownertrust (see next point).
816
817     * The format of the trust database has changed; you must delete
818       the old one, so gnupg can create a new one.
819       IMPORTANT: Use version 0.3.[12] to save your assigned ownertrusts
820       ("gpgm --list-ownertrust >saved-trust"); then build this new version
821       and restore the ownertrust with this new version
822       ("gpgm --import-ownertrust saved-trust").  Please note that
823       --list-ownertrust has been renamed to --export-ownertrust in this
824       release and it does now only export defined ownertrusts.
825
826     * The command --edit-key now provides a commandline driven menu
827       which can be used for various tasks.  --sign-key is only an
828       an alias to --edit-key and maybe removed in future: use the
829       command "sign" of this new menu - you can select which user ids
830       you want to sign.
831
832     * Alternate user ids can now be created an signed.
833
834     * Owner trust values can now be changed with --edit-key (trust)
835
836     * GNUPG can now run as a coprocess; this enables sophisticated
837       frontends.  tools/shmtest.c is a simple sample implementation.
838       This needs some more work: all tty_xxx() are to be replaced
839       by cpr_xxx() and some changes in the display logics is needed.
840
841     * Removed options --gen-prime and --gen-random.
842
843     * Removed option --add-key; use --edit-key instead.
844
845     * Removed option --change-passphrase; use --edit-key instead.
846
847     * Signatures are now checked even if the output file could not
848       be created. Command "--verify" tries to find the detached data.
849
850     * gpg now disables core dumps.
851
852     * compress and symmetric cipher preferences are now used.
853       Because there is no 3DES yet, this is replaced by Blowfish.
854
855     * We have added the Twofish as an experimental cipher algorithm.
856       Many thanks to Matthew Skala for doing this work.
857       Twofish is the AES submission from Schneier et al.; see
858       "www.counterpane.com/twofish.html" for more information.
859
860     * Started with a help system: If you enter a question mark at some
861       prompt; you should get a specific help for this prompt.
862
863     * There is no more backup copy of the secret keyring.
864
865     * A lot of new bugs. I think this release is not as stable as
866       the previous one.
867
868
869 Noteworthy changes in version 0.3.2
870 -----------------------------------
871     * Fixed some bugs when using --textmode (-seat)
872
873     * Now displays the trust status of a positive verified message.
874
875     * Keyrings are now scanned in the sequence they are added with
876       --[secret-]keyring.  Note that the default keyring is implicitly
877       added as the very first one unless --no-default-keyring is used.
878
879     * Fixed setuid and dlopen bug.
880
881 Noteworthy changes in version 0.3.1
882 -----------------------------------
883     * Partial headers are now written in the OpenPGP format if
884       a key in a v4 packet is used.
885
886     * Removed some unused options, removed the gnupg.sig stuff.
887
888     * Key lookup by name now returns a key which can be used for
889       the desired action.
890
891     * New options --list-ownertrust (gpgm) to make a backup copy
892       of the ownertrust values you assigned.
893
894     * clear signature headers are now in compliance with OpenPGP.
895
896 Noteworthy changes in version 0.3.0
897 -----------------------------------
898
899     * New option --emulate-checksum-bug.  If your passphrase does not
900       work anymore, use this option and --change-passphrase to rewrite
901       your passphrase.
902
903     * More complete v4 key support: Preferences and expiration time
904       is set into the self signature.
905
906     * Key generation defaults to DSA/ElGamal keys, so that new keys are
907       interoperable with pgp5
908
909     * DSA key generation is faster and key generation does not anymore
910       remove entropy from the random generator (the primes are public
911       parameters, so there is really no need for a cryptographic secure
912       prime number generator which we had used).
913
914     * A complete new structure for representing the key parameters.
915
916     * Removed most public key knowledge into the cipher library.
917
918     * Support for dynamic loading of new algorithms.
919
920     * Moved tiger to an extension module.
921
922
923 Noteworthy changes in version 0.2.19
924 ------------------------------------
925
926     * Replaced /dev/urandom in checks with new tool mk-tdata.
927
928     * Some assembler file cleanups; some more functions for the Alpha.
929
930     * Tiger has now the OpenPGP assigned number 6.  Because the OID has
931       changed, old signatures using this algorithm can't be verified.
932
933     * gnupg now encrypts the compressed packed and not any longer in the
934       reverse order; anyway it can decrypt both versions. Thanks to Tom
935       for telling me this (not security related) bug.
936
937     * --add-key works and you are now able to generate subkeys.
938
939     * It is now possible to generate ElGamal keys in v4 packets to create
940       valid OpenPGP keys.
941
942     * Some new features for better integration into MUAs.
943
944
945 Noteworthy changes in version 0.2.18
946 ------------------------------------
947
948     * Splitted cipher/random.c, add new option "--disable-dev-random"
949       to configure to support the development of a random source for
950       other systems. Prepared sourcefiles rand-unix.c, rand-w32.c
951       and rand-dummy.c (which is used to allow compilation on systems
952       without a random source).
953
954     * Fixed a small bug in the key generation (it was possible that 48 bits
955       of a key were not taken from the random pool)
956
957     * Add key generation for DSA and v4 signatures.
958
959     * Add a function trap_unaligned(), so that a SIGBUS is issued on
960       Alphas and not the slow emulation code is used. And success: rmd160
961       raised a SIGBUS.
962
963     * Enhanced the formatting facility of argparse and changed the use of
964       \r,\v to @ because gettext does not like it.
965
966     * New option "--compress-algo 1" to allow the creation of compressed
967       messages which are readable by PGP and "--print-md" (gpgm) to make
968       speed measurement easier.
969
970
971 Noteworthy changes in version 0.2.17
972 ------------------------------------
973
974     * Comment packets are now of private type 61.
975
976     * Passphrase code still used a 160 bit blowfish key, added a
977       silly workaround. Please change your passphrase again - sorry.
978
979     * Conventional encryption now uses a type 3 packet to describe the
980       used algorithms.
981
982     * The new algorithm number for Blowfish is 20, 16 is still used for
983       encryption only; for signing it is only used when it is in a v3 packet,
984       so that GNUPG keys are still valid.
985
986
987 Noteworthy changes in version 0.2.16
988 ------------------------------------
989
990     * Add experimental support for the TIGER/192 message digest algorithm.
991       (But there is only a dummy ASN OID).
992
993     * Standard cipher is now Blowfish with 128 bit key in OpenPGP's CFB
994       mode. I renamed the old cipher to Blowfish160. Because the OpenPGP
995       group refused to assign me a number for Blowfish160, I have to
996       drop support for this in the future. You should use
997       "--change-passphrase" to recode your current passphrase with 128
998       bit Blowfish.
999
1000
1001 Noteworthy changes in version 0.2.15
1002 ------------------------------------
1003
1004     * Fixed a bug with the old checksum calculation for secret keys.
1005       If you run the program without --batch, a warning does inform
1006       you if your secret key needs to be converted; simply use
1007       --change-passphrase to recalculate the checksum. Please do this
1008       soon, as the compatible mode will be removed sometime in the future.
1009
1010     * CAST5 works (using the PGP's special CFB mode).
1011
1012     * Again somewhat more PGP 5 compatible.
1013
1014     * Some new test cases
1015
1016 Noteworthy changes in version 0.2.14
1017 ------------------------------------
1018
1019     * Changed the internal handling of keyrings.
1020
1021     * Add support to list PGP 5 keyrings with subkeys
1022
1023     * Timestamps of signatures are now verified.
1024
1025     * A expiration time can now be specified during key generation.
1026
1027     * Some speedups for Blowfish and SHA-1, rewrote SHA-1 transform.
1028       Reduced the amount of random bytes needed for key generation in
1029       some cases.
1030
1031
1032 Noteworthy changes in version 0.2.13
1033 ------------------------------------
1034
1035     * Verify of DSA signatures works.
1036
1037     * Re-implemented the slower random number generator.
1038
1039
1040 Noteworthy changes in version 0.2.12
1041 ------------------------------------
1042
1043     * --delete-key checks that there is no secret key. The new
1044       option --delete-secret-key maybe used to delete a secret key.
1045
1046     * "-kv" now works as expected. Options "--list-{keys,sigs]"
1047       and "--check-sigs" are now working.
1048
1049     * New options "--verify" and "--decrypt" to better support integration
1050       into MUAs (partly done for Mutt).
1051
1052     * New option "--with-colons" to make parsing of key lists easier.
1053
1054 Noteworthy changes in version 0.2.11
1055 ------------------------------------
1056
1057     * GPG now asks for a recipient's name if option "-r" is not used.
1058
1059     * If there is no good trust path, the program asks whether to use
1060       the public keys anyway.
1061
1062     * "--delete-key" works for public keys. What semantics shall I use
1063       when there is a secret key too? Delete the secret key or leave him
1064       and auto-regenerate the public key, next time the secret key is used?
1065
1066 Noteworthy changes in version 0.2.10
1067 ------------------------------------
1068
1069     * Code for the alpha is much faster (about 20 times); the data
1070       was misaligned and the kernel traps this, so nearly all time
1071       was used by system to trap the misalignments and to write
1072       syslog messages. Shame on me and thanks to Ralph for
1073       pointing me at this while drinking some beer yesterday.
1074
1075     * Changed some configure options and add an option
1076       --disable-m-guard to remove the memory checking code
1077       and to compile everything with optimization on.
1078
1079     * New environment variable GNUPGHOME, which can be used to set
1080       another homedir than ~/.gnupg.  Changed default homedir for
1081       Windoze version to c:/gnupg.
1082
1083     * Fixed detached signatures; detached PGP signatures caused a SEGV.
1084
1085     * The Windoze version works (as usual w/o a strong RNG).
1086
1087
1088 Noteworthy changes in version 0.2.9
1089 -----------------------------------
1090
1091     * Fixed FreeBSD bug.
1092
1093     * Added a simple man page.
1094
1095     * Switched to automake1.2f and a newer gettext.
1096
1097 Noteworthy changes in version 0.2.8
1098 -----------------------------------
1099
1100     * Changed the name to GNUPG, the binaries are called gpg and gpgm.
1101       You must rename rename the directory "~/.g10" to ~/.gnupg/, rename
1102       {pub,sec}ring.g10 to {pub,sec}ring.gpg, trustdb.g10 to trustdb.gpg
1103       and g10.sig to gnupg.sig.
1104
1105     * New or changed passphrases are now salted.
1106
1107
1108 Noteworthy changes in version 0.2.7
1109 -----------------------------------
1110
1111     * New command "gen-revoke" to create a key revocation certificate.
1112
1113     * New option "homedir" to set the homedir (which defaults to "~/.g10").
1114       This directory is created if it does not exists (only the last
1115       part of the name and not the complete hierarchy)
1116
1117     * Command "import" works. (Try: "finger gcrypt@ftp.guug.de|g10 --import")
1118
1119     * New commands "dearmor/enarmor" for g10maint.  These are mainly
1120       used for internal test purposes.
1121
1122     * Option --version now conforming to the GNU standards and lists
1123       the available ciphers, message digests and public key algorithms.
1124
1125     * Assembler code for m68k (not tested).
1126
1127     * "make check" works.
1128
1129 Noteworthy changes in version 0.2.6
1130 -----------------------------------
1131
1132     * Option "--export" works.
1133
1134
1135 Noteworthy changes in version 0.2.5
1136 -----------------------------------
1137
1138     * Added zlib for systems which don't have it.
1139       Use "./configure --with-zlib" to link with the static version.
1140
1141     * Generalized some more functions and rewrote the encoding of
1142       message digests into MPIs.
1143
1144     * Enhanced the checkit script
1145
1146
1147 Noteworthy changes in version 0.2.4
1148 -----------------------------------
1149
1150     * nearly doubled the speed of the ElGamal signature verification.
1151
1152     * backup copies of keyrings are created.
1153
1154     * assembler stuff for Pentium; gives about 15% better performance.
1155
1156     * fixed a lot of bugs.
1157
1158
1159 Noteworthy changes in version 0.2.3
1160 -----------------------------------
1161
1162     * Found a bug in the calculation of ELG fingerprints. This is now
1163       fixed, but all existing fingerprints and keyids for ELG keys
1164       are not any more valid.
1165
1166     * armor should now work; including clear signed text.
1167
1168     * moved some options to the new program g10maint
1169
1170     * It's now 64 bit clean and runs fine on an alpha--linux.
1171
1172     * Key generation is much faster now.  I fixed this by using not
1173       so strong random number for the primes (this was a bug because the
1174       ElGamal primes are public parameters and it does not make sense
1175       to generate them from strong random).  The real secret is the x value
1176       which is still generated from strong (okay: /dev/random) random bits.
1177
1178     * added option "--status-fd": see g10/OPTIONS
1179
1180     * We have secure memory on systems which support mlock().
1181       It is not complete yet, because we do not have signal handler
1182       which does a cleanup in very case.
1183       We should also check the ulimit for the user in the case
1184       that the admin does not have set a limit on locked pages.
1185
1186     * started with internationalization support.
1187
1188     * The logic to handle the web of trust is now implemented. It is
1189       has some bugs; but I'm going to change the algorithm anyway.
1190       It works by calculating the trustlevel on the fly.  It may ask
1191       you to provide trust parameters if the calculated trust probability
1192       is too low.  I will write a paper which discusses this new approach.
1193
1194     * a couple of changes to the configure script.
1195
1196     * New option "--quick-random" which uses a much quicker random
1197       number generator.  Keys generated while this option is in effect
1198       are flags with "INSECURE!" in the user-id.  This is a development
1199       only option.
1200
1201     * Read support for new version packets (OpenPGP).
1202
1203     * Comment packets are now of correct OpenPGP type 16. Old comment
1204       packets written by G10 are detected because they always start with
1205       a hash which is an invalid version byte.
1206
1207     * The string "(INSECURE!)" is appended to a new user-id if this
1208       is generated on a system without a good random number generator.
1209
1210
1211 Copyright 1998, 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
1212
1213 This file is free software; as a special exception the author gives
1214 unlimited permission to copy and/or distribute it, with or without
1215 modifications, as long as this notice is preserved.
1216
1217 This file is distributed in the hope that it will be useful, but
1218 WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
1219 implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.