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