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