blob: 026717028790a6c6297e0e28147969e9c3f898f7 [file] [log] [blame]
Sameer Agarwal8ed29a72012-06-07 17:04:25 -07001%!TEX root = ceres-solver.tex
2
3\chapter{Version History}
Sameer Agarwal3e3b8922012-07-19 10:34:16 -07004\section*{1.3.0}
5\subsection{New Features}
6\begin{itemize}
7\item Windows port. (Changchang Wu and Pierre Moulon also contributed to the port)
8\item Support for returning initial and final derivatives (Gradient \& Jacobian).
9\item Gradient computation support in the evaluators, with an eye towards developing first order/gradient based solvers.
10\item Ability to build Ceres as a shared library, associated versioning and build release script changes.
11\item A better way to compute \texttt{Solver::Summary::fixed\_cost}. (Markus Moll)
12\item Portable floating point classification API.
13\end{itemize}
14
15\subsection{Bug Fixes}
16\begin{itemize}
17\item Fix IsInfinite on Jets.
18\item Drop alignment requirements for Jets.
19\item Fixed Jet to integer comparison. (Keith Leung)
20\item Fix use of uninitialized arrays. (Sebastian Koch \& Markus Moll)
21\item Conditionally compile gflag dependencies.(Casey Goodlett)
22\item Add \texttt{data\_fitting.cc } to the examples CMake file.
23\end{itemize}
24
Sameer Agarwal57a34582012-06-24 12:42:36 -070025\section*{1.2.3}
26\subsection{Bug Fixes}
27\begin{itemize}
28\item \texttt{suitesparse\_test} is enabled even when \texttt{-DSUITESPARSE=OFF}.
29\item \texttt{FixedArray} internal struct did not respect \texttt{Eigen}
Sameer Agarwal3e3b8922012-07-19 10:34:16 -070030 alignment requirements (Koichi Akabe \& Stephan Kassemeyer).
Sameer Agarwal57a34582012-06-24 12:42:36 -070031\item Fixed \texttt{quadratic.cc} documentation and code mismatch
Sameer Agarwal3e3b8922012-07-19 10:34:16 -070032 (Nick Lewycky).
Sameer Agarwal57a34582012-06-24 12:42:36 -070033\end{itemize}
Keir Mierle29937702012-06-19 00:39:32 -070034\section*{1.2.2}
35\subsection{Bug Fixes}
36\begin{itemize}
Sameer Agarwal3e3b8922012-07-19 10:34:16 -070037\item Fix constant parameter blocks, and other minor fixes (Markus Moll)
Sameer Agarwal57a34582012-06-24 12:42:36 -070038\item Fix alignment issues when combining \texttt{Jet} and
39 \texttt{FixedArray} in automatic differeniation.
40\item Remove obsolete \texttt{build\_defs} file.
Keir Mierle29937702012-06-19 00:39:32 -070041\end{itemize}
Sameer Agarwal97fb6d92012-06-17 10:08:19 -070042\section*{1.2.1}
43\subsection{New Features}
44\begin{itemize}
Keir Mierle64f14102012-06-18 00:57:59 -070045\item Powell's Dogleg solver
46\item Documentation now has a brief overview of Trust Region methods and how the Levenberg-Marquardt and Dogleg methods work.
Sameer Agarwal97fb6d92012-06-17 10:08:19 -070047\end{itemize}
48\subsection{Bug Fixes}
49\begin{itemize}
Sameer Agarwal3e3b8922012-07-19 10:34:16 -070050\item Destructor for \texttt{TrustRegionStrategy} was not virtual (Markus Moll)
51\item Invalid \texttt{DCHECK} in \texttt{suitesparse.cc} (Markus Moll)
52\item Iteration callbacks were not properly invoked (Luis Alberto Zarrabeiti)
Keir Mierle64f14102012-06-18 00:57:59 -070053\item Logging level changes in ConjugateGradientsSolver
54\item VisibilityBasedPreconditioner setup does not account for skipped camera pairs. This was debugging code.
55\item Enable SSE support on MacOS
Sameer Agarwal3e3b8922012-07-19 10:34:16 -070056\item \texttt{system\_test} was taking too long and too much memory (Koichi Akabe)
Sameer Agarwal97fb6d92012-06-17 10:08:19 -070057\end{itemize}
Sameer Agarwal8ed29a72012-06-07 17:04:25 -070058\section*{1.2.0}
59\subsection{New Features}
60\begin{itemize}
61\item \texttt{CXSparse} support.
62\item Block oriented fill reducing orderings. This
63reduces the factorization time for sparse
64\texttt{CHOLMOD} significantly.
65\item New Trust region loop with support for multiple
66trust region step strategies. Currently only Levenberg-Marquardt is supported, but this refactoring opens the door for Dog-leg, Stiehaug and others.
67\item \texttt{Cmake} file restructuring. Builds in \texttt{Release} mode by default, and now has platform specific tuning flags.
68\item Re-organized documentation. No new content, but better organization.
69\end{itemize}
70
71\subsection{Bug Fixes}
72\begin{itemize}
73\item Fixed integer overflow bug in \texttt{block\_random\_access\_sparse\_matrix.cc}.
74\item Renamed some macros to prevent name conflicts.
75\item Fixed incorrent input to \texttt{StateUpdatingCallback}.
76\item Fixes to AutoDiff tests.
77\item Various internal cleanups.
78\end{itemize}
79
80\section*{1.1.1}
81\subsection{Bug Fixes}
82\begin{itemize}
Sameer Agarwal3e3b8922012-07-19 10:34:16 -070083\item Fix a bug in the handling of constant blocks. (Louis Simard)
Sameer Agarwal8ed29a72012-06-07 17:04:25 -070084\item Add an optional lower bound to the Levenberg-Marquardt regularizer to prevent oscillating between well and ill posed linear problems.
85\item Some internal refactoring and test fixes.
86\end{itemize}
87\section{1.1.0}
88\subsection{New Features}
89\begin{itemize}
90\item New iterative linear solver for general sparse problems - \texttt{CGNR} and a block Jacobi preconditioner for it.
91\item Changed the semantics of how \texttt{SuiteSparse} dependencies are checked and used. Now \texttt{SuiteSparse} is built by default, only if all of its dependencies are present.
92\item Automatic differentiation now supports dynamic number of residuals.
93\item Support for writing the linear least squares problems to disk in text format so that they can loaded into \texttt{MATLAB}.
94\item Linear solver results are now checked for nan and infinities.
95\item Added \texttt{.gitignore} file.
96\item A better more robust build system.
97\end{itemize}
98
99\subsection{Bug Fixes}
100\begin{itemize}
101\item Fixed a strict weak ordering bug in the schur ordering.
102\item Grammar and typos in the documents and code comments.
103\item Fixed tests which depended on exact equality between floating point values.
104\end{itemize}
105\section*{1.0.0}
Keir Mierle64f14102012-06-18 00:57:59 -0700106Initial Release.