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