g10: Fix memory leak.
[gnupg.git] / NEWS
1 Noteworthy changes in version 2.1.14 (unreleased)
2 -------------------------------------------------
3
4
5 Noteworthy changes in version 2.1.13 (2016-06-16)
6 -------------------------------------------------
7
8  * gpg: New command --quick-addkey.  Extend the --quick-gen-key
9    command.
10
11  * gpg: New --keyid-format "none" which is now also the default.
12
13  * gpg: New option --with-subkey-fingerprint.
14
15  * gpg: Include Signer's UID subpacket in signatures if the secret key
16    has been specified using a mail address and the new option
17    --disable-signer-uid is not used.
18
19  * gpg: Allow unattended deletion of a secret key.
20
21  * gpg: Allow export of non-passphrase protected secret keys.
22
23  * gpg: New status lines KEY_CONSIDERED and NOTATION_FLAGS.
24
25  * gpg: Change status line TOFU_STATS_LONG to use '~' as
26    a non-breaking-space character.
27
28  * gpg: Speedup key listings in Tofu mode.
29
30  * gpg: Make sure that the current and total values of a PROGRESS
31    status line are small enough.
32
33  * gpgsm: Allow the use of AES192 and SERPENT ciphers.
34
35  * dirmngr: Adjust WKD lookup to current specs.
36
37  * dirmngr: Fallback to LDAP v3 if v2 is is not supported.
38
39  * gpgconf: New commands --create-socketdir and --remove-socketdir,
40    new option --homedir.
41
42  * If a /run/user/$UID directory exists, that directory is now used
43    for IPC sockets instead of the GNUPGHOME directory.  This fixes
44    problems with NFS and too long socket names and thus avoids the
45    need for redirection files.
46
47  * The Speedo build systems now uses the new versions.gnupg.org server
48    to retrieve the default package versions.
49
50  * Fix detection of libusb on FreeBSD.
51
52  * Speedup fd closing after a fork.
53
54
55 Noteworthy changes in version 2.1.12 (2016-05-04)
56 -------------------------------------------------
57
58  * gpg: New --edit-key sub-command "change-usage" for testing
59    purposes.
60
61  * gpg: Out of order key-signatures are now systematically detected
62    and fixed by --edit-key.
63
64  * gpg: Improved detection of non-armored messages.
65
66  * gpg: Removed the extra prompt needed to create Curve25519 keys.
67
68  * gpg: Improved user ID selection for --quick-sign-key.
69
70  * gpg: Use the root CAs provided by the system with --fetch-key.
71
72  * gpg: Add support for the experimental Web Key Directory key
73    location service.
74
75  * gpg: Improve formatting of Tofu messages and emit new Tofu specific
76    status lines.
77
78  * gpgsm: Add option --pinentry-mode to support a loopback pinentry.
79
80  * gpgsm: A new pubring.kbx is now created with the header blob so
81    that gpg can detect that the keybox format needs to be used.
82
83  * agent: Add read support for the new private key protection format
84    openpgp-s2k-ocb-aes.
85
86  * agent: Add read support for the new extended private key format.
87
88  * agent: Default to --allow-loopback-pinentry and add option
89    --no-allow-loopback-pinentry.
90
91  * scd: Changed to use the new libusb 1.0 API for the internal CCID
92    driver.
93
94  * dirmngr: The dirmngr-client does now auto-detect the PEM format.
95
96  * g13: Add experimental support for dm-crypt.
97
98  * w32: Tofu support is now available with the Speedo build method.
99
100  * w32: Removed the need for libiconv.dll.
101
102  * The man pages for gpg and gpgv are now installed under the correct
103    name (gpg2 or gpg - depending on a configure option).
104
105  * Lots of internal cleanups and bug fixes.
106
107
108 Noteworthy changes in version 2.1.11 (2016-01-26)
109 -------------------------------------------------
110
111  * gpg: New command --export-ssh-key to replace the gpgkey2ssh tool.
112
113  * gpg: Allow to generate mail address only keys with --gen-key.
114
115  * gpg: "--list-options show-usage" is now the default.
116
117  * gpg: Make lookup of DNS CERT records holding an URL work.
118
119  * gpg: Emit PROGRESS status lines during key generation.
120
121  * gpg: Don't check for ambigious or non-matching key specification in
122    the config file or given to --encrypt-to.  This feature will return
123    in 2.3.x.
124
125  * gpg: Lock keybox files while updating them.
126
127  * gpg: Solve rare error on Windows during keyring and Keybox updates.
128
129  * gpg: Fix possible keyring corruption. (bug#2193)
130
131  * gpg: Fix regression of "bkuptocard" sub-command in --edit-key and
132    remove "checkbkupkey" sub-command introduced with 2.1.  (bug#2169)
133
134  * gpg: Fix internal error in gpgv when using default keyid-format.
135
136  * gpg: Fix --auto-key-retrieve to work with dirmngr.conf configured
137    keyservers. (bug#2147).
138
139  * agent: New option --pinentry-timeout.
140
141  * scd: Improve unplugging of USB readers under Windows.
142
143  * scd: Fix regression for generating RSA keys on card.
144
145  * dirmmgr: All configured keyservers are now searched.
146
147  * dirmngr: Install CA certificate for hkps.pool.sks-keyservers.net.
148    Use this certiticate even if --hkp-cacert is not used.
149
150  * gpgtar: Add actual encryption code.  gpgtar does now fully replace
151    gpg-zip.
152
153  * gpgtar: Fix filename encoding problem on Windows.
154
155  * Print a warning if a GnuPG component is using an older version of
156    gpg-agent, dirmngr, or scdaemon.
157
158
159 Noteworthy changes in version 2.1.10 (2015-12-04)
160 -------------------------------------------------
161
162  * gpg: New trust models "tofu" and "tofu+pgp".
163
164  * gpg: New command --tofu-policy.  New options --tofu-default-policy
165    and --tofu-db-format.
166
167  * gpg: New option --weak-digest to specify hash algorithms which
168    should be considered weak.
169
170  * gpg: Allow the use of multiple --default-key options; take the last
171    available key.
172
173  * gpg: New option --encrypt-to-default-key.
174
175  * gpg: New option --unwrap to only strip the encryption layer.
176
177  * gpg: New option --only-sign-text-ids to exclude photo IDs from key
178    signing.
179
180  * gpg: Check for ambigious or non-matching key specification in the
181    config file or given to --encrypt-to.
182
183  * gpg: Show the used card reader with --card-status.
184
185  * gpg: Print export statistics and an EXPORTED status line.
186
187  * gpg: Allow selecting subkeys by keyid in --edit-key.
188
189  * gpg: Allow updating the expiration time of multiple subkeys at
190    once.
191
192  * dirmngr: New option --use-tor.  For full support this requires
193    libassuan version 2.4.2 and a patched version of libadns
194    (e.g. adns-1.4-g10-7 as used by the standard Windows installer).
195
196  * dirmngr: New option --nameserver to specify the nameserver used in
197    Tor mode.
198
199  * dirmngr: Keyservers may again be specified by IP address.
200
201  * dirmngr: Fixed problems in resolving keyserver pools.
202
203  * dirmngr: Fixed handling of premature termination of TLS streams so
204    that large numbers of keys can be refreshed via hkps.
205
206  * gpg: Fixed a regression in --locate-key [since 2.1.9].
207
208  * gpg: Fixed another bug for keyrings with legacy keys.
209
210  * gpgsm: Allow combinations of usage flags in --gen-key.
211
212  * Make tilde expansion work with most options.
213
214  * Many other cleanups and bug fixes.
215
216
217 Noteworthy changes in version 2.1.9 (2015-10-09)
218 ------------------------------------------------
219
220  * gpg: Allow fetching keys via OpenPGP DANE (--auto-key-locate).  New
221    option --print-dane-records.
222
223  * gpg: Fix for a problem with PGP-2 keys in a keyring.
224
225  * gpg: Fail with an error instead of a warning if a modern cipher
226    algorithm is used without a MDC.
227
228  * agent: New option --pinentry-invisible-char.
229
230  * agent: Always do a RSA signature verification after creation.
231
232  * agent: Fix a regression in ssh-add-ing Ed25519 keys.
233
234  * agent: Fix ssh fingerprint computation for nistp384 and EdDSA.
235
236  * agent: Fix crash during passprase entry on some platforms.
237
238  * scd: Change timeout to fix problems with some 2.1 cards.
239
240  * dirmngr: Displayed name is now Key Acquirer.
241
242  * dirmngr: Add option --keyserver.  Deprecate that option for gpg.
243    Install a dirmngr.conf file from a skeleton for new installations.
244
245
246 Noteworthy changes in version 2.1.8 (2015-09-10)
247 ------------------------------------------------
248
249  * gpg: Sending very large keys to the keyservers works again.
250
251  * gpg: Validity strings in key listings are now again translatable.
252
253  * gpg: Emit FAILURE status lines to help GPGME.
254
255  * gpg: Does not anymore link to Libksba to reduce dependencies.
256
257  * gpgsm: Export of secret keys via Assuan is now possible.
258
259  * agent: Raise the maximum passphrase length from 100 to 255 bytes.
260
261  * agent: Fix regression using EdDSA keys with ssh.
262
263  * Does not anymore use a build timestamp by default.
264
265  * The fallback encoding for broken locale settings changed
266    from Latin-1 to UTF-8.
267
268  * Many code cleanups and improved internal documentation.
269
270  * Various minor bug fixes.
271
272
273 Noteworthy changes in version 2.1.7 (2015-08-11)
274 ------------------------------------------------
275
276  * gpg: Support encryption with Curve25519 if Libgcrypt 1.7 is used.
277
278  * gpg: In the --edit-key menu: Removed the need for "toggle", changed
279    how secret keys are indicated, new commands "fpr *" and "grip".
280
281  * gpg: More fixes related to legacy keys in a keyring.
282
283  * gpgv: Does now also work with a "trustedkeys.kbx" file.
284
285  * scd: Support some feature from the OpenPGP card 3.0 specs.
286
287  * scd: Improved ECC support
288
289  * agent: New option --force for the DELETE_KEY command.
290
291  * w32: Look for the Pinentry at more places.
292
293  * Dropped deprecated gpgsm-gencert.sh
294
295  * Various other bug fixes.
296
297
298 Noteworthy changes in version 2.1.6 (2015-07-01)
299 ------------------------------------------------
300
301  * agent: New option --verify for the PASSWD command.
302
303  * gpgsm: Add command option "offline" as an alternative to
304    --disable-dirmngr.
305
306  * gpg: Do not prompt multiple times for a password in pinentry
307    loopback mode.
308
309  * Allow the use of debug category names with --debug.
310
311  * Using gpg-agent and gpg/gpgsm with different locales will now show
312    the correct translations in Pinentry.
313
314  * gpg: Improve speed of --list-sigs and --check-sigs.
315
316  * gpg: Make --list-options show-sig-subpackets work again.
317
318  * gpg: Fix an export problem for old keyrings with PGP-2 keys.
319
320  * scd: Support PIN-pads on more readers.
321
322  * dirmngr: Properly cleanup zombie LDAP helper processes and avoid
323    hangs on dirmngr shutdown.
324
325  * Various other bug fixes.
326
327
328 Noteworthy changes in version 2.1.5 (2015-06-11)
329 ------------------------------------------------
330
331  * Support for an external passphrase cache.
332
333  * Support for the forthcoming version 3 OpenPGP smartcard.
334
335  * Manuals now show the actual used file names.
336
337  * Prepared for improved integration with Emacs.
338
339  * Code cleanups and minor bug fixes.
340
341
342 Noteworthy changes in version 2.1.4 (2015-05-12)
343 ------------------------------------------------
344
345  * gpg: Add command --quick-adduid to non-interactively add a new user
346    id to an existing key.
347
348  * gpg: Do no enable honor-keyserver-url by default.  Make it work if
349    enabled.
350
351  * gpg: Display the serial number in the --card-status output again.
352
353  * agent: Support for external password managers.
354    Add option --no-allow-external-cache.
355
356  * scdaemon: Improved handling of extended APDUs.
357
358  * Make HTTP proxies work again.
359
360  * All network access including DNS as been moved to Dirmngr.
361
362  * Allow building without LDAP support.
363
364  * Fixed lots of smaller bugs.
365
366
367 Noteworthy changes in version 2.1.3 (2015-04-11)
368 ------------------------------------------------
369
370  * gpg: LDAP keyservers are now supported by 2.1.
371
372  * gpg: New option --with-icao-spelling.
373
374  * gpg: New option --print-pka-records.  Changed the PKA method to use
375    CERT records and hashed names.
376
377  * gpg: New command --list-gcrypt-config.  New parameter "curve"
378    for --list-config.
379
380  * gpg: Print a NEWSIG status line like gpgsm always did.
381
382  * gpg: Print MPI values with --list-packets and --verbose.
383
384  * gpg: Write correct MPI lengths with ECC keys.
385
386  * gpg: Skip legacy PGP-2 keys while searching.
387
388  * gpg: Improved searching for mail addresses when using a keybox.
389
390  * gpgsm: Changed default algos to AES-128 and SHA-256.
391
392  * gpgtar: Fixed extracting files with sizes of a multiple of 512.
393
394  * dirmngr: Fixed SNI handling for hkps pools.
395
396  * dirmngr: extra-certs and trusted-certs are now always loaded from
397    the sysconfig dir instead of the homedir.
398
399  * Fixed possible problems due to compiler optimization, two minor
400    regressions, and other bugs.
401
402
403 Noteworthy changes in version 2.1.2 (2015-02-11)
404 ------------------------------------------------
405
406  * gpg: The parameter 'Passphrase' for batch key generation works
407    again.
408
409  * gpg: Using a passphrase option in batch mode now has the expected
410    effect on --quick-gen-key.
411
412  * gpg: Improved reporting of unsupported PGP-2 keys.
413
414  * gpg: Added support for algo names when generating keys using
415    --command-fd.
416
417  * gpg: Fixed DoS based on bogus and overlong key packets.
418
419  * agent: When setting --default-cache-ttl the value
420    for --max-cache-ttl is adjusted to be not lower than the former.
421
422  * agent: Fixed problems with the new --extra-socket.
423
424  * agent: Made --allow-loopback-pinentry changeable with gpgconf.
425
426  * agent: Fixed importing of unprotected openpgp keys.
427
428  * agent: Now tries to use a fallback pinentry if the standard
429    pinentry is not installed.
430
431  * scd: Added support for ECDH.
432
433  * Fixed several bugs related to bogus keyrings and improved some
434    other code.
435
436
437 Noteworthy changes in version 2.1.1 (2014-12-16)
438 ------------------------------------------------
439
440  * gpg: Detect faulty use of --verify on detached signatures.
441
442  * gpg: New import option "keep-ownertrust".
443
444  * gpg: New sub-command "factory-reset" for --card-edit.
445
446  * gpg: A stub key for smartcards is now created by --card-status.
447
448  * gpg: Fixed regression in --refresh-keys.
449
450  * gpg: Fixed regresion in %g and %p codes for --sig-notation.
451
452  * gpg: Fixed best matching hash algo detection for ECDSA and EdDSA.
453
454  * gpg: Improved perceived speed of secret key listisngs.
455
456  * gpg: Print number of skipped PGP-2 keys on import.
457
458  * gpg: Removed the option aliases --throw-keyid and --notation-data;
459    use --throw-keyids and --set-notation instead.
460
461  * gpg: New import option "keep-ownertrust".
462
463  * gpg: Skip too large keys during import.
464
465  * gpg,gpgsm: New option --no-autostart to avoid starting gpg-agent or
466    dirmngr.
467
468  * gpg-agent: New option --extra-socket to provide a restricted
469    command set for use with remote clients.
470
471  * gpgconf --kill does not anymore start a service only to kill it.
472
473  * gpg-pconnect-agent: Add convenience option --uiserver.
474
475  * Fixed keyserver access for Windows.
476
477  * Fixed build problems on Mac OS X
478
479  * The Windows installer does now install development files
480
481  * More translations (but most of them are not complete).
482
483  * To support remotely mounted home directories, the IPC sockets may
484    now be redirected.  This feature requires Libassuan 2.2.0.
485
486  * Improved portability and the usual bunch of bug fixes.
487
488
489 Noteworthy changes in version 2.1.0 (2014-11-06)
490 ------------------------------------------------
491
492  This release introduces a lot of changes.  Most of them are internal
493  and thus not user visible.  However, some long standing behavior has
494  slightly changed and it is strongly suggested that an existing
495  "~/.gnupg" directory is backed up before this version is used.
496
497  A verbose description of the major new features and changes can be
498  found in the file doc/whats-new-in-2.1.txt.
499
500  * gpg: All support for v3 (PGP 2) keys has been dropped.  All
501    signatures are now created as v4 signatures.  v3 keys will be
502    removed from the keyring.
503
504  * gpg: With pinentry-0.9.0 the passphrase "enter again" prompt shows
505    up in the same window as the "new passphrase" prompt.
506
507  * gpg: Allow importing keys with duplicated long key ids.
508
509  * dirmngr: May now be build without support for LDAP.
510
511  * For a complete list of changes see the lists of changes for the
512    2.1.0 beta versions below.  Note that all relevant fixes from
513    versions 2.0.14 to 2.0.26 are also applied to this version.
514
515
516  [Noteworthy changes in version 2.1.0-beta864 (2014-10-03)]
517
518  * gpg: Removed the GPG_AGENT_INFO related code.  GnuPG does now
519    always use a fixed socket name in its home directory.
520
521  * gpg: Renamed --gen-key to --full-gen-key and re-added a --gen-key
522    command with less choices.
523
524  * gpg: Use SHA-256 for all signature types also on RSA keys.
525
526  * gpg: Default keyring is now created with a .kbx suffix.
527
528  * gpg: Add a shortcut to the key capabilies menu (e.g. "=e" sets the
529    encryption capabilities).
530
531  * gpg: Fixed obsolete options parsing.
532
533  * Further improvements for the alternative speedo build system.
534
535
536  [Noteworthy changes in version 2.1.0-beta834 (2014-09-18)]
537
538  * gpg: Improved passphrase caching.
539
540  * gpg: Switched to algorithm number 22 for EdDSA.
541
542  * gpg: Removed CAST5 from the default preferences.
543
544  * gpg: Order SHA-1 last in the hash preferences.
545
546  * gpg: Changed default cipher for --symmetric to AES-128.
547
548  * gpg: Fixed export of ECC keys and import of EdDSA keys.
549
550  * dirmngr: Fixed the KS_FETCH command.
551
552  * The speedo build system now downloads related packages and works
553    for non-Windows platforms.
554
555
556  [Noteworthy changes in version 2.1.0-beta783 (2014-08-14)]
557
558  * gpg: Add command --quick-gen-key.
559
560  * gpg: Make --quick-sign-key promote local key signatures.
561
562  * gpg: Added "show-usage" sub-option to --list-options.
563
564  * gpg: Screen keyserver responses to avoid importing unwanted keys
565    from rogue servers.
566
567  * gpg: Removed the option --pgp2 and --rfc1991 and the ability to
568    create PGP-2 compatible messages.
569
570  * gpg: Removed options --compress-keys and --compress-sigs.
571
572  * gpg: Cap attribute packets at 16MB.
573
574  * gpg: Improved output of --list-packets.
575
576  * gpg: Make with-colons output of --search-keys work again.
577
578  * gpgsm: Auto-create the ".gnupg" directory like gpg does.
579
580  * agent: Fold new passphrase warning prompts into one.
581
582  * scdaemon: Add support for the Smartcard-HSM card.
583
584  * scdaemon: Remove the use of the pcsc-wrapper.
585
586
587  [Noteworthy changes in version 2.1.0-beta751 (2014-07-03)]
588
589  * gpg: Create revocation certificates during key generation.
590
591  * gpg: Create exported secret keys and revocation certifciates with
592    mode 0700
593
594  * gpg: The validity of user ids is now shown by default.  To revert
595    this add "list-options no-show-uid-validity" to gpg.conf.
596
597  * gpg: Make export of secret keys work again.
598
599  * gpg: The output of --list-packets does now print the offset of the
600    packet and information about the packet header.
601
602  * gpg: Avoid DoS due to garbled compressed data packets. [CVE-2014-4617]
603
604  * gpg: Print more specific reason codes with the INV_RECP status.
605
606  * gpg: Cap RSA and Elgamal keysize at 4096 bit also for unattended
607    key generation.
608
609  * scdaemon: Support reader Gemalto IDBridge CT30 and pinpad of SCT
610    cyberJack go.
611
612  * The speedo build system has been improved.  It is now also possible
613    to build a partly working installer for Windows.
614
615
616  [Noteworthy changes in version 2.1.0-beta442 (2014-06-05)]
617
618  * gpg: Changed the format of key listings.  To revert to the old
619    format the option --legacy-list-mode is available.
620
621  * gpg: Add experimental signature support using curve Ed25519 and
622    with a patched Libgcrypt also encryption support with Curve25519.
623    [Update: this encryption support has been removed from 2.1.0 until
624    we have agreed on a suitable format.]
625
626  * gpg: Allow use of Brainpool curves.
627
628  * gpg: Accepts a space separated fingerprint as user ID.  This
629    allows to copy and paste the fingerprint from the key listing.
630
631  * gpg: The hash algorithm is now printed for signature records in key
632    listings.
633
634  * gpg: Reject signatures made using the MD5 hash algorithm unless the
635    new option --allow-weak-digest-algos or --pgp2 are given.
636
637  * gpg: Print a warning if the Gnome-Keyring-Daemon intercepts the
638    communication with the gpg-agent.
639
640  * gpg: New option --pinentry-mode.
641
642  * gpg: Fixed decryption using an OpenPGP card.
643
644  * gpg: Fixed bug with deeply nested compressed packets.
645
646  * gpg: Only the major version number is by default included in the
647    armored output.
648
649  * gpg: Do not create a trustdb file if --trust-model=always is used.
650
651  * gpg: Protect against rogue keyservers sending secret keys.
652
653  * gpg: The format of the fallback key listing ("gpg KEYFILE") is now
654    more aligned to the regular key listing ("gpg -k").
655
656  * gpg: The option--show-session-key prints its output now before the
657    decryption of the bulk message starts.
658
659  * gpg: New %U expando for the photo viewer.
660
661  * gpg,gpgsm: New option --with-secret.
662
663  * gpgsm: By default the users are now asked via the Pinentry whether
664    they trust an X.509 root key.  To prohibit interactive marking of
665    such keys, the new option --no-allow-mark-trusted may be used.
666
667  * gpgsm: New commands to export a secret RSA key in PKCS#1 or PKCS#8
668    format.
669
670  * gpgsm: Improved handling of re-issued CA certificates.
671
672  * agent: The included ssh agent does now support ECDSA keys.
673
674  * agent: New option --enable-putty-support to allow gpg-agent on
675    Windows to act as a Pageant replacement with full smartcard support.
676
677  * scdaemon: New option --enable-pinpad-varlen.
678
679  * scdaemon: Various fixes for pinpad equipped card readers.
680
681  * scdaemon: Rename option --disable-pinpad (was --disable-keypad).
682
683  * scdaemon: Better support fo CCID readers.  Now, internal CCID
684    driver supports readers with no auto configuration feature.
685
686  * dirmngr: Removed support for the original HKP keyserver which is
687    not anymore used by any site.
688
689  * dirmngr: Improved support for keyserver pools.
690
691  * tools: New option --dirmngr for gpg-connect-agent.
692
693  * The GNU Pth library has been replaced by the new nPth library.
694
695  * Support installation as portable application under Windows.
696
697  * All kind of other improvements - see the git log.
698
699
700  [Noteworthy changes in version 2.1.0beta3 (2011-12-20)]
701
702  * gpg: Fixed regression in the secret key export function.
703
704  * gpg: Allow generation of card keys up to 4096 bit.
705
706  * gpgsm: Preliminary support for the validation model "steed".
707
708  * gpgsm: Improved certificate creation.
709
710  * agent: Support the SSH confirm flag.
711
712  * agent: New option to select a passphrase mode.  The loopback
713    mode may be used to bypass Pinentry.
714
715  * agent: The Assuan commands KILLAGENT and KILLSCD are working again.
716
717  * scdaemon: Does not anymore block after changing a card (regression
718    fix).
719
720  * tools: gpg-connect-agent does now proberly display the help output
721    for "SCD HELP" commands.
722
723
724  [Noteworthy changes in version 2.1.0beta2 (2011-03-08)]
725
726  * gpg: ECC support as described by draft-jivsov-openpgp-ecc-06.txt
727    [Update: now known as RFC-6637].
728
729  * gpg: Print "AES128" instead of "AES".  This change introduces a
730    little incompatibility for tools using "gpg --list-config".  We
731    hope that these tools are written robust enough to accept this new
732    algorithm name as well.
733
734  * gpgsm: New feature to create certificates from a parameter file.
735    Add prompt to the --gen-key UI to create self-signed certificates.
736
737  * agent: TMPDIR is now also honored when creating a socket using
738    the --no-standard-socket option and with symcryptrun's temp files.
739
740  * scdaemon: Fixed a bug where scdaemon sends a signal to gpg-agent
741    running in non-daemon mode.
742
743  * dirmngr: Fixed CRL loading under W32 (bug#1010).
744
745  * Dirmngr has taken over the function of the keyserver helpers.  Thus
746    we now have a specified direct interface to keyservers via Dirmngr.
747    LDAP, DNS and mail backends are not yet implemented.
748
749  * Fixed TTY management for pinentries and session variable update
750    problem.
751
752
753  [Noteworthy changes in version 2.1.0beta1 (2010-10-26)]
754
755  * gpg: secring.gpg is not anymore used but all secret key operations
756    are delegated to gpg-agent.  The import command moves secret keys
757    to the agent.
758
759  * gpg: The OpenPGP import command is now able to merge secret keys.
760
761  * gpg: Encrypted OpenPGP messages with trailing data (e.g. other
762    OpenPGP packets) are now correctly parsed.
763
764  * gpg: Given sufficient permissions Dirmngr is started automagically.
765
766  * gpg: Fixed output of "gpgconf --check-options".
767
768  * gpg: Removed options --export-options(export-secret-subkey-passwd)
769    and --simple-sk-checksum.
770
771  * gpg: New options --try-secret-key.
772
773  * gpg: Support DNS lookups for SRV, PKA and CERT on W32.
774
775  * gpgsm: The --audit-log feature is now more complete.
776
777  * gpgsm: The default for --include-cert is now to include all
778    certificates in the chain except for the root certificate.
779
780  * gpgsm: New option --ignore-cert-extension.
781
782  * g13: The G13 tool for disk encryption key management has been
783    added.
784
785  * agent: If the agent's --use-standard-socket option is active, all
786    tools try to start and daemonize the agent on the fly.  In the past
787    this was only supported on W32; on non-W32 systems the new
788    configure option --disable-standard-socket may now be used to
789    disable this new default.
790
791  * agent: New and changed passphrases are now created with an
792    iteration count requiring about 100ms of CPU work.
793
794  * dirmngr: Dirmngr is now a part of this package.  It is now also
795    expected to run as a system service and the configuration
796    directories are changed to the GnuPG name space. [Update: 2.1.0
797    starts dirmngr on demand as user daemon.]
798
799  * Support for Windows CE. [Update: This has not been tested for the
800    2.1.0 release]
801
802  * Numerical values may now be used as an alternative to the
803    debug-level keywords.
804
805
806 Version 2.0.28 (2015-06-02)
807 Version 2.0.27 (2015-02-18)
808 Version 2.0.26 (2014-08-12)
809 Version 2.0.25 (2014-06-30)
810 Version 2.0.24 (2014-06-24)
811 Version 2.0.23 (2014-06-03)
812 Version 2.0.22 (2013-10-04)
813 Version 2.0.21 (2013-08-19)
814 Version 2.0.20 (2013-05-10)
815 Version 2.0.19 (2012-03-27)
816 Version 2.0.18 (2011-08-04)
817 Version 2.0.17 (2011-01-13)
818 Version 2.0.16 (2010-07-19)
819 Version 2.0.15 (2010-03-09)
820 Version 2.0.14 (2009-12-21)
821
822
823 Noteworthy changes in version 2.0.13 (2009-09-04)
824 -------------------------------------------------
825
826  * GPG now generates 2048 bit RSA keys by default.  The default hash
827    algorithm preferences has changed to prefer SHA-256 over SHA-1.
828    2048 bit DSA keys are now generated to use a 256 bit hash algorithm
829
830  * The envvars XMODIFIERS, GTK_IM_MODULE and QT_IM_MODULE are now
831    passed to the Pinentry to make SCIM work.
832
833  * The GPGSM command --gen-key features a --batch mode and implements
834    all features of gpgsm-gencert.sh in standard mode.
835
836  * New option --re-import for GPGSM's IMPORT server command.
837
838  * Enhanced writing of existing keys to OpenPGP v2 cards.
839
840  * Add hack to the internal CCID driver to allow the use of some
841    Omnikey based card readers with 2048 bit keys.
842
843  * GPG now repeatly asks the user to insert the requested OpenPGP
844    card.  This can be disabled with --limit-card-insert-tries=1.
845
846  * Minor bug fixes.
847
848
849 Noteworthy changes in version 2.0.12 (2009-06-17)
850 -------------------------------------------------
851
852  * GPGSM now always lists ephemeral certificates if specified by
853    fingerprint or keygrip.
854
855  * New command "KEYINFO" for GPG_AGENT.  GPGSM now also returns
856    information about smartcards.
857
858  * Made sure not to leak file descriptors if running gpg-agent with a
859    command.  Restore the signal mask to solve a problem in Mono.
860
861  * Changed order of the confirmation questions for root certificates
862    and store negative answers in trustlist.txt.
863
864  * Better synchronization of concurrent smartcard sessions.
865
866  * Support 2048 bit OpenPGP cards.
867
868  * Support Telesec Netkey 3 cards.
869
870  * The gpg-protect-tool now uses gpg-agent via libassuan.  Under
871    Windows the Pinentry will now be put into the foreground.
872
873  * Changed code to avoid a possible Mac OS X system freeze.
874
875
876 Noteworthy changes in version 2.0.11 (2009-03-03)
877 -------------------------------------------------
878
879  * Fixed a problem in SCDAEMON which caused unexpected card resets.
880
881  * SCDAEMON is now aware of the Geldkarte.
882
883  * The SCDAEMON option --allow-admin is now used by default.
884
885  * GPGCONF now restarts SCdaemon if necessary.
886
887  * The default cipher algorithm in GPGSM is now again 3DES.  This is
888    due to interoperability problems with Outlook 2003 which still
889    can't cope with AES.
890
891
892 Noteworthy changes in version 2.0.10 (2009-01-12)
893 -------------------------------------------------
894
895  * [gpg] New keyserver helper gpg2keys_kdns as generic DNS CERT
896    lookup.  Run with --help for a short description.  Requires the
897    ADNS library.
898
899  * [gpg] New mechanisms "local" and "nodefault" for --auto-key-locate.
900    Fixed a few problems with this option.
901
902  * [gpg] New command --locate-keys.
903
904  * [gpg] New options --with-sig-list and --with-sig-check.
905
906  * [gpg] The option "-sat" is no longer an alias for --clearsign.
907
908  * [gpg] The option --fixed-list-mode is now implicitly used and obsolete.
909
910  * [gpg] New control statement %ask-passphrase for the unattended key
911    generation.
912
913  * [gpg] The algorithm to compute the SIG_ID status has been changed.
914
915  * [gpgsm] Now uses AES by default.
916
917  * [gpgsm] Made --output option work with --export-secret-key-p12.
918
919  * [gpg-agent] Terminate process if the own listening socket is not
920    anymore served by ourself.
921
922  * [scdaemon] Made it more robust on W32.
923
924  * [gpg-connect-agent] Accept commands given as command line arguments.
925
926  * [w32] Initialized the socket subsystem for all keyserver helpers.
927
928  * [w32] The sysconf directory has been moved from a subdirectory of
929    the installation directory to %CSIDL_COMMON_APPDATA%/GNU/etc/gnupg.
930
931  * [w32] The gnupg2.nls directory is not anymore used.  The standard
932    locale directory is now used.
933
934  * [w32] Fixed a race condition between gpg and gpgsm in the use of
935    temporary file names.
936
937  * The gpg-preset-passphrase mechanism works again.  An arbitrary
938    string may now be used for a custom cache ID.
939
940  * Admin PINs are cached again (bug in 2.0.9).
941
942  * Support for version 2 OpenPGP cards.
943
944  * Libgcrypt 1.4 is now required.
945
946
947 Noteworthy changes in version 2.0.9 (2008-03-26)
948 ------------------------------------------------
949
950  * Gpgsm always tries to locate missing certificates from a running
951    Dirmngr's cache.
952
953  * Tweaks for Windows.
954
955  * The Admin PIN for OpenPGP cards may now be entered with the pinpad.
956
957  * Improved certificate chain construction.
958
959  * Extended the PKITS framework.
960
961  * Fixed a bug in the ambigious name detection.
962
963  * Fixed possible memory corruption while importing OpenPGP keys (bug
964    introduced with 2.0.8). [CVE-2008-1530]
965
966  * Minor bug fixes.
967
968
969 Noteworthy changes in version 2.0.8 (2007-12-20)
970 ------------------------------------------------
971
972  * Enhanced gpg-connect-agent with a small scripting language.
973
974  * New option --list-config for gpgconf.
975
976  * Fixed a crash in gpgconf.
977
978  * Gpg-agent now supports the passphrase quality bar of the latest
979    Pinentry.
980
981  * The envvars XAUTHORITY and PINENTRY_USER_DATA are now passed to the
982    Pinentry.
983
984  * Fixed the auto creation of the key stub for smartcards.
985
986  * Fixed a rare bug in decryption using the OpenPGP card.
987
988  * Creating DSA2 keys is now possible.
989
990  * New option --extra-digest-algo for gpgsm to allow verification of
991    broken signatures.
992
993  * Allow encryption with legacy Elgamal sign+encrypt keys with option
994    --rfc2440.
995
996  * Windows is now a supported platform.
997
998  * Made sure that under Windows the file permissions of the socket are
999    taken into account.  This required a change of our socket emulation
1000    code and changed the IPC protocol under Windows.
1001
1002
1003 Noteworthy changes in version 2.0.7 (2007-09-10)
1004 ------------------------------------------------
1005
1006  * Fixed encryption problem if duplicate certificates are in the
1007    keybox.
1008
1009  * Made it work on Windows Vista.  Note that the entire Windows port
1010    is still considered Beta.
1011
1012  * Add new options min-passphrase-nonalpha, check-passphrase-pattern,
1013    enforce-passphrase-constraints and max-passphrase-days to
1014    gpg-agent.
1015
1016  * Add command --check-components to gpgconf.  Gpgconf now uses the
1017    installed versions of the programs and does not anymore search via
1018    PATH for them.
1019
1020
1021 Noteworthy changes in version 2.0.6 (2007-08-16)
1022 ------------------------------------------------
1023
1024  * GPGSM does now grok --default-key.
1025
1026  * GPGCONF is now aware of --default-key and --encrypt-to.
1027
1028  * GPGSM does again correctly print the serial number as well the the
1029    various keyids.  This was broken since 2.0.4.
1030
1031  * New option --validation-model and support for the chain-model.
1032
1033  * Improved Windows support.
1034
1035
1036 Noteworthy changes in version 2.0.5 (2007-07-05)
1037 ------------------------------------------------
1038
1039  * Switched license to GPLv3.
1040
1041  * Basic support for Windows.  Run "./autogen.sh --build-w32" to build
1042    it.  As usual the mingw cross compiling toolchain is required.
1043
1044  * Fixed bug when using the --p12-charset without --armor.
1045
1046  * The command --gen-key may now be used instead of the
1047    gpgsm-gencert.sh script.
1048
1049  * Changed key generation to reveal less information about the
1050    machine.  Bug fixes for gpg2's card key generation.
1051
1052
1053 Noteworthy changes in version 2.0.4 (2007-05-09)
1054 ------------------------------------------------
1055
1056  * The server mode key listing commands are now also working for
1057    systems without the funopen/fopencookie API.
1058
1059  * PKCS#12 import now tries several encodings in case the passphrase
1060    was not utf-8 encoded.  New option --p12-charset for gpgsm.
1061
1062  * Improved the libgcrypt logging support in all modules.
1063
1064
1065 Noteworthy changes in version 2.0.3 (2007-03-08)
1066 ------------------------------------------------
1067
1068  * By default, do not allow processing multiple plaintexts in a single
1069    stream.  Many programs that called GnuPG were assuming that GnuPG
1070    did not permit this, and were thus not using the plaintext boundary
1071    status tags that GnuPG provides.  This change makes GnuPG reject
1072    such messages by default which makes those programs safe again.
1073    --allow-multiple-messages returns to the old behavior. [CVE-2007-1263].
1074
1075  * New --verify-option show-primary-uid-only.
1076
1077  * gpgconf may now reads a global configuration file to select which
1078    options are changeable by a frontend.  The new applygnupgdefaults
1079    tool may be used by an admin to set default options for all users.
1080
1081  * The PIN pad of the Cherry XX44 keyboard is now supported.  The
1082    DINSIG and the NKS applications are now also aware of PIN pads.
1083
1084
1085 Noteworthy changes in version 2.0.2 (2007-01-31)
1086 ------------------------------------------------
1087
1088  * Fixed a serious and exploitable bug in processing encrypted
1089    packages. [CVE-2006-6235].
1090
1091  * Added --passphrase-repeat to set the number of times GPG will
1092    prompt for a new passphrase to be repeated.  This is useful to help
1093    memorize a new passphrase.  The default is 1 repetition.
1094
1095  * Using a PIN pad does now also work for the signing key.
1096
1097  * A warning is displayed by gpg-agent if a new passphrase is too
1098    short.  New option --min-passphrase-len defaults to 8.
1099
1100  * The status code BEGIN_SIGNING now shows the used hash algorithms.
1101
1102
1103 Noteworthy changes in version 2.0.1 (2006-11-28)
1104 ------------------------------------------------
1105
1106  * Experimental support for the PIN pads of the SPR 532 and the Kaan
1107    Advanced card readers.  Add "disable-keypad" scdaemon.conf if you
1108    don't want it.  Does currently only work for the OpenPGP card and
1109    its authentication and decrypt keys.
1110
1111  * Fixed build problems on some some platforms and crashes on amd64.
1112
1113  * Fixed a buffer overflow in gpg2. [bug#728,CVE-2006-6169]
1114
1115
1116 Noteworthy changes in version 2.0.0 (2006-11-11)
1117 ------------------------------------------------
1118
1119  * First stable version of a GnuPG integrating OpenPGP and S/MIME.
1120
1121
1122 Noteworthy changes in version 1.9.95 (2006-11-06)
1123 -------------------------------------------------
1124
1125  * Minor bug fixes.
1126
1127
1128 Noteworthy changes in version 1.9.94 (2006-10-24)
1129 -------------------------------------------------
1130
1131  * Keys for gpgsm may now be specified using a keygrip.  A keygrip is
1132    indicated by a prefixing it with an ampersand.
1133
1134  * gpgconf now supports switching the CMS cipher algo (e.g. to AES).
1135
1136  * New command --gpgconf-test for all major tools. This may be used to
1137    check whether the configuration file is sane.
1138
1139
1140 Noteworthy changes in version 1.9.93 (2006-10-18)
1141 -------------------------------------------------
1142
1143  * In --with-validation mode gpgsm will now also ask whether a root
1144    certificate should be trusted.
1145
1146  * Link to Pth only if really necessary.
1147
1148  * Fixed a pubring corruption bug in gpg2 occurring when importing
1149    signatures or keys with insane lengths.
1150
1151  * Fixed v3 keyID calculation bug in gpg2.
1152
1153  * More tweaks for certificates without extensions.
1154
1155
1156 Noteworthy changes in version 1.9.92 (2006-10-11)
1157 -------------------------------------------------
1158
1159  * Bug fixes.
1160
1161
1162 Noteworthy changes in version 1.9.91 (2006-10-04)
1163 -------------------------------------------------
1164
1165  * New "relax" flag for trustlist.txt to allow root CA certificates
1166    without BasicContraints.
1167
1168  * [gpg2] Removed the -k PGP 2 compatibility hack.  -k is now an
1169    alias for --list-keys.
1170
1171  * [gpg2] Print a warning if "-sat" is used instead of "--clearsign".
1172
1173
1174 Noteworthy changes in version 1.9.90 (2006-09-25)
1175 -------------------------------------------------
1176
1177  * Made readline work for gpg.
1178
1179  * Cleanups und minor bug fixes.
1180
1181  * Included translations from gnupg 1.4.5.
1182
1183
1184 Noteworthy changes in version 1.9.23 (2006-09-18)
1185 -------------------------------------------------
1186
1187  * Regular man pages for most tools are now build directly from the
1188    Texinfo source.
1189
1190  * The gpg code from 1.4.5 has been fully merged into this release.
1191    The configure option --enable-gpg is still required to build this
1192    gpg part.  For production use of OpenPGP the gpg version 1.4.5 is
1193    still recommended.  Note, that gpg will be installed under the name
1194    gpg2 to allow coexisting with an 1.4.x gpg.
1195
1196  * API change in gpg-agent's pkdecrypt command.  Thus an older gpgsm
1197    may not be used with the current gpg-agent.
1198
1199  * The scdaemon will now call a script on reader status changes.
1200
1201  * gpgsm now allows file descriptor passing for "INPUT", "OUTPUT" and
1202    "MESSAGE".
1203
1204  * The gpgsm server may now output a key listing to the output file
1205    handle. This needs to be enabled using "OPTION list-to-output=1".
1206
1207  * The --output option of gpgsm has now an effect on list-keys.
1208
1209  * New gpgsm commands --dump-chain and list-chain.
1210
1211  * gpg-connect-agent has new options to utilize descriptor passing.
1212
1213  * A global trustlist may now be used.  See doc/examples/trustlist.txt.
1214
1215  * When creating a new pubring.kbx keybox common certificates are
1216    imported.
1217
1218
1219 Noteworthy changes in version 1.9.22 (2006-07-27)
1220 -------------------------------------------------
1221
1222  * Enhanced pkcs#12 support to allow import from simple keyBags.
1223
1224  * Exporting to pkcs#12 now create bag attributes so that Mozilla is
1225    able to import the files.
1226
1227  * Fixed uploading of certain keys to the smart card.
1228
1229
1230 Noteworthy changes in version 1.9.21 (2006-06-20)
1231 -------------------------------------------------
1232
1233  * New command APDU for scdaemon to allow using it for general card
1234    access.  Might be used through gpg-connect-agent by using the SCD
1235    prefix command.
1236
1237  * Support for the CardMan 4040 PCMCIA reader (Linux 2.6.15 required).
1238
1239  * Scdaemon does not anymore reset cards at the end of a connection.
1240
1241  * Kludge to allow use of Bundesnetzagentur issued X.509 certificates.
1242
1243  * Added --hash=xxx option to scdaemon's PKSIGN command.
1244
1245  * Pkcs#12 files are now created with a MAC.  This is for better
1246    interoperability.
1247
1248  * Collected bug fixes and minor other changes.
1249
1250
1251 Noteworthy changes in version 1.9.20 (2005-12-20)
1252 -------------------------------------------------
1253
1254  * Importing pkcs#12 files created be recent versions of Mozilla works
1255    again.
1256
1257  * Basic support for qualified signatures.
1258
1259  * New debug tool gpgparsemail.
1260
1261
1262 Noteworthy changes in version 1.9.19 (2005-09-12)
1263 -------------------------------------------------
1264
1265  * The Belgian eID card is now supported for signatures and ssh.
1266    Other pkcs#15 cards should work as well.
1267
1268  * Fixed bug in --export-secret-key-p12 so that certificates are again
1269    included.
1270
1271
1272 Noteworthy changes in version 1.9.18 (2005-08-01)
1273 -------------------------------------------------
1274
1275  * [gpgsm] Now allows for more than one email address as well as URIs
1276    and dnsNames in certificate request generation.  A keygrip may be
1277    given to create a request from an existing key.
1278
1279  * A couple of minor bug fixes.
1280
1281
1282 Noteworthy changes in version 1.9.17 (2005-06-20)
1283 -------------------------------------------------
1284
1285  * gpg-connect-agent has now features to handle Assuan INQUIRE
1286    commands.
1287
1288  * Internal changes for OpenPGP cards. New Assuan command WRITEKEY.
1289
1290  * GNU Pth is now a hard requirement.
1291
1292  * [scdaemon] Support for OpenSC has been removed.  Instead a new and
1293    straightforward pkcs#15 modules has been written.  As of now it
1294    does allows only signing using TCOS cards but we are going to
1295    enhance it to match all the old capabilities.
1296
1297  * [gpg-agent] New option --write-env-file and Assuan command
1298    UPDATESTARTUPTTY.
1299
1300  * [gpg-agent] New option --default-cache-ttl-ssh to set the TTL for
1301    SSH passphrase caching independent from the other passphrases.
1302
1303
1304 Noteworthy changes in version 1.9.16 (2005-04-21)
1305 -------------------------------------------------
1306
1307  * gpg-agent does now support the ssh-agent protocol and thus allows
1308    to use the pinentry as well as the OpenPGP smartcard with ssh.
1309
1310  * New tool gpg-connect-agent as a general client for the gpg-agent.
1311
1312  * New tool symcryptrun as a wrapper for certain encryption tools.
1313
1314  * The gpg tool is not anymore build by default because those gpg
1315    versions available in the gnupg 1.4 series are far more matured.
1316
1317
1318 Noteworthy changes in version 1.9.15 (2005-01-13)
1319 -------------------------------------------------
1320
1321  * Fixed passphrase caching bug.
1322
1323  * Better support for CCID readers; the reader from Cherry RS 6700 USB
1324    does now work.
1325
1326
1327 Noteworthy changes in version 1.9.14 (2004-12-22)
1328 -------------------------------------------------
1329
1330  * [gpg-agent] New option --use-standard-socket to allow the use of a
1331    fixed socket.  gpgsm falls back to this socket if GPG_AGENT_INFO
1332    has not been set.
1333
1334  * Ported to MS Windows with some functional limitations.
1335
1336  * New tool gpg-preset-passphrase.
1337
1338
1339 Noteworthy changes in version 1.9.13 (2004-12-03)
1340 -------------------------------------------------
1341
1342  * [gpgsm] New option --prefer-system-dirmngr.
1343
1344  * Minor cleanups and debugging aids.
1345
1346
1347 Noteworthy changes in version 1.9.12 (2004-10-22)
1348 -------------------------------------------------
1349
1350  * [scdaemon] Partly rewrote the PC/SC code.
1351
1352  * Removed the sc-investigate tool.  It is now in a separate package
1353    available at ftp://ftp.g10code.com/g10code/gscutils/ .
1354
1355  * [gpg-agent] Fixed logging problem.
1356
1357
1358 Noteworthy changes in version 1.9.11 (2004-10-01)
1359 -------------------------------------------------
1360
1361  * When using --import along with --with-validation, the imported
1362    certificates are validated and only imported if they are fully
1363    valid.
1364
1365  * [gpg-agent] New option --max-cache-ttl.
1366
1367  * [gpg-agent] When used without --daemon or --server, gpg-agent now
1368    check whether a agent is already running and usable.
1369
1370  * Fixed some i18n problems.
1371
1372
1373 Noteworthy changes in version 1.9.10 (2004-07-22)
1374 -------------------------------------------------
1375
1376  * Fixed a serious bug in the checking of trusted root certificates.
1377
1378  * New configure option --enable-agent-pnly allows to build and
1379    install just the agent.
1380
1381  * Fixed a problem with the log file handling.
1382
1383
1384 Noteworthy changes in version 1.9.9 (2004-06-08)
1385 ------------------------------------------------
1386
1387  * [gpg-agent] The new option --allow-mark-trusted is now required to
1388    allow gpg-agent to add a key to the trustlist.txt after user
1389    confirmation.
1390
1391  * Creating PKCS#10 requests does now honor the key usage.
1392
1393
1394 Noteworthy changes in version 1.9.8 (2004-04-29)
1395 ------------------------------------------------
1396
1397  * [scdaemon] Overhauled the internal CCID driver.
1398
1399  * [scdaemon] Status files named ~/.gnupg/reader_<n>.status are now
1400    written when using the internal CCID driver.
1401
1402  * [gpgsm] New commands --dump-{,secret,external}-keys to show a very
1403    detailed view of the certificates.
1404
1405  * The keybox gets now compressed after 3 hours and ephemeral
1406    stored certificates are deleted after about a day.
1407
1408  * [gpg] Usability fixes for --card-edit.  Note, that this has already
1409    been ported back to gnupg-1.3
1410
1411
1412 Noteworthy changes in version 1.9.7 (2004-04-06)
1413 ------------------------------------------------
1414
1415  * Instrumented the modules for gpgconf.
1416
1417  * Added support for DINSIG card applications.
1418
1419  * Include the smimeCapabilities attribute with signed messages.
1420
1421  * Now uses the gettext domain "gnupg2" to avoid conflicts with gnupg
1422    versions < 1.9.
1423
1424
1425 Noteworthy changes in version 1.9.6 (2004-03-06)
1426 ------------------------------------------------
1427
1428  * Code cleanups and bug fixes.
1429
1430
1431 Noteworthy changes in version 1.9.5 (2004-02-21)
1432 ------------------------------------------------
1433
1434  * gpg-protect-tool gets now installed into libexec as it ought to be.
1435    Cleaned up the build system to better comply with the coding
1436    standards.
1437
1438  * [gpgsm] The --import command is now able to autodetect pkcs#12
1439    files and import secret and private keys from this file format.
1440    A new command --export-secret-key-p12 is provided to allow
1441    exporting of secret keys in PKCS\#12 format.
1442
1443  * [gpgsm] The pinentry will now present a description of the key for
1444    whom the passphrase is requested.
1445
1446  * [gpgsm] New option --with-validation to check the validity of key
1447    while listing it.
1448
1449  * New option --debug-level={none,basic,advanced,expert,guru} to map
1450    the debug flags to sensitive levels on a per program base.
1451
1452
1453 Noteworthy changes in version 1.9.4 (2004-01-30)
1454 ------------------------------------------------
1455
1456  * Added support for the Telesec NKS 2.0 card application.
1457
1458  * Added simple tool addgnupghome to create .gnupg directories from
1459    /etc/skel/.gnupg.
1460
1461  * Various minor bug fixes and cleanups; mainly gpgsm and gpg-agent
1462    related.
1463
1464
1465 Noteworthy changes in version 1.9.3 (2003-12-23)
1466 ------------------------------------------------
1467
1468  * New gpgsm options --{enable,disable}-ocsp to validate keys using
1469    OCSP. This option requires a not yet released DirMngr version.
1470    Default is disabled.
1471
1472  * The --log-file option may now be used to print logs to a socket.
1473    Prefix the socket name with "socket://" to enable this.  This does
1474    not work on all systems and falls back to stderr if there is a
1475    problem with the socket.
1476
1477  * The options --encrypt-to and --no-encrypt-to now work the same in
1478    gpgsm as in gpg.  Note, they are also used in server mode.
1479
1480  * Duplicated recipients are now silently removed in gpgsm.
1481
1482
1483 Noteworthy changes in version 1.9.2 (2003-11-17)
1484 ------------------------------------------------
1485
1486  * On card key generation is no longer done using the --gen-key
1487    command but from the menu provided by the new --card-edit command.
1488
1489  * PINs are now properly cached and there are only 2 PINs visible.
1490    The 3rd PIN (CHV2) is internally syncronized with the regular PIN.
1491
1492  * All kind of other internal stuff.
1493
1494
1495 Noteworthy changes in version 1.9.1 (2003-09-06)
1496 ------------------------------------------------
1497
1498  * Support for OpenSC is back. scdaemon supports a --disable-opensc to
1499    disable OpenSC use at runtime, so that PC/SC or ct-API can still be
1500    used directly.
1501
1502  * Rudimentary support for the SCR335 smartcard reader using an
1503    internal driver.  Requires current libusb from CVS.
1504
1505  * Bug fixes.
1506
1507
1508 Noteworthy changes in version 1.9.0 (2003-08-05)
1509 ------------------------------------------------
1510
1511       ====== PLEASE SEE README-alpha =======
1512
1513  * gpg has been renamed to gpg2 and gpgv to gpgv2.  This is a
1514    temporary change to allow co-existing with stable gpg versions.
1515
1516  * ~/.gnupg/gpg.conf-1.9.0 is fist tried as config file before the
1517    usual gpg.conf.
1518
1519  * Removed the -k, -kv and -kvv commands.  -k is now an alias to
1520    --list-keys.  New command -K as alias for --list-secret-keys.
1521
1522  * Removed --run-as-shm-coprocess feature.
1523
1524  * gpg does now also use libgcrypt, libgpg-error is required.
1525
1526  * New gpgsm commands --call-dirmngr and --call-protect-tool.
1527
1528  * Changing a passphrase is now possible using "gpgsm --passwd"
1529
1530  * The content-type attribute is now recognized and created.
1531
1532  * The agent does now reread certain options on receiving a HUP.
1533
1534  * The pinentry is now forked for each request so that clients with
1535    different environments are supported.  When running in daemon mode
1536    and --keep-display is not used the DISPLAY variable is ignored.
1537
1538  * Merged stuff from the newpg branch and started this new
1539    development branch.
1540
1541
1542 Version 1.4.19 (2015-02-27)
1543 Version 1.4.18 (2014-06-30)
1544 Version 1.4.17 (2014-06-23)
1545 Version 1.4.16 (2013-12-18)
1546 Version 1.4.15 (2013-10-04)
1547 Version 1.4.14 (2013-07-25)
1548 Version 1.4.13 (2012-12-20)
1549 Version 1.4.12 (2012-01-30)
1550 Version 1.4.11 (2010-10-18)
1551 Version 1.4.10 (2009-09-02)
1552 Version 1.4.9 (2008-03-26)
1553 Version 1.4.8 (2007-12-20)
1554 Version 1.4.7 (2007-03-05)
1555 Version 1.4.6 (2006-12-06)
1556 Version 1.4.5 (2006-08-01)
1557 Version 1.4.4 (2006-06-25)
1558 Version 1.4.3 (2006-04-03)
1559 Version 1.4.2 (2005-07-26)
1560 Version 1.4.1 (2005-03-15)
1561 Version 1.4.0 (2004-12-16)
1562
1563
1564 Noteworthy changes in version 1.3.2 (2003-05-27)
1565 ------------------------------------------------
1566
1567     * New "--gnupg" option (set by default) that disables --openpgp,
1568       and the various --pgpX emulation options.  This replaces
1569       --no-openpgp, and --no-pgpX, and also means that GnuPG has
1570       finally grown a --gnupg option to make GnuPG act like GnuPG.
1571
1572     * A bug in key validation has been fixed.  This bug only affects
1573       keys with more than one user ID (photo IDs do not count here),
1574       and results in all user IDs on a given key being treated with
1575       the validity of the most-valid user ID on that key.
1576
1577     * Notation names that do not contain a '@' are no longer allowed
1578       unless --expert is set.  This is to help prevent pollution of
1579       the (as yet unused) IETF notation namespace.
1580
1581     * Multiple trust models are now supported via the --trust-model
1582       option.  The options are "pgp" (web-of-trust plus trust
1583       signatures), "classic" (web-of-trust only), and "always"
1584       (identical to the --always-trust option).
1585
1586     * The --personal-{cipher|digest|compression}-preferences are now
1587       consulted to get default algorithms before resorting to the
1588       last-ditch defaults of --s2k-cipher-algo, SHA1, and ZIP
1589       respectively.  This allows a user to set algorithms to use in a
1590       safe manner so they are used when legal to do so, without
1591       forcing them on for all messages.
1592
1593     * New --primary-keyring option to designate the keyring that the
1594       user wants new keys imported into.
1595
1596     * --s2k-digest-algo is now used for all password mangling.
1597       Earlier versions used both --s2k-digest-algo and --digest-algo
1598       for passphrase mangling.
1599
1600     * Handling of --hidden-recipient or --throw-keyid messages is now
1601       easier - the user only needs to give their passphrase once, and
1602       GnuPG will try it against all of the available secret keys.
1603
1604     * Care is taken to prevent compiler optimization from removing
1605       memory wiping code.
1606
1607     * New option --no-mangle-dos-filenames so that filenames are not
1608       truncated in the W32 version.
1609
1610     * A "convert-from-106" script has been added.  This is a simple
1611       script that automates the conversion from a 1.0.6 or earlier
1612       version of GnuPG to a 1.0.7 or later version.
1613
1614     * Disabled keys are now skipped when selecting keys for
1615       encryption.  If you are using the --with-colons key listings to
1616       detect disabled keys, please see doc/DETAILS for a minor format
1617       change in this release.
1618
1619     * Minor trustdb changes to make the trust calculations match
1620       common usage.
1621
1622     * New command "revuid" in the --edit-key menu to revoke a user ID.
1623       This is a simpler interface to the old method (which still
1624       works) of revoking the user ID self-signature.
1625
1626     * Status VALIDSIG does now also print the primary key's
1627       fingerprint, as well as the signature version, pubkey algorithm,
1628       hash algorithm, and signature class.
1629
1630     * Add read-only support for the SHA-256 hash, and optional
1631       read-only support for the SHA-384 and SHA-512 hashes.
1632
1633     * New option --enable-progress-filter for use with frontends.
1634
1635     * DNS SRV records are used in HKP keyserver lookups to allow
1636       administrators to load balance and select keyserver ports
1637       automatically.  This is as specified in
1638       draft-shaw-openpgp-hkp-00.txt.
1639
1640     * When using the "keyid!" syntax during a key export, only that
1641       specified key is exported.  If the key in question is a subkey,
1642       the primary key plus only that subkey is exported.
1643
1644     * configure --disable-xxx options to disable individual algorithms
1645       at build time.  This can be used to build a smaller gpg binary
1646       for embedded uses where space is tight.  See the README file for
1647       the algorithms that can be used with this option, or use
1648       --enable-minimal to build the smallest gpg possible (disables
1649       all optional algorithms, disables keyserver access, and disables
1650       photo IDs).
1651
1652     * The keyserver no-modify flag on a key can now be displayed and
1653       modified.
1654
1655     * Note that the TIGER/192 digest algorithm is in the process of
1656       being dropped from the OpenPGP standard.  While this release of
1657       GnuPG still contains it, it is disabled by default.  To ensure
1658       you will still be able to use your messages with future versions
1659       of GnuPG and other OpenPGP programs, please do not use this
1660       algorithm.
1661
1662
1663 Noteworthy changes in version 1.3.1 (2002-11-12)
1664 ------------------------------------------------
1665
1666     * Trust signature support.  This is based on the Maurer trust
1667       model where a user can specify the trust level along with the
1668       signature with multiple levels so users can delegate
1669       certification ability to other users, possibly restricted by a
1670       regular expression on the user ID.  Note that full trust
1671       signature support requires a regular expression parsing library.
1672       The regexp code from glibc 2.3.1 is included for those platforms
1673       that don't have working regexp functions available.  The
1674       configure option --disable-regex may be used to disable any
1675       regular expression code, which will make GnuPG ignore any trust
1676       signature with a regular expression included.
1677
1678     * Two new commands --hidden-recipient (-R) and --hidden-encrypt-to
1679       encrypt to a user, but hide the identity of that user.  This is
1680       the same functionality as --throw-keyid, but can be used on a
1681       per-user basis.
1682
1683     * Full algorithm names (e.g. "3DES", "SHA1", "ZIP") can now be
1684       used interchangeably with the short algorithm names (e.g. "S2",
1685       "H2", "Z1") anywhere algorithm names are used in GnuPG.
1686
1687
1688 Noteworthy changes in version 1.3.0 (2002-10-18)
1689 ------------------------------------------------
1690
1691     * The last piece of internal keyserver support has been removed,
1692       and now all keyserver access is done via the keyserver plugins.
1693       There is also a newer keyserver protocol used between GnuPG and
1694       the plugins, so plugins from earlier versions of GnuPG may not
1695       work properly.
1696
1697     * The HKP keyserver plugin supports the new machine-readable key
1698       listing format for those keyservers that provide it.
1699
1700     * When using a HKP keyserver with multiple DNS records (such as
1701       wwwkeys.pgp.net which has the addresses of multiple servers
1702       around the world), try all records until one succeeds.  Note
1703       that it depends on the LDAP library used whether the LDAP
1704       keyserver plugin does this as well.
1705
1706     * The library dependencies for OpenLDAP seem to change fairly
1707       frequently, and GnuPG's configure script cannot guess all the
1708       combinations.  Use ./configure LDAPLIBS="-L libdir -l libs" to
1709       override the script and use the libraries selected.
1710
1711     * Secret keys generated with --export-secret-subkeys are now
1712       indicated in key listings with a '#' after the "sec", and in
1713       --with-colons listings by showing no capabilities (no lowercase
1714       characters).
1715
1716     * --trusted-key has been un-obsoleted, as it is useful for adding
1717       ultimately trusted keys from the config file.  It is identical
1718       to using --edit and "trust" to change a key to ultimately
1719       trusted.
1720
1721     * Translations other than de are no longer distributed with the
1722       development branch.  This is due to the frequent text changes
1723       during development, which cause the translations to rapidly go
1724       out of date.
1725
1726
1727 Version 1.2.8 (2006-12-07)
1728 Version 1.2.7 (2004-12-27)
1729 Version 1.2.6 (2004-08-25)
1730 Version 1.2.5 (2004-07-26)
1731 Version 1.2.4 (2003-12-23)
1732 Version 1.2.3 (2003-08-21)
1733 Version 1.2.2 (2003-05-01)
1734 Version 1.2.1 (2002-10-25)
1735 Version 1.2.0 (2002-09-21)
1736
1737
1738 Noteworthy changes in version 1.1.92 (2002-09-11)
1739 -------------------------------------------------
1740
1741     * [IMPORTANT] The default configuration file is now
1742       ~/.gnupg/gpg.conf.  If an old ~/.gnupg/options is found it will
1743       still be used.  This change is required to have a more
1744       consistent naming scheme with forthcoming tools.
1745
1746     * The use of MDCs have increased.  A MDC will be used if the
1747       recipients directly request it, if the recipients have AES,
1748       AES192, AES256, or TWOFISH in their cipher preferences, or if
1749       the chosen cipher has a blocksize not equal to 64 bits
1750       (currently this is also AES, AES192, AES256, and TWOFISH).
1751
1752     * GnuPG will no longer automatically disable compression when
1753       processing an already-compressed file unless a MDC is being
1754       used.  This is to give the message a certain amount of
1755       resistance to the chosen-ciphertext attack while communicating
1756       with other programs (most commonly PGP earlier than version 7.x)
1757       that do not support MDCs.
1758
1759     * The option --interactive now has the desired effect when
1760       importing keys.
1761
1762     * The file permission and ownership checks on files have been
1763       clarified.  Specifically, the homedir (usually ~/.gnupg) is
1764       checked to protect everything within it.  If the user specifies
1765       keyrings outside this homedir, they are presumed to be shared
1766       keyrings and therefore *not* checked.  Configuration files
1767       specified with the --options option and the IDEA cipher
1768       extension specified with --load-extension are checked, along
1769       with their enclosing directories.
1770
1771     * The configure option --with-static-rnd=auto allows to build gpg
1772       with all available entropy gathering modules included.  At
1773       runtime the best usable one will be selected from the list
1774       linux, egd, unix.  This is also the default for systems lacking
1775       a /dev/random device.
1776
1777     * The default character set is now taken from the current locale;
1778       it can still be overridden by the --charset option.  Using the
1779       option -vvv shows the used character set.
1780
1781     * [REMOVED] --emulate-checksum-bug and --emulate-3des-s2k-bug have
1782       been removed.
1783
1784
1785 Noteworthy changes in version 1.1.91 (2002-08-04)
1786 -------------------------------------------------
1787
1788     * All modules are now linked statically; the --load-extension
1789       option is in general not useful anymore.  The only exception is
1790       to specify the deprecated idea cipher.
1791
1792     * The IDEA plugin has changed.  Previous versions of the IDEA
1793       plugin will no longer work with GnuPG.  However, the current
1794       version of the plugin will work with earlier GnuPG versions.
1795
1796     * When using --batch with one of the --delete-key commands, the
1797       key must be specified by fingerprint.  See the man page for
1798       details.
1799
1800     * There are now various ways to restrict the ability GnuPG has to
1801       exec external programs (for the keyserver helpers or photo ID
1802       viewers).  Read the README file for the complete list.
1803
1804     * New export option to leave off attribute packets (photo IDs)
1805       during export.  This is useful when exporting to HKP keyservers
1806       which do not understand attribute packets.
1807
1808     * New import option to repair during import the HKP keyserver
1809       mangling multiple subkeys bug.  Note that this cannot completely
1810       repair the damaged key as some crucial data is removed by the
1811       keyserver, but it does at least give you back one subkey.  This
1812       is on by default for keyserver --recv-keys, and off by default
1813       for regular --import.
1814
1815     * The keyserver helper programs now live in
1816       /usr/[local/]libexec/gnupg by default.  If you are upgrading
1817       from 1.0.7, you might want to delete your old copies in
1818       /usr/[local/]bin.  If you use an OS that does not use libexec
1819       for whatever reason, use configure --libexecdir=/usr/local/lib
1820       to place the keyserver helpers there.
1821
1822     * The LDAP keyserver handler now works properly with very old
1823       (version 1) LDAP keyservers.
1824
1825
1826 Noteworthy changes in version 1.1.90 (2002-07-01)
1827 -------------------------------------------------
1828
1829     * New commands: --personal-cipher-preferences,
1830       --personal-digest-preferences, and
1831       --personal-compress-preferences allow the user to specify which
1832       algorithms are to be preferred.  Note that this does not permit
1833       using an algorithm that is not present in the recipient's
1834       preferences (which would violate the OpenPGP standard).  This
1835       just allows sorting the preferences differently.
1836
1837     * New "group" command to refer to several keys with one name.
1838
1839     * A warning is issued if the user forces the use of an algorithm
1840       that is not listed in the recipient's preferences.
1841
1842     * Full revocation key (aka "designated revoker") support.
1843
1844     * The preferred hash algorithms on a key are consulted when
1845       encrypting a signed message to that key.  Note that this is
1846       disabled by default by a SHA1 preference in
1847       --personal-digest-preferences.
1848
1849     * --cert-digest-algo allows the user to specify the hash algorithm
1850       to use when signing a key rather than the default SHA1 (or MD5
1851       for PGP2 keys).  Do not use this feature unless you fully
1852       understand the implications of this.
1853
1854     * --pgp7 mode automatically sets all necessary options to ensure
1855       that the resulting message will be usable by a user of PGP 7.x.
1856
1857     * New --attribute-fd command for frontends and scripts to get the
1858       contents of attribute packets (i.e. photos)
1859
1860     * In expert mode, the user can now re-sign a v3 key with a v4
1861       self-signature.  This does not change the v3 key into a v4 key,
1862       but it does allow the user to use preferences, primary ID flags,
1863       etc.
1864
1865     * Significantly improved photo ID support on non-unixlike
1866       platforms.
1867
1868     * The version number has jumped ahead to 1.1.90 to skip over the
1869       old version 1.1 and to get ready for the upcoming 1.2.
1870
1871     * ElGamal sign and encrypt is not anymore allowed in the key
1872       generation dialog unless in expert mode.  RSA sign and encrypt
1873       has been added with the same restrictions.
1874
1875     * [W32] Keyserver access does work with Windows NT.
1876
1877
1878 Noteworthy changes in version 1.0.7 (2002-04-29)
1879 ------------------------------------------------
1880
1881     * Secret keys are now stored and exported in a new format which
1882       uses SHA-1 for integrity checks.  This format renders the
1883       Rosa/Klima attack useless.  Other OpenPGP implementations might
1884       not yet support this, so the option --simple-sk-checksum creates
1885       the old vulnerable format.
1886
1887     * The default cipher algorithm for encryption is now CAST5,
1888       default hash algorithm is SHA-1.  This will give us better
1889       interoperability with other OpenPGP implementations.
1890
1891     * Symmetric encrypted messages now use a fixed file size if
1892       possible.  This is a tradeoff: it breaks PGP 5, but fixes PGP 2,
1893       6, and 7.  Note this was only an issue with RFC-1991 style
1894       symmetric messages.
1895
1896     * Photographic user ID support.  This uses an external program to
1897       view the images.
1898
1899     * Enhanced keyserver support via keyserver "plugins".  GnuPG comes
1900       with plugins for the NAI LDAP keyserver as well as the HKP email
1901       keyserver.  It retains internal support for the HKP HTTP
1902       keyserver.
1903
1904     * Nonrevocable signatures are now supported.  If a user signs a
1905       key nonrevocably, this signature cannot be taken back so be
1906       careful!
1907
1908     * Multiple signature classes are usable when signing a key to
1909       specify how carefully the key information (fingerprint, photo
1910       ID, etc) was checked.
1911
1912     * --pgp2 mode automatically sets all necessary options to ensure
1913       that the resulting message will be usable by a user of PGP 2.x.
1914
1915     * --pgp6 mode automatically sets all necessary options to ensure
1916       that the resulting message will be usable by a user of PGP 6.x.
1917
1918     * Signatures may now be given an expiration date.  When signing a
1919       key with an expiration date, the user is prompted whether they
1920       want their signature to expire at the same time.
1921
1922     * Revocation keys (designated revokers) are now supported if
1923       present.  There is currently no way to designate new keys as
1924       designated revokers.
1925
1926     * Permissions on the .gnupg directory and its files are checked
1927       for safety.
1928
1929     * --expert mode enables certain silly things such as signing a
1930       revoked user id, expired key, or revoked key.
1931
1932     * Some fixes to build cleanly under Cygwin32.
1933
1934     * New tool gpgsplit to split OpenPGP data formats into packets.
1935
1936     * New option --preserve-permissions.
1937
1938     * Subkeys created in the future are not used for encryption or
1939       signing unless the new option --ignore-valid-from is used.
1940
1941     * Revoked user-IDs are not listed unless signatures are listed too
1942       or we are in verbose mode.
1943
1944     * There is no default comment string with ascii armors anymore
1945       except for revocation certificates and --enarmor mode.
1946
1947     * The command "primary" in the edit menu can be used to change the
1948       primary UID, "setpref" and "updpref" can be used to change the
1949       preferences.
1950
1951     * Fixed the preference handling; since 1.0.5 they were erroneously
1952       matched against against the latest user ID and not the given one.
1953
1954     * RSA key generation.
1955
1956     * Merged Stefan's patches for RISC OS in.  See comments in
1957       scripts/build-riscos.
1958
1959     * It is now possible to sign and conventional encrypt a message (-cs).
1960
1961     * The MDC feature flag is supported and can be set by using
1962       the "updpref" edit command.
1963
1964     * The status messages GOODSIG and BADSIG are now returning the primary
1965       UID, encoded using %XX escaping (but with spaces left as spaces,
1966       so that it should not break too much)
1967
1968     * Support for GDBM based keyrings has been removed.
1969
1970     * The entire keyring management has been revamped.
1971
1972     * The way signature stati are store has changed so that v3
1973       signatures can be supported. To increase the speed of many
1974       operations for existing keyrings you can use the new
1975       --rebuild-keydb-caches command.
1976
1977     * The entire key validation process (trustdb) has been revamped.
1978       See the man page entries for --update-trustdb, --check-trustdb
1979       and --no-auto-check-trustdb.
1980
1981     * --trusted-keys is again obsolete, --edit can be used to set the
1982       ownertrust of any key to ultimately trusted.
1983
1984     * A subkey is never used to sign keys.
1985
1986     * Read only keyrings are now handled as expected.
1987
1988
1989 Noteworthy changes in version 1.0.6 (2001-05-29)
1990 ------------------------------------------------
1991
1992     * Security fix for a format string bug in the tty code.
1993
1994     * Fixed format string bugs in all PO files.
1995
1996     * Removed Russian translation due to too many bugs.  The FTP
1997       server has an unofficial but better translation in the contrib
1998       directory.
1999
2000     * Fixed expire time calculation and keyserver access.
2001
2002     * The usual set of minor bug fixes and enhancements.
2003
2004     * non-writable keyrings are now correctly handled.
2005
2006
2007 Noteworthy changes in version 1.0.5 (2001-04-29)
2008 ------------------------------------------------
2009
2010     * WARNING: The semantics of --verify have changed to address a
2011       problem with detached signature detection. --verify now ignores
2012       signed material given on stdin unless this is requested by using
2013       a "-" as the name for the file with the signed material.  Please
2014       check all your detached signature handling applications and make
2015       sure that they don't pipe the signed material to stdin without
2016       using a filename together with "-" on the the command line.
2017
2018     * WARNING: Corrected hash calculation for input data larger than
2019       512M - it was just wrong, so you might notice bad signature in
2020       some very big files.  It may be wise to keep an old copy of
2021       GnuPG around.
2022
2023     * Secret keys are no longer imported unless you use the new option
2024       --allow-secret-key-import.  This is a kludge and future versions will
2025       handle it in another way.
2026
2027     * New command "showpref" in the --edit-key menu to show an easier
2028       to understand preference listing.
2029
2030     * There is now the notation of a primary user ID.  For example, it
2031       is printed with a signature verification as the first user ID;
2032       revoked user IDs are not printed there anymore.  In general the
2033       primary user ID is the one with the latest self-signature.
2034
2035     * New --charset=utf-8 to bypass all internal conversions.
2036
2037     * Large File Support (LFS) is now working.
2038
2039     * New options: --ignore-crc-error, --no-sig-create-check,
2040       --no-sig-cache, --fixed-list-mode, --no-expensive-trust-checks,
2041       --enable-special-filenames and --use-agent.  See man page.
2042
2043     * New command --pipemode, which can be used to run gpg as a
2044       co-process.  Currently only the verification of detached
2045       signatures are working.  See doc/DETAILS.
2046
2047     * Keyserver support for the W32 version.
2048
2049     * Rewritten key selection code so that GnuPG can better cope with
2050       multiple subkeys, expire dates and so.  The drawback is that it
2051       is slower.
2052
2053     * A whole lot of bug fixes.
2054
2055     * The verification status of self-signatures are now cached. To
2056       increase the speed of key list operations for existing keys you
2057       can do the following in your GnuPG homedir (~/.gnupg):
2058          cp pubring.gpg pubring.gpg.save && gpg --export-all >x && \
2059          rm pubring.gpg && gpg --import x
2060       Only v4 keys (i.e not the old RSA keys) benefit from this caching.
2061
2062     * New translations: Estonian, Turkish.
2063
2064
2065 Noteworthy changes in version 1.0.4 (2000-10-17)
2066 ------------------------------------------------
2067
2068     * Fixed a serious bug which could lead to false signature verification
2069       results when more than one signature is fed to gpg.  This is the
2070       primary reason for releasing this version.
2071
2072     * New utility gpgv which is a stripped down version of gpg to
2073       be used to verify signatures against a list of trusted keys.
2074
2075     * Rijndael (AES) is now supported and listed with top preference.
2076
2077     * --with-colons now works with --print-md[s].
2078
2079 Noteworthy changes in version 1.0.3 (2000-09-18)
2080 ------------------------------------------------
2081
2082     * Fixed problems with piping to/from other MS-Windows software
2083
2084     * Expiration time of the primary key can be changed again.
2085
2086     * Revoked user IDs are now marked in the output of --list-key
2087
2088     * New options --show-session-key and --override-session-key
2089       to help the British folks to somewhat minimize the danger
2090       of this Orwellian RIP bill.
2091
2092     * New options --merge-only and --try-all-secrets.
2093
2094     * New configuration option --with-egd-socket.
2095
2096     * The --trusted-key option is back after it left us with 0.9.5
2097
2098     * RSA is supported. Key generation does not yet work but will come
2099       soon.
2100
2101     * CAST5 and SHA-1 are now the default algorithms to protect the key
2102       and for symmetric-only encryption. This should solve a couple
2103       of compatibility problems because the old algorithms are optional
2104       according to RFC2440
2105
2106     * Twofish and MDC enhanced encryption is now used.  PGP 7 supports
2107       this.  Older versions of GnuPG don't support it, so they should be
2108       upgraded to at least 1.0.2
2109
2110
2111 Noteworthy changes in version 1.0.2 (2000-07-12)
2112 ----------------------------------------------
2113
2114     * Fixed expiration handling of encryption keys.
2115
2116     * Add an experimental feature to do unattended key generation.
2117
2118     * The user is now asked for the reason of revocation as required
2119       by the new OpenPGP draft.
2120
2121     * There is a ~/.gnupg/random_seed file now which saves the
2122       state of the internal RNG and increases system performance
2123       somewhat.  This way the full entropy source is only used in
2124       cases were it is really required.
2125       Use the option --no-random-seed-file to disable this feature.
2126
2127     * New options --ignore-time-conflict and --lock-never.
2128
2129     * Some fixes for the W32 version.
2130
2131     * The entropy.dll is not anymore used by the W32 version but replaced
2132       by code derived from Cryptlib.
2133
2134     * Encryption is now much faster: About 2 times for 1k bit keys
2135       and 8 times for 4k keys.
2136
2137     * New encryption keys are generated in a way which allows a much
2138       faster decryption.
2139
2140     * New command --export-secret-subkeys which outputs the
2141       the _primary_ key with it's secret parts deleted.  This is
2142       useful for automated decryption/signature creation as it
2143       allows to keep the real secret primary key offline and
2144       thereby protecting the key certificates and allowing to
2145       create revocations for the subkeys.  See the FAQ for a
2146       procedure to install such secret keys.
2147
2148     * Keygeneration now writes to the first writeable keyring or
2149       as default to the one in the homedirectory.  Prior versions
2150       ignored all --keyring options.
2151
2152     * New option --command-fd to take user input from a file descriptor;
2153       to be used with --status-fd by software which uses GnuPG as a backend.
2154
2155     * There is a new status PROGRESS which is used to show progress during
2156       key generation.
2157
2158     * Support for the new MDC encryption packets.  To create them either
2159       --force-mdc must be use or cipher algorithm with a blocksize other
2160       than 64 bits is to be used.  --openpgp currently disables MDC packets
2161       entirely.  This option should not yet be used.
2162
2163     * New option --no-auto-key-retrieve to disable retrieving of
2164       a missing public key from a keyserver, when a keyserver has been set.
2165
2166     * Danish translation
2167
2168 Noteworthy changes in version 1.0.1 (1999-12-16)
2169 -----------------------------------
2170
2171     * New command --verify-files.  New option --fast-list-mode.
2172
2173     * $http_proxy is now used when --honor-http-proxy is set.
2174
2175     * Fixed some minor bugs and the problem with conventional encrypted
2176       packets which did use the gpg v3 partial length headers.
2177
2178     * Add Indonesian and Portugese translations.
2179
2180     * Fixed a bug with symmetric-only encryption using the non-default 3DES.
2181       The option --emulate-3des-s2k-bug may be used to decrypt documents
2182       which have been encrypted this way; this should be done immediately
2183       as this workaround will be remove in 1.1
2184
2185     * Can now handle (but not display) PGP's photo IDs. I don't know the
2186       format of that packet but after stripping a few bytes from the start
2187       it looks like a JPEG (at least my test data).  Handling of this
2188       package is required because otherwise it would mix up the
2189       self signatures and you can't import those keys.
2190
2191     * Passing non-ascii user IDs on the commandline should now work in all
2192       cases.
2193
2194     * New keys are now generated with an additional preference to Blowfish.
2195
2196     * Removed the GNU Privacy Handbook from the distribution as it will go
2197       into a separate one.
2198
2199
2200 Noteworthy changes in version 1.0.0 (1999-09-07)
2201 -----------------------------------
2202
2203     * Add a very preliminary version of the GNU Privacy Handbook to
2204       the distribution (lynx doc/gph/index.html).
2205
2206     * Changed the version number to GnuPG 2001 ;-)
2207
2208
2209 Noteworthy changes in version 0.9.11 (1999-09-03)
2210 ------------------------------------
2211
2212     * UTF-8 strings are now correctly printed (if --charset is set correctly).
2213       Output of --with-colons remains C-style escaped UTF-8.
2214
2215     * Workaround for a problem with PGP 5 detached signature in textmode.
2216
2217     * Fixed a problem when importing new subkeys (duplicated signatures).
2218
2219
2220 Noteworthy changes in version 0.9.10 (1999-07-23)
2221 ------------------------------------
2222
2223     * Some strange new options to help pgpgpg
2224
2225     * Cleaned up the dox a bit.
2226
2227
2228 Noteworthy changes in version 0.9.9
2229 -----------------------------------
2230
2231     * New options --[no-]utf8-strings.
2232
2233     * New edit-menu commands "enable" and "disable" for entire keys.
2234
2235     * You will be asked for a filename if gpg cannot deduce one.
2236
2237     * Changes to support libtool which is needed for the development
2238       of libgcrypt.
2239
2240     * New script tools/lspgpot to help transferring assigned
2241       trustvalues from PGP to GnuPG.
2242
2243     * New commands --lsign-key and made --sign-key a shortcut for --edit
2244       and sign.
2245
2246     * New options (#122--126 ;-) --[no-]default-recipient[-self],
2247       --disable-{cipher,pubkey}-algo. See the man page.
2248
2249     * Enhanced info output in case of multiple recipients and fixed exit code.
2250
2251     * New option --allow-non-selfsigned-uid to work around a problem with
2252       the German IN way of separating signing and encryption keys.
2253
2254
2255 Noteworthy changes in version 0.9.8 (1999-06-26)
2256 -----------------------------------
2257
2258     * New subcommand "delsig" in the edit menu.
2259
2260     * The name of the output file is not anymore the one which is
2261       embedded in the processed message, but the used filename with
2262       the extension stripped.  To revert to the old behaviour you can
2263       use the option --use-embedded-filename.
2264
2265     * Another hack to cope with pgp2 generated detached signatures.
2266
2267     * latin-2 character set works (--charset=iso-8859-2).
2268
2269     * New option --with-key-data to list the public key parameters.
2270       New option -N to insert notations and a --set-policy-url.
2271       A couple of other options to allow reseting of options.
2272
2273     * Better support for HPUX.
2274
2275
2276 Noteworthy changes in version 0.9.7 (1999-05-23)
2277 -----------------------------------
2278
2279     * Add some work arounds for a bugs in pgp 2 which led to bad signatures
2280       when used with canonical texts in some cases.
2281
2282     * Enhanced some status outputs.
2283
2284
2285 Noteworthy changes in version 0.9.6 (1999-05-06)
2286 -----------------------------------
2287
2288     * Twofish is now statically linked by default. The experimental 128 bit
2289       version is now disabled.  Full support will be available as soon as
2290       the OpenPGP WG has decided on an interpretation of rfc2440.
2291
2292     * Dropped support for the ancient Blowfish160 which is not OpenPGP.
2293
2294     * Merged gpgm and gpg into one binary.
2295
2296     * Add "revsig" and "revkey" commands to the edit menu.  It is now
2297       possible to revoke signature and subkeys.
2298
2299
2300 Noteworthy changes in version 0.9.5 (1999-03-20)
2301 -----------------------------------
2302
2303     * New command "lsign" in the keyedit menu to create non-exportable
2304       signatures.  Removed --trusted-keys option.
2305
2306     * A bunch of changes to the key validation code.
2307
2308     * --list-trust-path now has an optional --with-colons format.
2309
2310     * New command --recv-keys to import keys from an keyserver.
2311
2312
2313 Noteworthy changes in version 0.9.4 (1999-03-08)
2314 -----------------------------------
2315
2316     * New configure option --enable-static-rnd=[egd|linux|unix|none]
2317       to select a random gathering module for static linking.
2318
2319     * The original text is now verbatim copied to a cleartext signed message.
2320
2321     * Bugfixes but there are still a couple of bugs.
2322
2323
2324 Noteworthy changes in version 0.9.3 (1999-02-19)
2325 -----------------------------------
2326
2327     * Changed the internal design of getkey which now allows a
2328       efficient lookup of multiple keys and add a word match mode.
2329
2330     * New options --[no-]encrypt-to.
2331
2332     * Some changes to the configure stuff.  Switched to automake 1.4.
2333       Removed intl/ from CVS, autogen.sh now uses gettextize.
2334
2335     * Preferences now include Twofish. Removed preference to Blowfish with
2336       a special hack to suppress the "not listed in preferences" warning;
2337       this is to allow us to switch completely to Twofish in the near future.
2338
2339     * Changed the locking stuff.
2340
2341     * Print all user ids of a good signature.
2342
2343
2344 Noteworthy changes in version 0.9.2 (1999-01-01)
2345 -----------------------------------
2346
2347     * add some additional time warp checks.
2348
2349     * Option --keyserver and command --send-keys to utilize HKP servers.
2350
2351     * Upgraded to zlib 1.1.3 and fixed an inflate bug
2352
2353     * More cleanup on the cleartext signatures.
2354
2355
2356 Noteworthy changes in version 0.9.1 (1999-01-01)
2357 -----------------------------------
2358
2359     * Polish language support.
2360
2361     * When querying the passphrase, the key ID of the primary key is
2362       displayed along with the one of the used secondary key.
2363
2364     * Fixed a bug occurring when decrypting pgp 5 encrypted messages,
2365       fixed an infinite loop bug in the 3DES code and in the code
2366       which looks for trusted signatures.
2367
2368     * Fixed a bug in the mpi library which caused signatures not to
2369       compare okay.
2370
2371     * Rewrote the handling of cleartext signatures; the code is now
2372       better maintainable (I hope so).
2373
2374     * New status output VALIDSIG only for valid signatures together
2375       with the fingerprint of the signer's key.
2376
2377
2378 Noteworthy changes in version 0.9.0 (1998-12-23)
2379 -----------------------------------
2380
2381     * --export does now only exports rfc2440 compatible keys; the
2382       old behaviour is available with --export-all.
2383       Generation of v3 ElGamal (sign and encrypt) keys is not longer
2384       supported.
2385
2386     * Fixed the uncompress bug.
2387
2388     * Rewrote the rndunix module. There are two environment variables
2389       used for debugging now: GNUPG_RNDUNIX_DBG give the file to write
2390       debugging information (use "-" for stdout) and if GNUPG_RNDUNIX_DBGALL
2391       is set, all programs which are only tried are also printed.
2392
2393     * New option --escape-from-lines to "dash-escape" "From " lines to
2394       prevent mailers to change them to ">From ".  This is not enabled by
2395       default because it is not in compliance with rfc2440 - however, you
2396       should turn it on.
2397
2398
2399 Noteworthy changes in version 0.4.5 (1998-12-08)
2400 -----------------------------------
2401
2402     * The keyrings and the trustdb is now locked, so that
2403       other GnuPG processes won't damage these files.  You
2404       may want to put the option --lock-once into your options file.
2405
2406     * The latest self-signatures are now used; this enables --import
2407       to see updated preferences etc.
2408
2409     * Import of subkeys should now work.
2410
2411     * Random gathering modules may now be loaded as extensions. Add
2412       such a module for most Unices but it is very experimental!
2413
2414     * Brazilian language support.
2415
2416
2417 Noteworthy changes in version 0.4.4 (1998-11-20)
2418 -----------------------------------
2419
2420     * Fixed the way the key expiration time is stored. If you have
2421       an expiration time on your key you should fix it with --edit-key
2422       and the command "expire".  I apologize for this inconvenience.
2423
2424     * Add option --charset to support "koi8-r" encoding of user ids.
2425       (Not yet tested).
2426
2427     * Preferences should now work again. You should run
2428       "gpgm --check-trustdb \*" to rebuild all preferences.
2429
2430     * Checking of certificates should now work but this needs a lot
2431       of testing.  Key validation values are now cached in the
2432       trustdb; they should be recalculated as needed, but you may
2433       use --check-trustdb or --update-trustdb to do this.
2434
2435     * Spanish translation by Urko Lusa.
2436
2437     * Patch files are from now on signed.  See the man page
2438       for the new option --not-dash-escaped.
2439
2440     * New syntax: --edit-key <userID> [<commands>]
2441       If you run it without --batch the commands are executed and then
2442       you are put into normal mode unless you use "quit" or "save" as
2443       one of the commands.  When in batch mode, the program quits after
2444       the last command, so you have to use "save" if you did some changes.
2445       It does not yet work completely, but may be used to list so the
2446       keys etc.
2447
2448
2449 Noteworthy changes in version 0.4.3 (1998-11-08)
2450 -----------------------------------
2451
2452     * Fixed the gettext configure bug.
2453
2454     * Kludge for RSA keys: keyid and length of a RSA key are
2455       correctly reported, but you get an error if you try to use
2456       this key (If you do not have the non-US version).
2457
2458     * Experimental support for keyrings stored in a GDBM database.
2459       This is *much* faster than a standard keyring.  You will notice
2460       that the import gets slower with time; the reason is that all
2461       new keys are used to verify signatures of previous inserted
2462       keys.  Use "--keyring gnupg-gdbm:<name-of-gdbm-file>".  This is
2463       not (yet) supported for secret keys.
2464
2465     * A Russian language file in the distribution (alternatives are in
2466       the contrib directory of the FTP servers)
2467
2468     * commandline option processing now works as expected for GNU programs
2469       with the exception that you can't mix options and normal arguments.
2470
2471     * Now --list-key lists all matching keys.  This is needed in some
2472       other places too.
2473
2474
2475 Noteworthy changes in version 0.4.2 (1998-10-18)
2476 -----------------------------------
2477
2478     * This is only a snapshot: There are still a few bugs.
2479
2480     * Fixed this huge memory leak.
2481
2482     * Redesigned the trust database:  You should run "gpgm --check-trustdb".
2483       New command --update-trustdb, which adds new key from the public
2484       keyring into your trustdb
2485
2486     * Fixed a bug in the armor code, leading to invalid packet errors.
2487       (a workaround for this was to use --no-armor).  The shorten line
2488       length (64 instead of 72) fixes a problem with pgp5 and keyservers.
2489
2490     * comment packets are not anymore generated. "--export" filters
2491       them out.  One Exception:  The comment packets in a secret keyring
2492       are still used because they carry the factorization of the public
2493       prime product.
2494
2495     * --import now only looks for KEYBLOCK headers, so you can now simply
2496       remove the "- " in front of such a header if someone accidently signed
2497       such a message or the keyblock is part of a cleartext signed message.
2498
2499     * --with-colons now lists the key expiration time and not anymore
2500       the valid period.
2501
2502     * Some keyblocks created with old releases have a wrong sequence
2503       of packets, so that the keyservers don't accept these keys.
2504       Simply using "--edit-key" fixes the problem.
2505
2506     * New option --force-v3-sigs to generate signed messages which are
2507       compatible to PGP 5.
2508
2509     * Add some code to support DLD (for non ELF systems) - but this is
2510       not tested because my BSD box is currently broken.
2511
2512     * New command "expire" in the edit-key menu.
2513
2514
2515
2516 Noteworthy changes in version 0.4.1 (1998-10-07)
2517 -----------------------------------
2518
2519     * A secondary key is used when the primary key is specified but cannot
2520       be used for the operation (if it is a sign-only key).
2521
2522     * GNUPG can now handle concatenated armored messages:  There is still a
2523       bug if different kinds of messages are mixed.
2524
2525     * Iterated+Salted passphrases now work.  If want to be sure that PGP5
2526       is able to handle them you may want to use the options
2527         "--s2k-mode 3 --s2k-cipher-algo cast5 --s2k-digest-algo sha1"
2528       when changing a passphrase.
2529
2530     * doc/OpenPGP talks about OpenPGP compliance, doc/HACKING gives
2531       a few hints about the internal structure.
2532
2533     * Checked gnupg against the August 1998 draft (07) and I believe
2534       it is in compliance with this document (except for one point).
2535
2536     * Fixed some bugs in the import merging code and rewrote some
2537       code for the trustdb.
2538
2539
2540 Noteworthy changes in version 0.4.0 (1998-09-18)
2541 -----------------------------------
2542
2543     * Triple DES is now supported.  Michael Roth did this piece of
2544       needed work.  We have now all the coded needed to be OpenPGP
2545       compliant.
2546
2547     * Added a simple rpm spec file (see INSTALL).
2548
2549     * detached and armored signatures are now using "PGP SIGNATURE",
2550       except when --rfc1991 is used.
2551
2552     * All times which are not in the yyyy-mm-dd format are now printed
2553       in local time.
2554
2555
2556 Noteworthy changes in version 0.3.5 (1998-09-14)
2557 -----------------------------------
2558
2559     * New option --throw-keyid to create anonymous enciphered messages.
2560       If gpg detects such a message it tires all available secret keys
2561       in turn so decode it.  This is a gnupg extension and not in OpenPGP
2562       but it has been discussed there and afaik some products use this
2563       scheme too (Suggested by Nimrod Zimmerman).
2564
2565     * Fixed a bug with 5 byte length headers.
2566
2567     * --delete-[secret-]key is now also available in gpgm.
2568
2569     * cleartext signatures are not anymore converted to LF only.
2570
2571     * Fixed a trustdb problem.  Run "gpgm --check-trustdb" to fix old
2572       trust dbs.
2573
2574     * Building in another directory should now work.
2575
2576     * Weak key detection mechanism (Niklas Hernaeus).
2577
2578
2579 Noteworthy changes in version 0.3.4 (1998-08-11)
2580 -----------------------------------
2581
2582     * New options --comment and --set-filename; see g10/OPTIONS
2583
2584     * yes/no, y/n localized.
2585
2586     * Fixed some bugs.
2587
2588
2589 Noteworthy changes in version 0.3.3 (1998-08-08)
2590 -----------------------------------
2591
2592     * IMPORTANT: I found yet another bug in the way the secret keys
2593       are encrypted - I did it the way pgp 2.x did it, but OpenPGP
2594       and pgp 5.x specify another (in some aspects simpler) method.
2595       To convert your secret keys you have to do this:
2596         1. Build the new release but don't install it and keep
2597            a copy of the old program.
2598         2. Disable the network, make sure that you are the only
2599            user, be sure that there are no Trojan horses etc ....
2600         3. Use your old gpg (version 0.3.[12]) and set the
2601            passphrases of ALL your secret keys to empty!
2602            (gpg --change-passphrase your-user-id).
2603         4. Save your ownertrusts (see the next point)
2604         5. rm ~/.gnupg/trustdb.gpg
2605         6. install the new version of gpg (0.3.3)
2606         7. For every secret key call "gpg --edit-key your-user-id",
2607            enter "passwd" at the prompt, follow the instructions and
2608            change your password back, enter "save" to store it.
2609         8. Restore the ownertrust (see next point).
2610
2611     * The format of the trust database has changed; you must delete
2612       the old one, so gnupg can create a new one.
2613       IMPORTANT: Use version 0.3.[12] to save your assigned ownertrusts
2614       ("gpgm --list-ownertrust >saved-trust"); then build this new version
2615       and restore the ownertrust with this new version
2616       ("gpgm --import-ownertrust saved-trust").  Please note that
2617       --list-ownertrust has been renamed to --export-ownertrust in this
2618       release and it does now only export defined ownertrusts.
2619
2620     * The command --edit-key now provides a commandline driven menu
2621       which can be used for various tasks.  --sign-key is only an
2622       an alias to --edit-key and maybe removed in future: use the
2623       command "sign" of this new menu - you can select which user ids
2624       you want to sign.
2625
2626     * Alternate user ids can now be created an signed.
2627
2628     * Owner trust values can now be changed with --edit-key (trust)
2629
2630     * GNUPG can now run as a coprocess; this enables sophisticated
2631       frontends.  tools/shmtest.c is a simple sample implementation.
2632       This needs some more work: all tty_xxx() are to be replaced
2633       by cpr_xxx() and some changes in the display logics is needed.
2634
2635     * Removed options --gen-prime and --gen-random.
2636
2637     * Removed option --add-key; use --edit-key instead.
2638
2639     * Removed option --change-passphrase; use --edit-key instead.
2640
2641     * Signatures are now checked even if the output file could not
2642       be created. Command "--verify" tries to find the detached data.
2643
2644     * gpg now disables core dumps.
2645
2646     * compress and symmetric cipher preferences are now used.
2647       Because there is no 3DES yet, this is replaced by Blowfish.
2648
2649     * We have added the Twofish as an experimental cipher algorithm.
2650       Many thanks to Matthew Skala for doing this work.
2651       Twofish is the AES submission from Schneier et al.; see
2652       "www.counterpane.com/twofish.html" for more information.
2653
2654     * Started with a help system: If you enter a question mark at some
2655       prompt; you should get a specific help for this prompt.
2656
2657     * There is no more backup copy of the secret keyring.
2658
2659     * A lot of new bugs. I think this release is not as stable as
2660       the previous one.
2661
2662
2663 Noteworthy changes in version 0.3.2 (1998-07-09)
2664 -----------------------------------
2665
2666     * Fixed some bugs when using --textmode (-seat)
2667
2668     * Now displays the trust status of a positive verified message.
2669
2670     * Keyrings are now scanned in the sequence they are added with
2671       --[secret-]keyring.  Note that the default keyring is implicitly
2672       added as the very first one unless --no-default-keyring is used.
2673
2674     * Fixed setuid and dlopen bug.
2675
2676
2677 Noteworthy changes in version 0.3.1 (1998-07-06)
2678 -----------------------------------
2679
2680     * Partial headers are now written in the OpenPGP format if
2681       a key in a v4 packet is used.
2682
2683     * Removed some unused options, removed the gnupg.sig stuff.
2684
2685     * Key lookup by name now returns a key which can be used for
2686       the desired action.
2687
2688     * New options --list-ownertrust (gpgm) to make a backup copy
2689       of the ownertrust values you assigned.
2690
2691     * clear signature headers are now in compliance with OpenPGP.
2692
2693
2694 Noteworthy changes in version 0.3.0 (1998-06-25)
2695 -----------------------------------
2696
2697     * New option --emulate-checksum-bug.  If your passphrase does not
2698       work anymore, use this option and --change-passphrase to rewrite
2699       your passphrase.
2700
2701     * More complete v4 key support: Preferences and expiration time
2702       is set into the self signature.
2703
2704     * Key generation defaults to DSA/ElGamal keys, so that new keys are
2705       interoperable with pgp5
2706
2707     * DSA key generation is faster and key generation does not anymore
2708       remove entropy from the random generator (the primes are public
2709       parameters, so there is really no need for a cryptographic secure
2710       prime number generator which we had used).
2711
2712     * A complete new structure for representing the key parameters.
2713
2714     * Removed most public key knowledge into the cipher library.
2715
2716     * Support for dynamic loading of new algorithms.
2717
2718     * Moved tiger to an extension module.
2719
2720
2721 Noteworthy changes in version 0.2.19 (1998-05-29)
2722 ------------------------------------
2723
2724     * Replaced /dev/urandom in checks with new tool mk-tdata.
2725
2726     * Some assembler file cleanups; some more functions for the Alpha.
2727
2728     * Tiger has now the OpenPGP assigned number 6.  Because the OID has
2729       changed, old signatures using this algorithm can't be verified.
2730
2731     * gnupg now encrypts the compressed packed and not any longer in the
2732       reverse order; anyway it can decrypt both versions. Thanks to Tom
2733       for telling me this (not security related) bug.
2734
2735     * --add-key works and you are now able to generate subkeys.
2736
2737     * It is now possible to generate ElGamal keys in v4 packets to create
2738       valid OpenPGP keys.
2739
2740     * Some new features for better integration into MUAs.
2741
2742
2743 Noteworthy changes in version 0.2.18 (1998-05-15)
2744 ------------------------------------
2745
2746     * Splitted cipher/random.c, add new option "--disable-dev-random"
2747       to configure to support the development of a random source for
2748       other systems. Prepared sourcefiles rand-unix.c, rand-w32.c
2749       and rand-dummy.c (which is used to allow compilation on systems
2750       without a random source).
2751
2752     * Fixed a small bug in the key generation (it was possible that 48 bits
2753       of a key were not taken from the random pool)
2754
2755     * Add key generation for DSA and v4 signatures.
2756
2757     * Add a function trap_unaligned(), so that a SIGBUS is issued on
2758       Alphas and not the slow emulation code is used. And success: rmd160
2759       raised a SIGBUS.
2760
2761     * Enhanced the formatting facility of argparse and changed the use of
2762       \r,\v to @ because gettext does not like it.
2763
2764     * New option "--compress-algo 1" to allow the creation of compressed
2765       messages which are readable by PGP and "--print-md" (gpgm) to make
2766       speed measurement easier.
2767
2768
2769 Noteworthy changes in version 0.2.17 (1998-05-04)
2770 ------------------------------------
2771
2772     * Comment packets are now of private type 61.
2773
2774     * Passphrase code still used a 160 bit blowfish key, added a
2775       silly workaround. Please change your passphrase again - sorry.
2776
2777     * Conventional encryption now uses a type 3 packet to describe the
2778       used algorithms.
2779
2780     * The new algorithm number for Blowfish is 20, 16 is still used for
2781       encryption only; for signing it is only used when it is in a v3 packet,
2782       so that GNUPG keys are still valid.
2783
2784
2785 Noteworthy changes in version 0.2.16 (1998-04-28)
2786 ------------------------------------
2787
2788     * Add experimental support for the TIGER/192 message digest algorithm.
2789       (But there is only a dummy ASN OID).
2790
2791     * Standard cipher is now Blowfish with 128 bit key in OpenPGP's CFB
2792       mode. I renamed the old cipher to Blowfish160. Because the OpenPGP
2793       group refused to assign me a number for Blowfish160, I have to
2794       drop support for this in the future. You should use
2795       "--change-passphrase" to recode your current passphrase with 128
2796       bit Blowfish.
2797
2798
2799 Noteworthy changes in version 0.2.15 (1998-04-09)
2800 ------------------------------------
2801
2802     * Fixed a bug with the old checksum calculation for secret keys.
2803       If you run the program without --batch, a warning does inform
2804       you if your secret key needs to be converted; simply use
2805       --change-passphrase to recalculate the checksum. Please do this
2806       soon, as the compatible mode will be removed sometime in the future.
2807
2808     * CAST5 works (using the PGP's special CFB mode).
2809
2810     * Again somewhat more PGP 5 compatible.
2811
2812     * Some new test cases
2813
2814 Noteworthy changes in version 0.2.14 (1998-04-02)
2815 ------------------------------------
2816
2817     * Changed the internal handling of keyrings.
2818
2819     * Add support to list PGP 5 keyrings with subkeys
2820
2821     * Timestamps of signatures are now verified.
2822
2823     * A expiration time can now be specified during key generation.
2824
2825     * Some speedups for Blowfish and SHA-1, rewrote SHA-1 transform.
2826       Reduced the amount of random bytes needed for key generation in
2827       some cases.
2828
2829
2830 Noteworthy changes in version 0.2.13 (1998-03-10)
2831 ------------------------------------
2832
2833     * Verify of DSA signatures works.
2834
2835     * Re-implemented the slower random number generator.
2836
2837
2838 Noteworthy changes in version 0.2.12 (1998-03-07)
2839 ------------------------------------
2840
2841     * --delete-key checks that there is no secret key. The new
2842       option --delete-secret-key maybe used to delete a secret key.
2843
2844     * "-kv" now works as expected. Options "--list-{keys,sigs]"
2845       and "--check-sigs" are now working.
2846
2847     * New options "--verify" and "--decrypt" to better support integration
2848       into MUAs (partly done for Mutt).
2849
2850     * New option "--with-colons" to make parsing of key lists easier.
2851
2852 Noteworthy changes in version 0.2.11 (1998-03-02)
2853 ------------------------------------
2854
2855     * GPG now asks for a recipient's name if option "-r" is not used.
2856
2857     * If there is no good trust path, the program asks whether to use
2858       the public keys anyway.
2859
2860     * "--delete-key" works for public keys. What semantics shall I use
2861       when there is a secret key too? Delete the secret key or leave him
2862       and auto-regenerate the public key, next time the secret key is used?
2863
2864 Noteworthy changes in version 0.2.10 (1998-02-27)
2865 ------------------------------------
2866
2867     * Code for the alpha is much faster (about 20 times); the data
2868       was misaligned and the kernel traps this, so nearly all time
2869       was used by system to trap the misalignments and to write
2870       syslog messages. Shame on me and thanks to Ralph for
2871       pointing me at this while drinking some beer yesterday.
2872
2873     * Changed some configure options and add an option
2874       --disable-m-guard to remove the memory checking code
2875       and to compile everything with optimization on.
2876
2877     * New environment variable GNUPGHOME, which can be used to set
2878       another homedir than ~/.gnupg.  Changed default homedir for
2879       Windoze version to c:/gnupg.
2880
2881     * Fixed detached signatures; detached PGP signatures caused a SEGV.
2882
2883     * The Windoze version works (as usual w/o a strong RNG).
2884
2885
2886 Noteworthy changes in version 0.2.9 (1998-02-26)
2887 -----------------------------------
2888
2889     * Fixed FreeBSD bug.
2890
2891     * Added a simple man page.
2892
2893     * Switched to automake1.2f and a newer gettext.
2894
2895 Noteworthy changes in version 0.2.8 (1998-02-24)
2896 -----------------------------------
2897
2898     * Changed the name to GNUPG, the binaries are called gpg and gpgm.
2899       You must rename rename the directory "~/.g10" to ~/.gnupg/, rename
2900       {pub,sec}ring.g10 to {pub,sec}ring.gpg, trustdb.g10 to trustdb.gpg
2901       and g10.sig to gnupg.sig.
2902
2903     * New or changed passphrases are now salted.
2904
2905
2906 Noteworthy changes in version 0.2.7 (1998-02-18)
2907 -----------------------------------
2908
2909     * New command "gen-revoke" to create a key revocation certificate.
2910
2911     * New option "homedir" to set the homedir (which defaults to "~/.g10").
2912       This directory is created if it does not exists (only the last
2913       part of the name and not the complete hierarchy)
2914
2915     * Command "import" works. (Try: "finger gcrypt@ftp.guug.de|g10 --import")
2916
2917     * New commands "dearmor/enarmor" for g10maint.  These are mainly
2918       used for internal test purposes.
2919
2920     * Option --version now conforming to the GNU standards and lists
2921       the available ciphers, message digests and public key algorithms.
2922
2923     * Assembler code for m68k (not tested).
2924
2925     * "make check" works.
2926
2927 Noteworthy changes in version 0.2.6 (1998-02-13)
2928 -----------------------------------
2929
2930     * Option "--export" works.
2931
2932
2933 Noteworthy changes in version 0.2.5 (1998-02-12)
2934 -----------------------------------
2935
2936     * Added zlib for systems which don't have it.
2937       Use "./configure --with-zlib" to link with the static version.
2938
2939     * Generalized some more functions and rewrote the encoding of
2940       message digests into MPIs.
2941
2942     * Enhanced the checkit script
2943
2944
2945 Noteworthy changes in version 0.2.4 (1998-02-11)
2946 -----------------------------------
2947
2948     * nearly doubled the speed of the ElGamal signature verification.
2949
2950     * backup copies of keyrings are created.
2951
2952     * assembler stuff for Pentium; gives about 15% better performance.
2953
2954     * fixed a lot of bugs.
2955
2956
2957 Noteworthy changes in version 0.2.3 (1998-02-09)
2958 -----------------------------------
2959
2960     * Found a bug in the calculation of ELG fingerprints. This is now
2961       fixed, but all existing fingerprints and keyids for ELG keys
2962       are not any more valid.
2963
2964     * armor should now work; including clear signed text.
2965
2966     * moved some options to the new program g10maint
2967
2968     * It's now 64 bit clean and runs fine on an alpha--linux.
2969
2970     * Key generation is much faster now.  I fixed this by using not
2971       so strong random number for the primes (this was a bug because the
2972       ElGamal primes are public parameters and it does not make sense
2973       to generate them from strong random).  The real secret is the x value
2974       which is still generated from strong (okay: /dev/random) random bits.
2975
2976     * added option "--status-fd": see g10/OPTIONS
2977
2978     * We have secure memory on systems which support mlock().
2979       It is not complete yet, because we do not have signal handler
2980       which does a cleanup in very case.
2981       We should also check the ulimit for the user in the case
2982       that the admin does not have set a limit on locked pages.
2983
2984     * started with internationalization support.
2985
2986     * The logic to handle the web of trust is now implemented. It is
2987       has some bugs; but I'm going to change the algorithm anyway.
2988       It works by calculating the trustlevel on the fly.  It may ask
2989       you to provide trust parameters if the calculated trust probability
2990       is too low.  I will write a paper which discusses this new approach.
2991
2992     * a couple of changes to the configure script.
2993
2994     * New option "--quick-random" which uses a much quicker random
2995       number generator.  Keys generated while this option is in effect
2996       are flags with "INSECURE!" in the user-id.  This is a development
2997       only option.
2998
2999     * Read support for new version packets (OpenPGP).
3000
3001     * Comment packets are now of correct OpenPGP type 16. Old comment
3002       packets written by G10 are detected because they always start with
3003       a hash which is an invalid version byte.
3004
3005     * The string "(INSECURE!)" is appended to a new user-id if this
3006       is generated on a system without a good random number generator.
3007
3008
3009 Version 0.2.2 (1998-02-09)
3010 Version 0.2.1 (1998-01-28)
3011 Version 0.2.0 (1998-01-25)
3012 Version 0.1.3 (1998-01-12)
3013 Version 0.1.2 (1998-01-07)
3014 Version 0.1.1 (1998-01-07)
3015 Version 0.1.0 (1998-01-05)
3016 Version 0.0.0 (1997-12-20)
3017
3018
3019  Copyright (C) 1998-2016 Free Software Foundation, Inc.
3020  Copyright (C) 1997-2016 Werner Koch
3021
3022  This file is free software; as a special exception the author gives
3023  unlimited permission to copy and/or distribute it, with or without
3024  modifications, as long as this notice is preserved.
3025
3026  This file is distributed in the hope that it will be useful, but
3027  WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
3028  implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.