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