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