|  | %!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. |