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