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