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