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