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