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