Update version history.

Update the version history in preparation for 1.13.0RC1 and
also reformat older parts of the version history file.

Change-Id: I133e5966629e8277631ec5d407165ad188efa1e1
This commit is contained in:
Sameer Agarwal
2017-07-07 10:45:35 -07:00
parent a1ff7f720f
commit b704612888
3 changed files with 164 additions and 72 deletions
+2 -2
View File
@@ -48,9 +48,9 @@ copyright = u'2016 Google Inc'
# built documents. # built documents.
# #
# The short X.Y version. # The short X.Y version.
version = '1.12' version = '1.13'
# The full version, including alpha/beta/rc tags. # The full version, including alpha/beta/rc tags.
release = '1.12.0' release = '1.13.0'
# The language for content autogenerated by Sphinx. Refer to documentation # The language for content autogenerated by Sphinx. Refer to documentation
# for a list of supported languages. # for a list of supported languages.
+160 -68
View File
@@ -4,6 +4,96 @@
Version History Version History
=============== ===============
1.13.0
======
New Features
------------
#. ``LineSearchMinimizer`` and ``GradientProblemSolver`` are up to 2x
faster due to fewer function evaluations. (Sameer Agarwal)
#. ``SPARSE_NORMAL_CHOLESKY`` is significantly faster because Ceres
now computes the normal equations exploiting the static block
sparsity structure. (Cheng Wang & Sameer Agarwal)
#. Add compound with scalar operators for Jets. (Alex Stewart)
#. Enable support for AVX instructions for Jets. (Alex Stewart)
Backward Incompatible API Changes
---------------------------------
The enum ``CovarianceAlgorithmType`` which controls the linear algebra
algorithm used to compute the covariance used to combine the choice of
the algorithm and the choice of the sparse linear algebra library into
the enum name. So we had ``SUITE_SPARSE_QR`` and
``EIGEN_SPARSE_QR``. ``Covariance::Options`` now has a separate member
allowing the user to choose the sparse linear algebra library, just
like the solver and ``CovarianceAlgorithmType`` now takes values
``DENSE_SVD`` and ``SPARSE_QR``. This is a forward looking change that
will allow us to develop more flexible covariance estimation
algorithms with multiple linear algebra backends.
Bug Fixes & Minor Changes
-------------------------
#. Fix cmake error from CeresConfig.cmake when Ceres not found (Taylor
Braun-Jones)
#. Completely refactored ``SparseNormalCholeskySolver``. (Sameer
Agarwal)
#. Fixed time reporting in ``Summary::FullReport`` when
``LineSearchMinimizer`` is used. (Sameer Agarwal)
#. Remove unused file: collections_port.cc. (Sameer Agarwal)
#. ``SPARSE_SCHUR`` + ``CX_SPARSE`` = Faster (Sameer Agarwal)
#. Refactored a number of linear solver tests to be more thorough and
informative. (Sameer Agarwal)
#. Pass user-specified search hints as HINTS not PATHS. (Alex Stewart)
#. Prefer Eigen installs over exported build directories. (Alex
Stewart)
#. Add OpenMP flags when compiling for C if enabled. (Alex Stewart)
#. Add a missing ``CERES_EXPORT`` to GradientChecker (Sameer Agarwal)
#. Use target_compile_features() to specify C++11 requirement if
available. (Alex Stewart)
#. Update docs: .netrc --> .gitcookies (Keir Mierle)
#. Fix implicit precission loss warning on 64-bit archs (Ricardo
Sanchez-Saez)
#. Optionally use exported Eigen CMake configuration if
available. (Alex Stewart)
#. Use ``Ceres_[SOURCE/BINARY]_DIR`` not ``CMAKE_XXX_DIR`` to support
nesting. (Alex Stewart)
#. Update ``Problem::EvaluateOptions`` documentation. (Sameer Agarwal)
#. Add public headers to CMake target for IDEs. (Devin Lane)
#. Add an article on interfacing with automatic
differentiation. (Sameer Agarwal)
#. Add default Fedora/Debian locations for CXSparse to search
paths. (Alex Stewart)
#. Add a test for ``LineSearchMinimizer`` (Sameer Agarwal)
#. Flatten the table of contents. (Sameer Agarwal)
#. Fix when ``LineSearchMinimizer`` adds the ``IterationSummary``` to
``Solver::Summary`` (Sameer Agarwal)
#. Fix search path for miniglog headers when Ceres is exported. (Alex
Stewart)
#. Fix ambiguous reference to ``WARNING`` when using miniglog. (Alex
Stewart)
#. Fix Jet/Eigen compatibility for Eigen > 3.3 (Julien Pilet)
#. Add max severity option when ``MINIGLOG`` is enabled (Taylor
Braun-Jones)
#. Improvements to Schur template specializations (Sameer Agarwal)
#. Added an article on derivatives (Sameer Agarwal)
#. Require Eigen >= 3.3 to define ScalarBinaryOpTraits in Jet. (Alex
Stewart)
#. A hacky fix for the Eigen::FullPivLU changes. (Sameer Agarwal)
#. Specify ``ScalarBinaryOpTraits`` for Jet types. (Chris Sweeney)
#. Remove spurious conversion from doubles to Jets. (Sameer Agarwal)
#. Fix an error in the tutorial code for ``NumericDiffCostFunction``
(Sameer Agarwal)
#. ``CERES_EXPORT`` fix to compile Ceres as DLL (Je Hyeong Hong)
#. Fix detection of deprecated Bessel function names on MSVC. (Alex
Stewart)
#. Ensure that partial evaluation of residuals triggers an error
(Sameer Agarwal)
#. Fix detection of CMake-built glog on Windows. (Alex Stewart)
#. Add additional search paths for glog & Eigen on Windows. (Alex
Stewart)
#. Various minor grammar and bug fixes to the documetation (Sameer
Agarwal, Alex Stewart, William Rucklidge)
1.12.0 1.12.0
====== ======
@@ -30,15 +120,16 @@ Backward Incompatible API Changes
Bug Fixes & Minor Changes Bug Fixes & Minor Changes
------------------------- -------------------------
#. Clear XXX_FOUND in Find<XXX>.cmake prior to searching. (Alex Stewart) #. Clear XXX_FOUND in Find<XXX>.cmake prior to searching. (Alex
Stewart)
#. Fix versioning in the documentation (Sameer Agarwal) #. Fix versioning in the documentation (Sameer Agarwal)
#. Fix missing gflags imported target definition in #. Fix missing gflags imported target definition in
CeresConfig.cmake. (Alex Stewart) CeresConfig.cmake. (Alex Stewart)
#. Make gflags a public dependency of Ceres if it and glog are #. Make gflags a public dependency of Ceres if it and glog are
found. (Alex Stewart) found. (Alex Stewart)
#. Add support for glog exported CMake target. (Alex Stewart) #. Add support for glog exported CMake target. (Alex Stewart)
#. Use ``google::GLOG_WARNING`` instead of ``WARNING`` in tests to support #. Use ``google::GLOG_WARNING`` instead of ``WARNING`` in tests to
MSVC. (Alex Stewart) support MSVC. (Alex Stewart)
#. Update gtest and gmock to #. Update gtest and gmock to
``a2b8a8e07628e5fd60644b6dd99c1b5e7d7f1f47`` (Sameer Agarwal) ``a2b8a8e07628e5fd60644b6dd99c1b5e7d7f1f47`` (Sameer Agarwal)
#. Add MSVC-specific ``#define`` to expose math constants in #. Add MSVC-specific ``#define`` to expose math constants in
@@ -78,7 +169,8 @@ Bug Fixes & Minor Changes
IterationCallback. (Sameer Agarwal) IterationCallback. (Sameer Agarwal)
#. Use ProductParameterization in bundle_adjuster.cc (Sameer Agarwal) #. Use ProductParameterization in bundle_adjuster.cc (Sameer Agarwal)
#. Enable support for OpenMP in Clang if detected. (Alex Stewart) #. Enable support for OpenMP in Clang if detected. (Alex Stewart)
#. Remove duplicate entry for the NIST example in the docs. (Michael Vitus) #. Remove duplicate entry for the NIST example in the docs. (Michael
Vitus)
#. Add additional logging for analyzing orderings (Sameer Agarwal) #. Add additional logging for analyzing orderings (Sameer Agarwal)
#. Add readme for the sampled_function example. (Michael Vitus) #. Add readme for the sampled_function example. (Michael Vitus)
#. Use _j[0,1,n]() Bessel functions on MSVC to avoid deprecation #. Use _j[0,1,n]() Bessel functions on MSVC to avoid deprecation
@@ -93,15 +185,14 @@ Bug Fixes & Minor Changes
#. Report Ceres compile options as components in find_package(). (Alex #. Report Ceres compile options as components in find_package(). (Alex
Stewart) Stewart)
#. Fix a spelling error in nnls_modeling.rst (Timer) #. Fix a spelling error in nnls_modeling.rst (Timer)
#. Only use collapse() directive with OpenMP 3.0 or higher. (Keir Mierle) #. Only use collapse() directive with OpenMP 3.0 or higher. (Keir
Mierle)
#. Fix install path for CeresConfig.cmake to be architecture-aware. #. Fix install path for CeresConfig.cmake to be architecture-aware.
#. Fix double conversion to degrees in rotation_test (Keir #. Fix double conversion to degrees in rotation_test (Keir Mierle)
Mierle)
#. Make Jet string output more readable (Keir Mierle) #. Make Jet string output more readable (Keir Mierle)
#. Fix rotation_test IsClose() and related tests (Keir #. Fix rotation_test IsClose() and related tests (Keir Mierle)
Mierle) #. Loosen an exact equality in local_parameterization_test (Sameer
#. Loosen an exact equality in local_parameterization_test Agarwal)
(Sameer Agarwal)
#. make_docs: Pass the file encoding to open() (Niels Ole Salscheider) #. make_docs: Pass the file encoding to open() (Niels Ole Salscheider)
#. Fix error message returned when using SUITE_SPARSE_QR in covariance #. Fix error message returned when using SUITE_SPARSE_QR in covariance
estimation on a ceres built without SuiteSparse support. (Simon estimation on a ceres built without SuiteSparse support. (Simon
@@ -110,7 +201,8 @@ Bug Fixes & Minor Changes
MSVC. (Alex Stewart) MSVC. (Alex Stewart)
#. Fix missing early return() in xxx_not_found() dependency #. Fix missing early return() in xxx_not_found() dependency
macros. (Alex Stewart) macros. (Alex Stewart)
#. Initialize ``inner_iterations_were_useful_`` correctly. (Sameer Agarwal) #. Initialize ``inner_iterations_were_useful_`` correctly. (Sameer
Agarwal)
#. Add an implementation for GradientProblemSolver::Options::IsValid #. Add an implementation for GradientProblemSolver::Options::IsValid
(Sameer Agarwal) (Sameer Agarwal)
#. Fix use of va_copy() if compiling with explicit C++ version < #. Fix use of va_copy() if compiling with explicit C++ version <
@@ -144,7 +236,8 @@ Bug Fixes & Minor Changes
New Features New Features
------------ ------------
#. Adaptive numeric differentiation using Ridders' method. (Tal Ben-Nun) #. Adaptive numeric differentiation using Ridders' method. (Tal
Ben-Nun)
#. Add ``CubicInterpolator`` and ``BiCubicInterpolator`` to allow #. Add ``CubicInterpolator`` and ``BiCubicInterpolator`` to allow
smooth interpolation of sampled functions and integration with smooth interpolation of sampled functions and integration with
automatic differentiation. automatic differentiation.
@@ -166,7 +259,8 @@ Bug Fixes & Minor Changes
portability issues with gtest / type_info::operator== & Eigen with portability issues with gtest / type_info::operator== & Eigen with
Clang on OS X vs GCC 4.9+ on Linux requiring contradictory 'fixes'. Clang on OS X vs GCC 4.9+ on Linux requiring contradictory 'fixes'.
#. Use link-time optimisation (LTO) only when compiling Ceres itself, #. Use link-time optimisation (LTO) only when compiling Ceres itself,
not tests or examples, to bypass gtest / type_info::operator== issue. not tests or examples, to bypass gtest / type_info::operator==
issue.
#. Use old minimum iOS version flags on Xcode < 7.0. #. Use old minimum iOS version flags on Xcode < 7.0.
#. Add gtest-specific flags when building/using as a shared library. #. Add gtest-specific flags when building/using as a shared library.
#. Clean up iOS.cmake to use xcrun/xcodebuild & libtool. #. Clean up iOS.cmake to use xcrun/xcodebuild & libtool.
@@ -189,7 +283,8 @@ Bug Fixes & Minor Changes
#. Add the option to use numeric differentiation to ``nist`` and #. Add the option to use numeric differentiation to ``nist`` and
``more_garbow_hillstrom``. ``more_garbow_hillstrom``.
#. Fix EIGENSPARSE option help s/t it displays in CMake ncurses GUI. #. Fix EIGENSPARSE option help s/t it displays in CMake ncurses GUI.
#. Fix SparseNormalCholeskySolver with dynamic sparsity (Richie Stebbing). #. Fix SparseNormalCholeskySolver with dynamic sparsity (Richie
Stebbing).
#. Remove legacy dependency detection macros. #. Remove legacy dependency detection macros.
#. Fix failed if() condition expansion if gflags is not found. #. Fix failed if() condition expansion if gflags is not found.
#. Update all CMake to lowercase function name style. #. Update all CMake to lowercase function name style.
@@ -198,8 +293,10 @@ Bug Fixes & Minor Changes
#. Remove the spec file needed for generating RPMs. #. Remove the spec file needed for generating RPMs.
#. Fix a typo in small_blas.h (Werber Trobin). #. Fix a typo in small_blas.h (Werber Trobin).
#. Cleanup FindGflags & use installed gflags CMake config if present. #. Cleanup FindGflags & use installed gflags CMake config if present.
#. Add default glog install location on Windows to search paths (bvanevery). #. Add default glog install location on Windows to search paths
#. Add default Eigen install location on Windows to search paths (bvanevery). (bvanevery).
#. Add default Eigen install location on Windows to search paths
(bvanevery).
#. Fix explanation of config.h generation in bare config.h. #. Fix explanation of config.h generation in bare config.h.
#. Fix unused parameter compiler warnings in numeric_diff.h. #. Fix unused parameter compiler warnings in numeric_diff.h.
#. Increase tolerance for a test in polynomial_test (Taylor Braun #. Increase tolerance for a test in polynomial_test (Taylor Braun
@@ -234,7 +331,8 @@ Bug Fixes & Minor Changes
#. Fix bug where pow(JetA,JetB) returned wrong result for JetA==0 #. Fix bug where pow(JetA,JetB) returned wrong result for JetA==0
(Russell Smith). (Russell Smith).
#. Remove duplicate step norm computation (Johannes Schonberger). #. Remove duplicate step norm computation (Johannes Schonberger).
#. Enhance usability when encountering Eigen version mismatches (Andrew Hundt). #. Enhance usability when encountering Eigen version mismatches
(Andrew Hundt).
#. Add PLY file logger before and after BA in order to ease visual #. Add PLY file logger before and after BA in order to ease visual
comparison (Pierre Moulon). comparison (Pierre Moulon).
#. Fix CMake config file docs to include 2.8.x & 3.x styles. #. Fix CMake config file docs to include 2.8.x & 3.x styles.
@@ -246,19 +344,23 @@ Bug Fixes & Minor Changes
#. Add versions of dependencies used to FullReport(). #. Add versions of dependencies used to FullReport().
#. Ensure local config.h is used if Ceres is already installed. #. Ensure local config.h is used if Ceres is already installed.
#. Small messaging and comment updates in CMake #. Small messaging and comment updates in CMake
#. Handle possible presence of library prefixes in MSVC (Sylvain Duchêne). #. Handle possible presence of library prefixes in MSVC (Sylvain
#. Use -O2 not -O3 on MinGW to workaround issue with Eigen (s1m3mu3@gmail.com). Duchêne).
#. Increase tolerance in small_blas test for Cygwin (s1m3mu3@gmail.com). #. Use -O2 not -O3 on MinGW to workaround issue with Eigen
(s1m3mu3@gmail.com).
#. Increase tolerance in small_blas test for Cygwin
(s1m3mu3@gmail.com).
#. Fix iOS cmake file for cmake 3.0 (Jack Feng) #. Fix iOS cmake file for cmake 3.0 (Jack Feng)
#. Fix missing gflags shlwapi dependency on MinGW (s1m3mu3@gmail.com). #. Fix missing gflags shlwapi dependency on MinGW (s1m3mu3@gmail.com).
#. Add thread dependency & fix namespace detection on Windows for gflags #. Add thread dependency & fix namespace detection on Windows for
(arrigo.benedetti@gmail.com). gflags (arrigo.benedetti@gmail.com).
#. Rename macros in the public API to have a ``CERES_`` prefix. #. Rename macros in the public API to have a ``CERES_`` prefix.
#. Fix ``OrderedGroup::Reverse()`` when it is empty (Chris Sweeney). #. Fix ``OrderedGroup::Reverse()`` when it is empty (Chris Sweeney).
#. Update the code to point to ceres-solver.org. #. Update the code to point to ceres-solver.org.
#. Update documentation to point to the GitHub issue tracker. #. Update documentation to point to the GitHub issue tracker.
#. Disable ``LAPACK`` for iOS builds. (Greg Coombe) #. Disable ``LAPACK`` for iOS builds. (Greg Coombe)
#. Force use of single-thread in ``Problem::Evaluate()`` without OpenMP. #. Force use of single-thread in ``Problem::Evaluate()`` without
OpenMP.
#. Less strict check for multithreading. (Chris Sweeney) #. Less strict check for multithreading. (Chris Sweeney)
#. Update tolerances in small_blas_test.cc (Philipp Hubner) #. Update tolerances in small_blas_test.cc (Philipp Hubner)
#. Documentation corrections (Steve Hsu) #. Documentation corrections (Steve Hsu)
@@ -305,7 +407,8 @@ New Features
#. ``Eigen`` can now be as a sparse linear algebra backend. This can #. ``Eigen`` can now be as a sparse linear algebra backend. This can
be done by setting be done by setting
``Solver::Options::sparse_linear_algebra_library_type`` to ``Solver::Options::sparse_linear_algebra_library_type`` to
``EIGEN_SPARSE``. Performance should be comparable to ``CX_SPARSE``. ``EIGEN_SPARSE``. Performance should be comparable to
``CX_SPARSE``.
.. NOTE:: .. NOTE::
@@ -417,7 +520,8 @@ Bug Fixes
#. Compile miniglog into Ceres if enabled on all platforms. #. Compile miniglog into Ceres if enabled on all platforms.
#. Add two missing files to Android.mk (Greg Coombe) #. Add two missing files to Android.mk (Greg Coombe)
#. Fix Cmake error when using miniglog. (Greg Coombe) #. Fix Cmake error when using miniglog. (Greg Coombe)
#. Don't build miniglog unconditionally as a static library (Björn Piltz) #. Don't build miniglog unconditionally as a static library (Björn
Piltz)
#. Added a missing include. (Björn Piltz) #. Added a missing include. (Björn Piltz)
#. Conditionally disable SparseNormalCholesky. #. Conditionally disable SparseNormalCholesky.
#. Fix a memory leak in program_test.cc. #. Fix a memory leak in program_test.cc.
@@ -428,7 +532,6 @@ Bug Fixes
New Features New Features
------------ ------------
#. Bounds constraints: Support for upper and/or lower bounds on #. Bounds constraints: Support for upper and/or lower bounds on
parameters when using the trust region minimizer. parameters when using the trust region minimizer.
#. Dynamic Sparsity: Problems in which the sparsity structure of the #. Dynamic Sparsity: Problems in which the sparsity structure of the
@@ -464,7 +567,6 @@ New Features
Backward Incompatible API Changes Backward Incompatible API Changes
--------------------------------- ---------------------------------
#. ``Solver::Options::linear_solver_ordering`` used to be a naked #. ``Solver::Options::linear_solver_ordering`` used to be a naked
pointer that Ceres took ownership of. This is error prone behaviour pointer that Ceres took ownership of. This is error prone behaviour
which leads to problems when copying the ``Solver::Options`` struct which leads to problems when copying the ``Solver::Options`` struct
@@ -490,8 +592,8 @@ Backward Incompatible API Changes
#. ``Solver::Options::gradient_tolerance`` used to be a relative #. ``Solver::Options::gradient_tolerance`` used to be a relative
gradient tolerance. i.e., The solver converged when gradient tolerance. i.e., The solver converged when
.. math:: .. math:: \|g(x)\|_\infty < \text{gradient_tolerance} *
\|g(x)\|_\infty < \text{gradient_tolerance} * \|g(x_0)\|_\infty \|g(x_0)\|_\infty
where :math:`g(x)` is the gradient of the objective function at where :math:`g(x)` is the gradient of the objective function at
:math:`x` and :math:`x_0` is the parmeter vector at the start of :math:`x` and :math:`x_0` is the parmeter vector at the start of
@@ -500,8 +602,7 @@ Backward Incompatible API Changes
This has changed to an absolute tolerance, i.e. the solver This has changed to an absolute tolerance, i.e. the solver
converges when converges when
.. math:: .. math:: \|g(x)\|_\infty < \text{gradient_tolerance}
\|g(x)\|_\infty < \text{gradient_tolerance}
#. Ceres cannot be built without the line search minimizer #. Ceres cannot be built without the line search minimizer
anymore. Thus the preprocessor define anymore. Thus the preprocessor define
@@ -509,7 +610,6 @@ Backward Incompatible API Changes
Bug Fixes Bug Fixes
--------- ---------
#. Disabled warning C4251. (Björn Piltz) #. Disabled warning C4251. (Björn Piltz)
#. Do not propagate 3d party libs through #. Do not propagate 3d party libs through
`IMPORTED_LINK_INTERFACE_LIBRARIES_[DEBUG/RELEASE]` mechanism when `IMPORTED_LINK_INTERFACE_LIBRARIES_[DEBUG/RELEASE]` mechanism when
@@ -522,8 +622,8 @@ Bug Fixes
#. Better error checking when ``Problem::RemoveResidualBlock`` is #. Better error checking when ``Problem::RemoveResidualBlock`` is
called. (Alex Stewart) called. (Alex Stewart)
#. Fixed a memory leak in ``SchurComplementSolver``. #. Fixed a memory leak in ``SchurComplementSolver``.
#. Added ``epsilon()`` method to ``NumTraits<ceres::Jet<T, N> >``. (Filippo #. Added ``epsilon()`` method to ``NumTraits<ceres::Jet<T, N>
Basso) >``. (Filippo Basso)
#. Fixed a bug in `CompressedRowSparseMatrix::AppendRows`` and #. Fixed a bug in `CompressedRowSparseMatrix::AppendRows`` and
``DeleteRows``.q ``DeleteRows``.q
#. Handle empty problems consistently. #. Handle empty problems consistently.
@@ -594,10 +694,12 @@ Bug Fixes
#. Fix operator= ambiguity on some versions of Clang. (Alex Stewart) #. Fix operator= ambiguity on some versions of Clang. (Alex Stewart)
#. Various Lint cleanups (William Rucklidge & Jim Roseborough) #. Various Lint cleanups (William Rucklidge & Jim Roseborough)
#. Modified installation folders for Windows. (Pablo Speciale) #. Modified installation folders for Windows. (Pablo Speciale)
#. Added librt to link libraries for SuiteSparse_config on Linux. (Alex Stewart) #. Added librt to link libraries for SuiteSparse_config on
Linux. (Alex Stewart)
#. Check for presence of return-type-c-linkage option with #. Check for presence of return-type-c-linkage option with
Clang. (Alex Stewart) Clang. (Alex Stewart)
#. Fix Problem::RemoveParameterBlock after calling solve. (Simon Lynen) #. Fix Problem::RemoveParameterBlock after calling solve. (Simon
Lynen)
#. Fix a free/delete bug in covariance_impl.cc #. Fix a free/delete bug in covariance_impl.cc
#. Fix two build errors. (Dustin Lang) #. Fix two build errors. (Dustin Lang)
#. Add RequireInitialization = 1 to NumTraits::Jet. #. Add RequireInitialization = 1 to NumTraits::Jet.
@@ -619,7 +721,6 @@ Backward Incompatible API Changes
New Features New Features
------------ ------------
#. Sparse and dense covariance estimation. #. Sparse and dense covariance estimation.
#. A new Wolfe line search. (Alex Stewart) #. A new Wolfe line search. (Alex Stewart)
#. ``BFGS`` line search direction. (Alex Stewart) #. ``BFGS`` line search direction. (Alex Stewart)
@@ -629,9 +730,8 @@ New Features
solvers. solvers.
#. Support for multiple dense linear algebra backends. In particular #. Support for multiple dense linear algebra backends. In particular
optimized ``BLAS`` and ``LAPACK`` implementations (e.g., Intel MKL, optimized ``BLAS`` and ``LAPACK`` implementations (e.g., Intel MKL,
ACML, OpenBLAS etc) can now be used to do the dense linear ACML, OpenBLAS etc) can now be used to do the dense linear algebra
algebra for ``DENSE_QR``, ``DENSE_NORMAL_CHOLESKY`` and for ``DENSE_QR``, ``DENSE_NORMAL_CHOLESKY`` and ``DENSE_SCHUR``
``DENSE_SCHUR``
#. Use of Inner iterations can now be adaptively stopped. Iteration #. Use of Inner iterations can now be adaptively stopped. Iteration
and runtime statistics for inner iterations are not reported in and runtime statistics for inner iterations are not reported in
``Solver::Summary`` and ``Solver::Summary::FullReport``. ``Solver::Summary`` and ``Solver::Summary::FullReport``.
@@ -639,10 +739,11 @@ New Features
#. Add BlockRandomAccessCRSMatrix. #. Add BlockRandomAccessCRSMatrix.
#. Speeded up automatic differentiation by 7\%. #. Speeded up automatic differentiation by 7\%.
#. Bundle adjustment example from libmv/Blender (Sergey Sharybin) #. Bundle adjustment example from libmv/Blender (Sergey Sharybin)
#. Shared library building is now controlled by CMake, rather than a custom #. Shared library building is now controlled by CMake, rather than a
solution. Previously, Ceres had a custom option, but this is now deprecated custom solution. Previously, Ceres had a custom option, but this is
in favor of CMake's built in support for switching between static and now deprecated in favor of CMake's built in support for switching
shared. Turn on BUILD_SHARED_LIBS to get shared Ceres libraries. between static and shared. Turn on BUILD_SHARED_LIBS to get shared
Ceres libraries.
#. No more dependence on Protocol Buffers. #. No more dependence on Protocol Buffers.
#. Incomplete LQ factorization. #. Incomplete LQ factorization.
#. Ability to write trust region problems to disk. #. Ability to write trust region problems to disk.
@@ -654,7 +755,6 @@ New Features
Bug Fixes Bug Fixes
--------- ---------
#. Fix ``ITERATIVE_SCHUR`` solver to work correctly when the schur #. Fix ``ITERATIVE_SCHUR`` solver to work correctly when the schur
complement is of size zero. (Soohyun Bae) complement is of size zero. (Soohyun Bae)
#. Fix the ``spec`` file for generating ``RPM`` packages (Brian Pitts #. Fix the ``spec`` file for generating ``RPM`` packages (Brian Pitts
@@ -692,8 +792,8 @@ Bug Fixes
Stewart) Stewart)
#. Fix configuration error on systems without SuiteSparse installed #. Fix configuration error on systems without SuiteSparse installed
(Sergey Sharybin) (Sergey Sharybin)
#. Enforce the read call returns correct value in ``curve_fitting_c.c`` #. Enforce the read call returns correct value in
(Arnaud Gelas) ``curve_fitting_c.c`` (Arnaud Gelas)
#. Fix DynamicAutoDiffCostFunction (Richard Stebbing) #. Fix DynamicAutoDiffCostFunction (Richard Stebbing)
#. Fix Problem::RemoveParameterBlock documentation (Johannes #. Fix Problem::RemoveParameterBlock documentation (Johannes
Schönberger) Schönberger)
@@ -703,7 +803,8 @@ Bug Fixes
#. Fix a reallocation bug in #. Fix a reallocation bug in
``CreateJacobianBlockSparsityTranspose``. (Yuliy Schwartzburg) ``CreateJacobianBlockSparsityTranspose``. (Yuliy Schwartzburg)
#. Add a define for O_BINARY. #. Add a define for O_BINARY.
#. Fix miniglog-based Android NDK build; now works with NDK r9. (Scott Ettinger) #. Fix miniglog-based Android NDK build; now works with NDK r9. (Scott
Ettinger)
1.6.0 1.6.0
@@ -711,7 +812,6 @@ Bug Fixes
New Features New Features
------------ ------------
#. Major Performance improvements. #. Major Performance improvements.
a. Schur type solvers (``SPARSE_SCHUR``, ``DENSE_SCHUR``, a. Schur type solvers (``SPARSE_SCHUR``, ``DENSE_SCHUR``,
@@ -763,7 +863,6 @@ Bug Fixes
Backward Incompatible API Changes Backward Incompatible API Changes
--------------------------------- ---------------------------------
#. Added ``Problem::Evaluate``. Now you can evaluate a problem or any #. Added ``Problem::Evaluate``. Now you can evaluate a problem or any
part of it without calling the solver. part of it without calling the solver.
@@ -904,7 +1003,6 @@ Bug Fixes
Backward Incompatible API Changes Backward Incompatible API Changes
--------------------------------- ---------------------------------
The new ordering API breaks existing code. Here the common case fixes. The new ordering API breaks existing code. Here the common case fixes.
**Before** **Before**
@@ -953,7 +1051,6 @@ The new ordering API breaks existing code. Here the common case fixes.
New Features New Features
------------ ------------
#. A new richer, more expressive and consistent API for ordering #. A new richer, more expressive and consistent API for ordering
parameter blocks. parameter blocks.
#. A non-linear generalization of Ruhe & Wedin's Algorithm II. This #. A non-linear generalization of Ruhe & Wedin's Algorithm II. This
@@ -1005,7 +1102,6 @@ Bug Fixes
New Features New Features
------------ ------------
#. Android Port (Scott Ettinger also contributed to the port) #. Android Port (Scott Ettinger also contributed to the port)
#. Windows port. (Changchang Wu and Pierre Moulon also contributed to the port) #. Windows port. (Changchang Wu and Pierre Moulon also contributed to the port)
#. New subspace Dogleg Solver. (Markus Moll) #. New subspace Dogleg Solver. (Markus Moll)
@@ -1043,7 +1139,6 @@ New Features
Bug Fixes Bug Fixes
--------- ---------
#. Fix how invalid step evaluations are handled. #. Fix how invalid step evaluations are handled.
#. Change the slop handling around zero for model cost changes to use #. Change the slop handling around zero for model cost changes to use
relative tolerances rather than absolute tolerances. relative tolerances rather than absolute tolerances.
@@ -1091,7 +1186,6 @@ Bug Fixes
Bug Fixes Bug Fixes
--------- ---------
#. ``suitesparse_test`` is enabled even when ``-DSUITESPARSE=OFF``. #. ``suitesparse_test`` is enabled even when ``-DSUITESPARSE=OFF``.
#. ``FixedArray`` internal struct did not respect ``Eigen`` #. ``FixedArray`` internal struct did not respect ``Eigen``
alignment requirements (Koichi Akabe & Stephan Kassemeyer). alignment requirements (Koichi Akabe & Stephan Kassemeyer).
@@ -1103,7 +1197,6 @@ Bug Fixes
Bug Fixes Bug Fixes
--------- ---------
#. Fix constant parameter blocks, and other minor fixes (Markus Moll) #. Fix constant parameter blocks, and other minor fixes (Markus Moll)
#. Fix alignment issues when combining ``Jet`` and #. Fix alignment issues when combining ``Jet`` and
``FixedArray`` in automatic differeniation. ``FixedArray`` in automatic differeniation.
@@ -1114,21 +1207,23 @@ Bug Fixes
New Features New Features
------------ ------------
#. Powell's Dogleg solver #. Powell's Dogleg solver
#. Documentation now has a brief overview of Trust Region methods and #. Documentation now has a brief overview of Trust Region methods and
how the Levenberg-Marquardt and Dogleg methods work. how the Levenberg-Marquardt and Dogleg methods work.
Bug Fixes Bug Fixes
--------- ---------
#. Destructor for ``TrustRegionStrategy`` was not virtual (Markus
#. Destructor for ``TrustRegionStrategy`` was not virtual (Markus Moll) Moll)
#. Invalid ``DCHECK`` in ``suitesparse.cc`` (Markus Moll) #. Invalid ``DCHECK`` in ``suitesparse.cc`` (Markus Moll)
#. Iteration callbacks were not properly invoked (Luis Alberto Zarrabeiti) #. Iteration callbacks were not properly invoked (Luis Alberto
Zarrabeiti)
#. Logging level changes in ConjugateGradientsSolver #. Logging level changes in ConjugateGradientsSolver
#. VisibilityBasedPreconditioner setup does not account for skipped camera pairs. This was debugging code. #. VisibilityBasedPreconditioner setup does not account for skipped
camera pairs. This was debugging code.
#. Enable SSE support on MacOS #. Enable SSE support on MacOS
#. ``system_test`` was taking too long and too much memory (Koichi Akabe) #. ``system_test`` was taking too long and too much memory (Koichi
Akabe)
1.2.0 1.2.0
===== =====
@@ -1162,7 +1257,6 @@ Bug Fixes
Bug Fixes Bug Fixes
--------- ---------
#. Fix a bug in the handling of constant blocks. (Louis Simard) #. Fix a bug in the handling of constant blocks. (Louis Simard)
#. Add an optional lower bound to the Levenberg-Marquardt regularizer #. Add an optional lower bound to the Levenberg-Marquardt regularizer
to prevent oscillating between well and ill posed linear problems. to prevent oscillating between well and ill posed linear problems.
@@ -1173,7 +1267,6 @@ Bug Fixes
New Features New Features
------------ ------------
#. New iterative linear solver for general sparse problems - ``CGNR`` #. New iterative linear solver for general sparse problems - ``CGNR``
and a block Jacobi preconditioner for it. and a block Jacobi preconditioner for it.
#. Changed the semantics of how ``SuiteSparse`` dependencies are #. Changed the semantics of how ``SuiteSparse`` dependencies are
@@ -1189,14 +1282,13 @@ New Features
Bug Fixes Bug Fixes
--------- ---------
#. Fixed a strict weak ordering bug in the schur ordering. #. Fixed a strict weak ordering bug in the schur ordering.
#. Grammar and typos in the documents and code comments. #. Grammar and typos in the documents and code comments.
#. Fixed tests which depended on exact equality between floating point values. #. Fixed tests which depended on exact equality between floating point
values.
1.0.0 1.0.0
===== =====
Initial open source release. Nathan Wiegand contributed to the Mac OSX Initial open source release. Nathan Wiegand contributed to the Mac OSX
port. port.
+2 -2
View File
@@ -1,6 +1,6 @@
<?xml version="1.0"?> <?xml version="1.0"?>
<!-- <!--
Copyright 2015 Google Inc. All rights reserved. Copyright 2017 Google Inc. All rights reserved.
http://ceres-solver.org/ http://ceres-solver.org/
Redistribution and use in source and binary forms, with or without Redistribution and use in source and binary forms, with or without
@@ -30,7 +30,7 @@
<package format="2"> <package format="2">
<name>ceres-solver</name> <name>ceres-solver</name>
<version>1.12.0</version> <version>1.13.0</version>
<description>A large scale non-linear optimization library.</description> <description>A large scale non-linear optimization library.</description>
<maintainer email="ceres-solver@googlegroups.com"> <maintainer email="ceres-solver@googlegroups.com">
The Ceres Solver Authors The Ceres Solver Authors