Update version history in preparation for 2.1.0
Change-Id: I3771d5d289bbb9982eeec2ae3701246dd25eaac1
diff --git a/docs/source/features.rst b/docs/source/features.rst
index 956eb00..dacb327 100644
--- a/docs/source/features.rst
+++ b/docs/source/features.rst
@@ -31,10 +31,10 @@
allows the user to *shape* their residuals using a
:class:`LossFunction` to reduce the influence of outliers.
- - **Local Parameterization** In many cases, some parameters lie on a
- manifold other than Euclidean space, e.g., rotation matrices. In
- such cases, the user can specify the geometry of the local tangent
- space by specifying a :class:`LocalParameterization` object.
+ - **Manifolds** In many cases, some parameters lie on a manifold
+ other than Euclidean space, e.g., rotation matrices. In such
+ cases, the user can specify the geometry of the local tangent
+ space by specifying a :class:`Manifold` object.
* **Solver Choice** Depending on the size, sparsity structure, time &
memory budgets, and solution quality requirements, different
diff --git a/docs/source/version_history.rst b/docs/source/version_history.rst
index 1329af6..112bc4c 100644
--- a/docs/source/version_history.rst
+++ b/docs/source/version_history.rst
@@ -1,9 +1,148 @@
+.. default-domain:: cpp
+
+.. highlight:: c++
+
+.. cpp:namespace:: ceres
+
+
.. _chapter-version-history:
===============
Version History
===============
+2.1.0
+=====
+
+New Features
+------------
+
+#. Support for CUDA based dense solvers - ``DENSE_QR``,
+ ``DENSE_NORMAL_CHOLESKY`` & ``DENSE_SCHUR`` (Joydeep Biswas, Sameer
+ Agarwal)
+
+#. :class:`Manifold` is the new
+ :class:`LocalParameterization`. Version 2.1 is the transition
+ release where users can use both :class:`LocalParameterization` as
+ well as :class:`Manifold` objects as they transition from the
+ former to the latter. :class:`LocalParameterization` will be
+ removed in version 2.2. There should be no numerical change to the
+ results as a result of this change. (Sameer Agarwal, Johannes Beck,
+ Sergiu Deitsch)
+
+#. A number of changes to ``Jet`` s (Sergiu Deitsch)
+
+ * Jet gained support for, ``copysign``, ``fma`` (fused
+ multiply-add), ``midpoint`` (C++20 and above), ``lerp`` (C++20
+ and above), 3-argument ``hypot`` (C++17 and above), ``log10``,
+ ``log1p``, ``exp1m``, ``norm`` (squared L^2 norm).
+
+ * Quiet floating-point comparison: ``isless``, ``isgreater``,
+ ``islessgreater``, ``islessequal``, ``isgreaterequal``,
+ ``isunordered``, ``signbit``, ``fdim``
+
+ * Categorization and comparison operations are applied exclusively
+ and consistently to the scalar part of a Jet now: ``isnan``,
+ ``isinf``, ``isnormal``, ``isfinite``, ``fpclassify`` (new),
+ ``fmin``, ``fmax``
+
+ * It is now possible to safely compare a ``Jet`` against a scalar
+ (or literal) without constructing a ``Jet`` first (even if it's
+ nested):
+
+ .. code-block:: c++
+
+ Jet<Jet<Jet<T, N>, M>, O> x;
+ if (x == 2) { } // equivalent to x.a.a.a == 2
+
+
+ This enables interaction with various arithmetic functions that
+ expect a scalar like instance, such as ``boost::math::pow<-N>``
+ for reciprocal computation.
+
+#. Add :class:`NumericDiffFirstOrderFunction` (Sameer Agarwal)
+
+
+Backward Incompatible API Changes
+---------------------------------
+
+#. :class:`LocalParameterization` is deprecated. It will be removed in
+ version 2.2. Use :class:`Manifold` instead.
+#. Classification functions like ``IsFinite`` are deprecated. Use the
+ ``c++11`` functions (``isfinite``, ``isnan`` etc) going
+ forward. However to maintain consistent behaviour with comparison
+ operators, these functions only inspect the scalar part of the
+ ``Jet``.
+
+Bug Fixes & Minor Changes
+-------------------------
+
+#. Modernize the code to be inline with ``c++14`` (Sergiu Deitsch, Sameer
+ Agarwal)
+#. Lots of fixes to make Ceres compile out of the box on Windows
+ (Sergiu Deitsch)
+#. Standardize path handling using ``GNUImstallDirs`` (Sergiu Deitsch)
+#. Add final specifier to classes to help the compiler with
+ devirtualization (Sameer Agarwal)
+#. LOTs of clean & modernization of the CMake build files (Sergiu
+ Deitsch & Alex Stewart)
+#. Simplification to the symbol export logic (Sergiu Deitsch)
+#. Add cmake option ``ENABLE_BITCODE`` for iOS builds (John Harrison)
+#. Add const accessor for functor wrapped by auto/numeric-diff objects
+ (Alex Stewart)
+#. Cleanup & refactor ``jet_test.cc``. (Sameer Agarwal)
+#. Fix docs of supported sparse backends for mixed precision solvers
+ (Alex Stewart)
+#. Fix C++20 compilation (Sergiu Deitsch)
+#. Add an example for ``BiCubicInterpolator`` (Dmitriy Korcchemkin)
+#. Add a section to the documentation on implicit and inverse function
+ theorems (Sameer Agarwal)
+#. Add a note about Trigg's correction (Sameer Agarwal)
+#. Fix the docs for ``Problem::RemoveResidualBlock`` &
+ ``Problem::RemoveParameterBlock`` (Sameer Agarwal)
+#. Fix an incorrect check in ``reorder_program.cc`` (William Gandler)
+#. Add ``function_tolerance`` based convergence testing to ``TinySolver``
+ (Sameer Agarwal).
+#. Fix a number of typos in ``rotation.h`` (@yiping)
+#. Fix a typo in ``interfacing_with_autodiff.rst`` (@tangobravo)
+#. Fix a matrix sizing bug in covariance_impl.cc (William Gandler)
+#. Fix a bug in ``system_test.cc`` (William Gandler)
+#. Fix the Jacobian computation in ``trust_region_minimizer_test.cc``
+ (William Gandler)
+#. Fix a bug in ``local_parameterization_test.cc`` (William Gandler)
+#. Add accessors to ``GradientProblem`` (Sameer Agarwal)
+#. Refactor ``small_blas_gemm_benchmark`` (Ahmed Taei)
+#. Refactor ``small_blas_test`` (Ahmed Taei)
+#. Fix dependency check for building documentation (Sumit Dey)
+#. Fix an errant double link in the docs (Timon Knigge)
+#. Fix a typo in the version history (Noah Snavely)
+#. Fix typo in LossFunctionWrapper sample code (Dmitriy Korchemkin)
+#. Add fmax/fmin overloads for scalars (Alex Karatarakis)
+#. Introduce benchmarks for ``Jet`` operations (Alexander Karatarakis)
+#. Fix typos in documentation and fix the documentation for
+ ``IterationSummary`` (Alexander Karatarakis)
+#. Do not check MaxNumThreadsAvailable if the thread number is set
+ to 1. (Fuhao Shi)
+#. Add a macro ``CERES_GET_FLAG``. (Sameer Agarwal)
+#. Reduce log spam in ``covariance_impl.cc`` (Daniel Henell)
+#. Fix FindTBB version detection with TBB >= 2021.1.1 (Alex Stewart)
+#. Fix Eigen3_VERSION (Florian Berchtold)
+#. Allow Unity Build (Tobias Schluter)
+#. Make miniglog's InitGoogleLogging argument const (Tobias Schluter)
+#. Use portable expression for constant 2/sqrt(pi) (Tobias Schluter)
+#. Fix a number of compile errors related (Austin Schuch)
+ *. ``format not a string literal``
+ *. ``-Wno-maybe-uninitialized error``
+ *. ``nonnull arg compared to NULL``
+ *. ``-Wno-format-nonliteral``
+ *. ``-Wmissing-field-initializers``
+ *. ``-Werror``
+#. Fix ``cc_binary`` includes so examples build as an external repo
+ (Austin Schuh)
+#. Fix an explicit double in TinySolver (Bogdan Burlacu)
+#. Fix unit quaternion rotation (Mykyta Kozlov)
+
+
2.0.0
=====