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