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