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