%!TEX root = ceres-solver.tex

\chapter{Version History}
\section*{1.3.0}
\subsection{New Features}
\begin{itemize}
\item Windows port. (Changchang Wu and Pierre Moulon also contributed to the port)
\item Support for returning initial and final derivatives (Gradient \& Jacobian).
\item Gradient computation support in the evaluators, with an eye towards developing first order/gradient based solvers.
\item Ability to build Ceres as a shared library, associated versioning and build release script changes.
\item A better way to compute \texttt{Solver::Summary::fixed\_cost}. (Markus Moll)
\item Portable floating point classification API.
\end{itemize}

\subsection{Bug Fixes}
\begin{itemize}
\item Fix IsInfinite on Jets.
\item Drop alignment requirements for Jets.
\item Fixed Jet to integer comparison. (Keith Leung)
\item Fix use of uninitialized arrays. (Sebastian Koch \& Markus Moll)
\item Conditionally compile gflag dependencies.(Casey Goodlett)
\item Add \texttt{data\_fitting.cc } to the examples CMake file.
\end{itemize}

\section*{1.2.3}
\subsection{Bug Fixes}
\begin{itemize}
\item \texttt{suitesparse\_test} is enabled even when \texttt{-DSUITESPARSE=OFF}.
\item \texttt{FixedArray} internal struct did not respect \texttt{Eigen}
  alignment requirements (Koichi Akabe \& Stephan Kassemeyer).
\item Fixed \texttt{quadratic.cc} documentation and code mismatch
  (Nick Lewycky).
\end{itemize}
\section*{1.2.2}
\subsection{Bug Fixes}
\begin{itemize}
\item Fix constant parameter blocks, and other minor fixes (Markus Moll)
\item Fix alignment issues when combining \texttt{Jet} and
  \texttt{FixedArray} in automatic differeniation.
\item Remove obsolete \texttt{build\_defs} file.
\end{itemize}
\section*{1.2.1}
\subsection{New Features}
\begin{itemize}
\item Powell's Dogleg solver
\item Documentation now has a brief overview of Trust Region methods and how the Levenberg-Marquardt and Dogleg methods work.
\end{itemize}
\subsection{Bug Fixes}
\begin{itemize}
\item Destructor for \texttt{TrustRegionStrategy} was not virtual (Markus Moll)
\item Invalid \texttt{DCHECK} in \texttt{suitesparse.cc} (Markus Moll)
\item Iteration callbacks were not properly invoked (Luis Alberto Zarrabeiti)
\item Logging level changes in ConjugateGradientsSolver
\item VisibilityBasedPreconditioner setup does not account for skipped camera pairs. This was debugging code.
\item Enable SSE support on MacOS
\item \texttt{system\_test} was taking too long and too much memory (Koichi Akabe)
\end{itemize}
\section*{1.2.0}
\subsection{New Features}
\begin{itemize}
\item \texttt{CXSparse} support.
\item Block oriented fill reducing orderings. This
reduces the factorization time for sparse
\texttt{CHOLMOD} significantly.
\item New Trust region loop with support for multiple
trust region step strategies. Currently only Levenberg-Marquardt is supported, but this refactoring opens the door for Dog-leg, Stiehaug and others.
\item \texttt{Cmake} file restructuring.  Builds in \texttt{Release} mode by default, and now has platform specific tuning flags.
\item Re-organized documentation. No new content, but better organization.
\end{itemize}

\subsection{Bug Fixes}
\begin{itemize}
\item Fixed integer overflow bug in \texttt{block\_random\_access\_sparse\_matrix.cc}.
\item Renamed some macros to prevent name conflicts.
\item Fixed incorrent input to \texttt{StateUpdatingCallback}.
\item Fixes to AutoDiff tests.
\item Various internal cleanups.
\end{itemize}

\section*{1.1.1}
\subsection{Bug Fixes}
\begin{itemize}
\item Fix a bug in the handling of constant blocks. (Louis Simard)
\item Add an optional lower bound to the Levenberg-Marquardt regularizer to prevent oscillating between well and ill posed linear problems.
\item Some internal refactoring and test fixes.
\end{itemize}
\section{1.1.0}
\subsection{New Features}
\begin{itemize}
\item New iterative linear solver for general sparse problems - \texttt{CGNR} and a block Jacobi preconditioner for it.
\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.
\item Automatic differentiation now supports dynamic number of residuals.
\item Support for writing the linear least squares problems to disk in text format so that they can loaded into \texttt{MATLAB}.
\item Linear solver results are now checked for nan and infinities.
\item Added \texttt{.gitignore} file.
\item A better more robust build system.
\end{itemize}

\subsection{Bug Fixes}
\begin{itemize}
\item Fixed a strict weak ordering bug in the schur ordering.
\item Grammar and typos in the documents and code comments.
\item Fixed tests which depended on exact equality between floating point values.
\end{itemize}
\section*{1.0.0}
Initial Release.
