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