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