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