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