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