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