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