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