Support writing of existing keys with non-matching key sizes.
[gnupg.git] / NEWS
1 Noteworthy changes in version 2.0.13
2 -------------------------------------------------
3
4  * GPG now generates 2048 bit RSA keys by default.  The default hash
5    algorithm preferences has changed to prefer SHA-256 over SHA-1.
6    2048 bit DSA keys are now generated to use a 256 bit hash algorithm
7
8  * The envvars XMODIFIERS, GTK_IM_MODULE and QT_IM_MODULE are now
9    passed to the Pinentry to make SCIM work.
10
11  * The GPGSM command --gen-key features a --batch mode and implements
12    all features of gpgsm-gencert.sh in standard mode.
13
14  * New option --re-import for GPGSM's IMPORT server command.
15
16  * Enhanced writing of existing keys to OpenPGP v2 cards.
17
18  * Add hack to the internal CCID driver to allow the use of some
19    Omnikey based card readers with 2048 bit keys.
20
21  * Minor bug fixes.
22
23
24 Noteworthy changes in version 2.0.12 (2009-06-17)
25 -------------------------------------------------
26
27  * GPGSM now always lists ephemeral certificates if specified by
28    fingerprint or keygrip.
29
30  * New command "KEYINFO" for GPG_AGENT.  GPGSM now also returns
31    information about smartcards.
32
33  * Made sure not to leak file descriptors if running gpg-agent with a
34    command.  Restore the signal mask to solve a problem in Mono.
35
36  * Changed order of the confirmation questions for root certificates
37    and store negative answers in trustlist.txt.
38
39  * Better synchronization of concurrent smartcard sessions.
40
41  * Support 2048 bit OpenPGP cards.
42
43  * Support Telesec Netkey 3 cards.
44
45  * The gpg-protect-tool now uses gpg-agent via libassuan.  Under
46    Windows the Pinentry will now be put into the foreground.
47
48  * Changed code to avoid a possible Mac OS X system freeze.
49
50
51 Noteworthy changes in version 2.0.11 (2009-03-03)
52 -------------------------------------------------
53
54  * Fixed a problem in SCDAEMON which caused unexpected card resets.
55
56  * SCDAEMON is now aware of the Geldkarte.
57
58  * The SCDAEMON option --allow-admin is now used by default.
59
60  * GPGCONF now restarts SCdaemon if necessary.
61
62  * The default cipher algorithm in GPGSM is now again 3DES.  This is
63    due to interoperability problems with Outlook 2003 which still
64    can't cope with AES.
65
66
67 Noteworthy changes in version 2.0.10 (2009-01-12)
68 -------------------------------------------------
69
70  * [gpg] New keyserver helper gpg2keys_kdns as generic DNS CERT
71    lookup.  Run with --help for a short description.  Requires the
72    ADNS library.
73
74  * [gpg] New mechanisms "local" and "nodefault" for --auto-key-locate.
75    Fixed a few problems with this option.
76
77  * [gpg] New command --locate-keys.
78
79  * [gpg] New options --with-sig-list and --with-sig-check.
80
81  * [gpg] The option "-sat" is no longer an alias for --clearsign.
82
83  * [gpg] The option --fixed-list-mode is now implicitly used and obsolete.
84
85  * [gpg] New control statement %ask-passphrase for the unattended key
86    generation.
87
88  * [gpg] The algorithm to compute the SIG_ID status has been changed.
89
90  * [gpgsm] Now uses AES by default.
91
92  * [gpgsm] Made --output option work with --export-secret-key-p12.
93
94  * [gpg-agent] Terminate process if the own listening socket is not
95    anymore served by ourself.
96
97  * [scdaemon] Made it more robust on W32.
98
99  * [gpg-connect-agent] Accept commands given as command line arguments.
100
101  * [w32] Initialized the socket subsystem for all keyserver helpers.
102
103  * [w32] The sysconf directory has been moved from a subdirectory of
104    the installation directory to %CSIDL_COMMON_APPDATA%/GNU/etc/gnupg.
105
106  * [w32] The gnupg2.nls directory is not anymore used.  The standard
107    locale directory is now used.  
108
109  * [w32] Fixed a race condition between gpg and gpgsm in the use of
110    temporary file names.
111
112  * The gpg-preset-passphrase mechanism works again.  An arbitrary
113    string may now be used for a custom cache ID.
114
115  * Admin PINs are cached again (bug in 2.0.9).
116
117  * Support for version 2 OpenPGP cards.
118
119  * Libgcrypt 1.4 is now required.
120
121
122 Noteworthy changes in version 2.0.9 (2008-03-26)
123 ------------------------------------------------
124
125  * Gpgsm always tries to locate missing certificates from a running
126    Dirmngr's cache.
127
128  * Tweaks for Windows.
129
130  * The Admin PIN for OpenPGP cards may now be entered with the pinpad.
131
132  * Improved certificate chain construction.
133
134  * Extended the PKITS framework.
135
136  * Fixed a bug in the ambigious name detection.
137
138  * Fixed possible memory corruption while importing OpenPGP keys (bug
139    introduced with 2.0.8). [CVE-2008-1530]
140
141  * Minor bug fixes.
142
143
144 Noteworthy changes in version 2.0.8 (2007-12-20)
145 ------------------------------------------------
146
147  * Enhanced gpg-connect-agent with a small scripting language.
148
149  * New option --list-config for gpgconf.
150
151  * Fixed a crash in gpgconf.
152
153  * Gpg-agent now supports the passphrase quality bar of the latest
154    Pinentry.
155
156  * The envvars XAUTHORITY and PINENTRY_USER_DATA are now passed to the
157    Pinentry.
158
159  * Fixed the auto creation of the key stub for smartcards.  
160
161  * Fixed a rare bug in decryption using the OpenPGP card.
162
163  * Creating DSA2 keys is now possible.
164
165  * New option --extra-digest-algo for gpgsm to allow verification of
166    broken signatures.
167
168  * Allow encryption with legacy Elgamal sign+encrypt keys with option
169    --rfc2440.
170
171  * Windows is now a supported platform.
172
173  * Made sure that under Windows the file permissions of the socket are
174    taken into account.  This required a change of our socket emulation
175    code and changed the IPC protocol under Windows.
176
177
178 Noteworthy changes in version 2.0.7 (2007-09-10)
179 ------------------------------------------------
180
181  * Fixed encryption problem if duplicate certificates are in the
182    keybox.
183
184  * Made it work on Windows Vista.  Note that the entire Windows port
185    is still considered Beta.
186
187  * Add new options min-passphrase-nonalpha, check-passphrase-pattern,
188    enforce-passphrase-constraints and max-passphrase-days to
189    gpg-agent.
190
191  * Add command --check-components to gpgconf.  Gpgconf now uses the
192    installed versions of the programs and does not anymore search via
193    PATH for them.
194
195
196 Noteworthy changes in version 2.0.6 (2007-08-16)
197 ------------------------------------------------
198
199  * GPGSM does now grok --default-key.
200
201  * GPGCONF is now aware of --default-key and --encrypt-to. 
202
203  * GPGSM does again correctly print the serial number as well the the
204    various keyids.  This was broken since 2.0.4.
205
206  * New option --validation-model and support for the chain-model.
207
208  * Improved Windows support.
209
210  
211 Noteworthy changes in version 2.0.5 (2007-07-05)
212 ------------------------------------------------
213
214  * Switched license to GPLv3.
215
216  * Basic support for Windows.  Run "./autogen.sh --build-w32" to build
217    it.  As usual the mingw cross compiling toolchain is required.
218
219  * Fixed bug when using the --p12-charset without --armor.
220
221  * The command --gen-key may now be used instead of the
222    gpgsm-gencert.sh script.
223
224  * Changed key generation to reveal less information about the
225    machine.  Bug fixes for gpg2's card key generation.
226
227
228 Noteworthy changes in version 2.0.4 (2007-05-09)
229 ------------------------------------------------
230
231  * The server mode key listing commands are now also working for
232    systems without the funopen/fopencookie API.
233
234  * PKCS#12 import now tries several encodings in case the passphrase
235    was not utf-8 encoded.  New option --p12-charset for gpgsm.
236
237  * Improved the libgcrypt logging support in all modules.
238
239
240 Noteworthy changes in version 2.0.3 (2007-03-08)
241 ------------------------------------------------
242
243  * By default, do not allow processing multiple plaintexts in a single
244    stream.  Many programs that called GnuPG were assuming that GnuPG
245    did not permit this, and were thus not using the plaintext boundary
246    status tags that GnuPG provides.  This change makes GnuPG reject
247    such messages by default which makes those programs safe again.
248    --allow-multiple-messages returns to the old behavior. [CVE-2007-1263].
249
250  * New --verify-option show-primary-uid-only. 
251
252  * gpgconf may now reads a global configuration file to select which
253    options are changeable by a frontend.  The new applygnupgdefaults
254    tool may be used by an admin to set default options for all users.
255
256  * The PIN pad of the Cherry XX44 keyboard is now supported.  The
257    DINSIG and the NKS applications are now also aware of PIN pads.
258
259
260 Noteworthy changes in version 2.0.2 (2007-01-31)
261 ------------------------------------------------
262
263  * Fixed a serious and exploitable bug in processing encrypted
264    packages. [CVE-2006-6235].
265
266  * Added --passphrase-repeat to set the number of times GPG will
267    prompt for a new passphrase to be repeated.  This is useful to help
268    memorize a new passphrase.  The default is 1 repetition.
269
270  * Using a PIN pad does now also work for the signing key.
271
272  * A warning is displayed by gpg-agent if a new passphrase is too
273    short.  New option --min-passphrase-len defaults to 8.
274
275  * The status code BEGIN_SIGNING now shows the used hash algorithms.
276
277
278 Noteworthy changes in version 2.0.1 (2006-11-28)
279 ------------------------------------------------
280
281  * Experimental support for the PIN pads of the SPR 532 and the Kaan
282    Advanced card readers.  Add "disable-keypad" scdaemon.conf if you
283    don't want it.  Does currently only work for the OpenPGP card and
284    its authentication and decrypt keys.
285
286  * Fixed build problems on some some platforms and crashes on amd64.
287
288  * Fixed a buffer overflow in gpg2. [bug#728,CVE-2006-6169]
289
290
291 Noteworthy changes in version 2.0.0 (2006-11-11)
292 ------------------------------------------------
293
294  * First stable version of a GnuPG integrating OpenPGP and S/MIME.
295
296
297 Noteworthy changes in version 1.9.95 (2006-11-06)
298 -------------------------------------------------
299
300  * Minor bug fixes.
301
302
303 Noteworthy changes in version 1.9.94 (2006-10-24)
304 -------------------------------------------------
305
306  * Keys for gpgsm may now be specified using a keygrip.  A keygrip is
307    indicated by a prefixing it with an ampersand.
308
309  * gpgconf now supports switching the CMS cipher algo (e.g. to AES).
310
311  * New command --gpgconf-test for all major tools. This may be used to
312    check whether the configuration file is sane.
313
314
315 Noteworthy changes in version 1.9.93 (2006-10-18)
316 -------------------------------------------------
317
318  * In --with-validation mode gpgsm will now also ask whether a root
319    certificate should be trusted.
320
321  * Link to Pth only if really necessary.
322
323  * Fixed a pubring corruption bug in gpg2 occurring when importing
324    signatures or keys with insane lengths.
325
326  * Fixed v3 keyID calculation bug in gpg2.
327
328  * More tweaks for certificates without extensions.
329
330
331 Noteworthy changes in version 1.9.92 (2006-10-11)
332 -------------------------------------------------
333
334  * Bug fixes.
335
336
337 Noteworthy changes in version 1.9.91 (2006-10-04)
338 -------------------------------------------------
339
340  * New "relax" flag for trustlist.txt to allow root CA certificates
341    without BasicContraints.
342
343  * [gpg2] Removed the -k PGP 2 compatibility hack.  -k is now an
344    alias for --list-keys.
345
346  * [gpg2] Print a warning if "-sat" is used instead of "--clearsign".
347
348
349 Noteworthy changes in version 1.9.90 (2006-09-25)
350 -------------------------------------------------
351
352  * Made readline work for gpg.
353
354  * Cleanups und minor bug fixes.
355
356  * Included translations from gnupg 1.4.5.
357
358
359 Noteworthy changes in version 1.9.23 (2006-09-18)
360 -------------------------------------------------
361
362  * Regular man pages for most tools are now build directly from the
363    Texinfo source.
364
365  * The gpg code from 1.4.5 has been fully merged into this release.
366    The configure option --enable-gpg is still required to build this
367    gpg part.  For production use of OpenPGP the gpg version 1.4.5 is
368    still recommended.  Note, that gpg will be installed under the name
369    gpg2 to allow coexisting with an 1.4.x gpg.
370
371  * API change in gpg-agent's pkdecrypt command.  Thus an older gpgsm
372    may not be used with the current gpg-agent.
373
374  * The scdaemon will now call a script on reader status changes.
375
376  * gpgsm now allows file descriptor passing for "INPUT", "OUTPUT" and
377    "MESSAGE".
378
379  * The gpgsm server may now output a key listing to the output file
380    handle. This needs to be enabled using "OPTION list-to-output=1".
381
382  * The --output option of gpgsm has now an effect on list-keys.
383
384  * New gpgsm commands --dump-chain and list-chain.
385
386  * gpg-connect-agent has new options to utilize descriptor passing.
387
388  * A global trustlist may now be used.  See doc/examples/trustlist.txt.
389
390  * When creating a new pubring.kbx keybox common certificates are
391    imported.
392
393
394 Noteworthy changes in version 1.9.22 (2006-07-27)
395 -------------------------------------------------
396
397  * Enhanced pkcs#12 support to allow import from simple keyBags.
398
399  * Exporting to pkcs#12 now create bag attributes so that Mozilla is
400    able to import the files.
401
402  * Fixed uploading of certain keys to the smart card.
403
404
405 Noteworthy changes in version 1.9.21 (2006-06-20)
406 -------------------------------------------------
407
408  * New command APDU for scdaemon to allow using it for general card
409    access.  Might be used through gpg-connect-agent by using the SCD
410    prefix command.
411
412  * Support for the CardMan 4040 PCMCIA reader (Linux 2.6.15 required).
413
414  * Scdaemon does not anymore reset cards at the end of a connection. 
415
416  * Kludge to allow use of Bundesnetzagentur issued X.509 certificates.
417
418  * Added --hash=xxx option to scdaemon's PKSIGN command.
419
420  * Pkcs#12 files are now created with a MAC.  This is for better
421    interoperability.
422
423  * Collected bug fixes and minor other changes.
424
425
426 Noteworthy changes in version 1.9.20 (2005-12-20)
427 -------------------------------------------------
428
429  * Importing pkcs#12 files created be recent versions of Mozilla works
430    again.
431
432  * Basic support for qualified signatures.
433
434  * New debug tool gpgparsemail. 
435
436
437 Noteworthy changes in version 1.9.19 (2005-09-12)
438 -------------------------------------------------
439
440  * The Belgian eID card is now supported for signatures and ssh.
441    Other pkcs#15 cards should work as well.
442
443  * Fixed bug in --export-secret-key-p12 so that certificates are again
444    included.
445
446
447 Noteworthy changes in version 1.9.18 (2005-08-01)
448 -------------------------------------------------
449
450  * [gpgsm] Now allows for more than one email address as well as URIs
451    and dnsNames in certificate request generation.  A keygrip may be
452    given to create a request from an existing key.
453
454  * A couple of minor bug fixes.
455
456
457 Noteworthy changes in version 1.9.17 (2005-06-20)
458 -------------------------------------------------
459
460  * gpg-connect-agent has now features to handle Assuan INQUIRE
461    commands.
462
463  * Internal changes for OpenPGP cards. New Assuan command WRITEKEY.
464
465  * GNU Pth is now a hard requirement.
466
467  * [scdaemon] Support for OpenSC has been removed.  Instead a new and
468    straightforward pkcs#15 modules has been written.  As of now it
469    does allows only signing using TCOS cards but we are going to
470    enhance it to match all the old capabilities.
471
472  * [gpg-agent] New option --write-env-file and Assuan command
473    UPDATESTARTUPTTY.
474
475  * [gpg-agent] New option --default-cache-ttl-ssh to set the TTL for
476    SSH passphrase caching independent from the other passphrases.
477
478
479 Noteworthy changes in version 1.9.16 (2005-04-21)
480 -------------------------------------------------
481
482  * gpg-agent does now support the ssh-agent protocol and thus allows
483    to use the pinentry as well as the OpenPGP smartcard with ssh.
484
485  * New tool gpg-connect-agent as a general client for the gpg-agent.
486
487  * New tool symcryptrun as a wrapper for certain encryption tools.
488
489  * The gpg tool is not anymore build by default because those gpg
490    versions available in the gnupg 1.4 series are far more matured.
491
492
493 Noteworthy changes in version 1.9.15 (2005-01-13)
494 -------------------------------------------------
495
496  * Fixed passphrase caching bug.
497
498  * Better support for CCID readers; the reader from Cherry RS 6700 USB
499    does now work.
500
501
502 Noteworthy changes in version 1.9.14 (2004-12-22)
503 -------------------------------------------------
504
505  * [gpg-agent] New option --use-standard-socket to allow the use of a
506    fixed socket.  gpgsm falls back to this socket if GPG_AGENT_INFO
507    has not been set.
508
509  * Ported to MS Windows with some functional limitations.
510
511  * New tool gpg-preset-passphrase.
512
513
514 Noteworthy changes in version 1.9.13 (2004-12-03)
515 -------------------------------------------------
516
517  * [gpgsm] New option --prefer-system-dirmngr.
518
519  * Minor cleanups and debugging aids.
520
521
522 Noteworthy changes in version 1.9.12 (2004-10-22)
523 -------------------------------------------------
524
525  * [scdaemon] Partly rewrote the PC/SC code.
526
527  * Removed the sc-investigate tool.  It is now in a separate package
528    available at ftp://ftp.g10code.com/g10code/gscutils/ .
529
530  * [gpg-agent] Fixed logging problem.
531
532
533 Noteworthy changes in version 1.9.11 (2004-10-01)
534 -------------------------------------------------
535
536  * When using --import along with --with-validation, the imported
537    certificates are validated and only imported if they are fully
538    valid.
539
540  * [gpg-agent] New option --max-cache-ttl.
541
542  * [gpg-agent] When used without --daemon or --server, gpg-agent now
543    check whether a agent is already running and usable.
544
545  * Fixed some i18n problems.
546
547
548 Noteworthy changes in version 1.9.10 (2004-07-22)
549 -------------------------------------------------
550
551  * Fixed a serious bug in the checking of trusted root certificates.
552
553  * New configure option --enable-agent-pnly allows to build and
554    install just the agent.
555
556  * Fixed a problem with the log file handling.
557
558
559 Noteworthy changes in version 1.9.9 (2004-06-08)
560 ------------------------------------------------
561
562  * [gpg-agent] The new option --allow-mark-trusted is now required to
563    allow gpg-agent to add a key to the trustlist.txt after user
564    confirmation.
565
566  * Creating PKCS#10 requests does now honor the key usage.
567
568
569 Noteworthy changes in version 1.9.8 (2004-04-29)
570 ------------------------------------------------
571
572  * [scdaemon] Overhauled the internal CCID driver.
573
574  * [scdaemon] Status files named ~/.gnupg/reader_<n>.status are now
575    written when using the internal CCID driver.
576
577  * [gpgsm] New commands --dump-{,secret,external}-keys to show a very
578    detailed view of the certificates.
579
580  * The keybox gets now compressed after 3 hours and ephemeral
581    stored certificates are deleted after about a day.
582
583  * [gpg] Usability fixes for --card-edit.  Note, that this has already
584    been ported back to gnupg-1.3
585
586
587 Noteworthy changes in version 1.9.7 (2004-04-06)
588 ------------------------------------------------
589
590  * Instrumented the modules for gpgconf.
591
592  * Added support for DINSIG card applications.
593
594  * Include the smimeCapabilities attribute with signed messages.
595
596  * Now uses the gettext domain "gnupg2" to avoid conflicts with gnupg
597    versions < 1.9.
598
599
600 Noteworthy changes in version 1.9.6 (2004-03-06)
601 ------------------------------------------------
602
603  * Code cleanups and bug fixes.
604
605
606 Noteworthy changes in version 1.9.5 (2004-02-21)
607 ------------------------------------------------
608
609  * gpg-protect-tool gets now installed into libexec as it ought to be.
610    Cleaned up the build system to better comply with the coding
611    standards.
612
613  * [gpgsm] The --import command is now able to autodetect pkcs#12
614    files and import secret and private keys from this file format.
615    A new command --export-secret-key-p12 is provided to allow
616    exporting of secret keys in PKCS\#12 format.
617
618  * [gpgsm] The pinentry will now present a description of the key for
619    whom the passphrase is requested.
620
621  * [gpgsm] New option --with-validation to check the validity of key
622    while listing it.
623
624  * New option --debug-level={none,basic,advanced,expert,guru} to map
625    the debug flags to sensitive levels on a per program base.
626
627
628 Noteworthy changes in version 1.9.4 (2004-01-30)
629 ------------------------------------------------
630
631  * Added support for the Telesec NKS 2.0 card application.
632
633  * Added simple tool addgnupghome to create .gnupg directories from
634    /etc/skel/.gnupg.
635
636  * Various minor bug fixes and cleanups; mainly gpgsm and gpg-agent
637    related.
638
639
640 Noteworthy changes in version 1.9.3 (2003-12-23)
641 ------------------------------------------------
642
643  * New gpgsm options --{enable,disable}-ocsp to validate keys using
644    OCSP. This option requires a not yet released DirMngr version.
645    Default is disabled.
646
647  * The --log-file option may now be used to print logs to a socket.
648    Prefix the socket name with "socket://" to enable this.  This does
649    not work on all systems and falls back to stderr if there is a
650    problem with the socket.
651
652  * The options --encrypt-to and --no-encrypt-to now work the same in
653    gpgsm as in gpg.  Note, they are also used in server mode.
654
655  * Duplicated recipients are now silently removed in gpgsm.
656
657
658 Noteworthy changes in version 1.9.2 (2003-11-17)
659 ------------------------------------------------
660
661  * On card key generation is no longer done using the --gen-key
662    command but from the menu provided by the new --card-edit command.
663
664  * PINs are now properly cached and there are only 2 PINs visible.
665    The 3rd PIN (CHV2) is internally syncronized with the regular PIN.
666
667  * All kind of other internal stuff.
668
669
670 Noteworthy changes in version 1.9.1 (2003-09-06)
671 ------------------------------------------------
672
673  * Support for OpenSC is back. scdaemon supports a --disable-opensc to
674    disable OpenSC use at runtime, so that PC/SC or ct-API can still be
675    used directly.
676
677  * Rudimentary support for the SCR335 smartcard reader using an
678    internal driver.  Requires current libusb from CVS.
679
680  * Bug fixes.
681
682
683 Noteworthy changes in version 1.9.0 (2003-08-05)
684 ------------------------------------------------
685
686       ====== PLEASE SEE README-alpha =======
687
688  * gpg has been renamed to gpg2 and gpgv to gpgv2.  This is a
689    temporary change to allow co-existing with stable gpg versions.
690
691  * ~/.gnupg/gpg.conf-1.9.0 is fist tried as config file before the
692    usual gpg.conf.
693
694  * Removed the -k, -kv and -kvv commands.  -k is now an alias to
695    --list-keys.  New command -K as alias for --list-secret-keys.
696
697  * Removed --run-as-shm-coprocess feature.
698
699  * gpg does now also use libgcrypt, libgpg-error is required.
700
701  * New gpgsm commands --call-dirmngr and --call-protect-tool.
702
703  * Changing a passphrase is now possible using "gpgsm --passwd"
704
705  * The content-type attribute is now recognized and created.
706
707  * The agent does now reread certain options on receiving a HUP.
708
709  * The pinentry is now forked for each request so that clients with
710    different environments are supported.  When running in daemon mode
711    and --keep-display is not used the DISPLAY variable is ignored.
712
713  * Merged stuff from the newpg branch and started this new
714    development branch.
715
716
717  Copyright 2002, 2003, 2004, 2005, 2006, 2007,
718            2008, 2009  Free Software Foundation, Inc.
719
720  This file is free software; as a special exception the author gives
721  unlimited permission to copy and/or distribute it, with or without
722  modifications, as long as this notice is preserved.
723
724  This file is distributed in the hope that it will be useful, but
725  WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
726  implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.