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