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