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