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