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