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