Blob Blame History Raw
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

------------------

Future plan:
?.?:
	old python interface is removed

	update make.m of matlab interface to use max(...)