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