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