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