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