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