1.04: 2000/6/17, add "load" button to svm-toy. README
file updated.

2.0: 2000/8, major updates. Include nu-svm, one-class svm, and svr

2.01: 2000/9/22, correct the calculation of obj value and number of bounded support vectors

2.02: 2000/9/29, replace b^2/2 newsvm to regular nu svm.

2.03: 2000/10/24 some improvements on the computational speed

2.1: 2000/12/19 Java version included, regression demonstrated in svm-toy

2.2: 2001/1/16 multi-class classification, nu-SVR, remove epsilon_a

2.3: 2001/3/15 c+-, cross validation, fix some minor bugs

2.31: 2001/4/12 fix one bug on one-class SVM, use float for Cache

2.32: 2001/9/23
1. max line number of svm-scale now dynamic
2. gcc 3.0 problem: now g++ always used
3. java code in a "libsvm" package
4. avoid a problem when compiled with Borland C++ builder

2.33: 2001/12/1
Python interface added

2.34: 2002/6/15
Add the subroutine svm_check_parameter in svm.cpp
--> better error handling
fix bug of python interface for handling different weights
fix bug of cross validation in svm-train.c

2.35: 2002/6/16
libsvm.jar was not compiled correctly in 2.34

2.36: 2002/8/4
grid.py added: contour plot of CV accuracy
fix several bugs

2.4:  2003/4/1
svm.cpp
non-psd kernel using max(...,0) in svm.cpp
    python interface
python interface bug (nu-svm)
    grid.py
    -log2c and -log2c for grid.py
    output current best
coarse grid as default (2)
    ssh for grid.py
    improvements of scaling

    2.5: 2003/11/13
    subroutines for accessing decision values and number of labels.
    for svm.cpp, java, and  python interface
    fix bug of svm-scale.c (about -r and -s factors)
use fscanf but not sscanf in svm-predict.c (faster)
    makefile for windows
    add "using namespace std;" in some .java files
    improve easy.py: output cv rate, error messages printed
    better checking
    better python interface example svm_test.py
    and some minor updates

    2.6: 2004/04/01
    Probability estimates for classification/regression
    Python interface: use swig 1.3 instead of 1.1
    Cross validation becomes a library subroutine
A few minor corrections: (not completely listed)
    more interface functions such as getting svm_type
    print nu only when Cp=Cn
    floor division in python interface

    2.7: 2004/11/10
    Stratified cross validation
    Better faq
    Scaling: support storing the factor of y
    A few minor updates:
    class QMatrix added
    improve the use of easy.py and grid.py on windows
    grid.py: same CV and same g: use smaller C
    sparse input for python interface
    working set selection: < to <=

    2.71: 2004/11/20
    fix a java bug introduced from 2.6 to 2.7

    2.8: 2005/04/01
    new working set selection via second order information
    fix minor changes/corrections:
    problem when cache size less than two kernel columns
    -v #data -> stratified CV is not loo -> ensure loo is done
    problem of typing "svm-train -c" only
    problem of "svm-train -n 1 -s 3 ..."
    python interface makefile: -fPIC for 32/64bit
    color change in svmtoy
    makefile in building QT svmtoy

    2.81: 2005/11/20
    add a python script subset.py for subsampling
    slightly modify the working set so it's exact the same as the paper
    default cache size to 100 MB

    2.82: 2006/04/01
    precomputed kernel
    directly implement a fast powi() function
    poly degree double to int
    minor corrections:
    java code for CV
    2.83: 2006/11/17
    Fix the bug of -t 3
    better checking load/save in svm-train.c/svm-predict.c/svm.cpp
remove redundant var pos in svm_predict_values (thanks to Albert Strasheim)
    Better descriptions in README for the precomputed kernel

    2.84: 2007/04/01
    Improve the shrinking code: faster for some cases
    Code more 64-bit friendly: allow large -m
    In Solver, b is replaced by p
    Subroutine max_violating_pair removed. Things are directly
    written in do_shrinking().
    Modify do_shrinking() so variable names are the same as libsvm
    document

    2.85: 2007/11/6
    fix minor memory leak in svm-predict.c
    add tools/checkdata.py
    java to 1.5
    Makefile: CXX?
    Makefile.win: avoid warning from .net 2005
    avoid warning of gcc 4.2
    sigma 0.001 to 1e-12; in Newton direction of prob output
    2 * (long int) l avoid warning of old Visual C++
    grid.py: avoid gnuplot problem on windows

    2.86: 2008/04/01
    svm-scale for java
    version number in svm.h and svm.m4
    rename svmtrain.exe to svm-train.exe
    python: while 1 --> while True, Popen -> call
    show best parameters on the contour of grid.py

    2.87: 2008/10/13
    svm-toy/qt updated to qt4 from qt3
    fix a bug in svm-scale.c
    max feature index of -r file is considered
    Makefile: add make lib; add -Wconversion and -fPIC in Makefile
    Add "rb" in load_model of svm.cpp
    Simplify do_shrinking of svm.cpp
    Change the order of loops in reconstrict_gradient of svm.cpp
    save the number of kernel evaluations
    Add python/setup.py

    2.88: 2008/10/30
    better gradient reconstructions
    issue a warning	when -h 0 may be faster

    2.89: 2009/04/01
    reduce input/loading time of svm-train/svm-predict by half
    pointer function so users can specify their own outputs
remove info_flush()
    a extern variable libsvm_version
svm-train -q option (disable outputs)
    svm-scale: warning if more nonzero produced
    easy.py: popel.communiate() to avoid some deadlock (if lots of
	    outputs when #classes is large)

    2.9: 2009/11/1
    tools/*.py can be run under python 3.0
	   svm_set_quiet() in python interface to disable outputs
	   check gamma < 0
	   internal functions to be static

	   2.91: 2010/04/01
	   completely new python interface using ctype
	   new way to set the print_string function
	   Java: able to load model from a BufferedReader directly
	   fix grid.py so -log2c can be run under python 2.6 or after

	   3.0: 2010/09/13
	   Move model structure to svm.h
	   Two functions for freeing a model (content or the whole model)
	   QD from Qfloat to double (better precision because SSE on 64-bit machines less accurate than i387 on 32-bit
	   exit status for checkdata.py
	   old python interface (swig) is removed
	   ------------------

	   Future plan:
	   ?.?:
	   merge matlab interface to core libsvm
	   update make.m of matlab interface to use max(...)

