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