Version 1.3: - Internal changes to Tree and TreeNode for faster processing. - Removed Tree::DepthFirstIterator and replaced it with PreOrderIterator and PostOrderIterator. - Added the ability to copy Trees. - Added Tree::DeleteNode(), which deletes a specified node as well as all children nodes. - Added a "merging" copy constructor to Tree which takes 2 trees and returns one big merged tree. - Minor fixes to Clusterer (more const member functions) - Clusterer has a new function, GetNumCenters(). - Allow a UniformPyramidMaker to be constructed with a vector of PointRefs (in addition to a PointSetList) - PointSets now have the ability to serialize themselves (before, that was all handled by PointSetList). - The pointsets-to-uniform-pyramids tool takes less memory by keeping all of the PointSetLists on disk. - Added more user-friendly output to the tools. - Fixed some compilation errors on gcc-4.1.1. Version 1.2: - Added depth-first and breadth-first iterators to Tree. - Added ReadFromFile() and WriteToFile() convenience functions for most classes that support serialization. Version 1.1: - KernelMatrix now uses doubles to store data, rather than floats. - Added a Matrix class, which is just a rectangular 2D array of doubles. - Added a new constructor to Experiment, which allows one to pass in data in two separate pieces (training and testing), so you no longer have to compute kernel values between the test examples if you know which ones they are. - Added ProbSVMExperiment, another SVM experiment example, which reports the posterior probabilities of each class for each test example. - Added a new Tree class template and TreeNode, which lets you create custom tree-like structures. MultiResolutionHistogram has been rewritten as a wrapper around Tree, but its interface has not changed (all changes are transparent). Version 1.0: - Initial release