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