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