\(\newcommand{\W}[1]{ \; #1 \; }\) \(\newcommand{\R}[1]{ {\rm #1} }\) \(\newcommand{\B}[1]{ {\bf #1} }\) \(\newcommand{\D}[2]{ \frac{\partial #1}{\partial #2} }\) \(\newcommand{\DD}[3]{ \frac{\partial^2 #1}{\partial #2 \partial #3} }\) \(\newcommand{\Dpow}[2]{ \frac{\partial^{#1}}{\partial {#2}^{#1}} }\) \(\newcommand{\dpow}[2]{ \frac{ {\rm d}^{#1}}{{\rm d}\, {#2}^{#1}} }\)
2025¶
View page sourceRelease Notes for 2025¶
mm-dd¶
12-30¶
Previously, CppAD only checked for spelling errors in the documentation. The typos package was used to fix many spelling errors in the code (including example code). This was done in two commits.
The first commit only included the errors where typos provided a single correction and the error had four or more letters.
The second commit included changes that were individually reviewed. In addition the file
typos.tomlwas added (this defines some CppAD typos spelling exceptions).
12-14¶
Let p denote a dynamic parameter, z denote the constant zero, and e denote the constant one. The number of dynamic parameter operations was reduced by recognizing the following special cases (where p is a dynamic parameter:
p = p + z p = p - z p = p * e p = p / e e = pow(p, z) z = pow(z, p) z = azmul(z, p) z = azmul(p, z)The chkpoint_one source code, when compiled with g++ version 15.2.1, was causing the following warnings:
... rev_sparse_hes ... was hidden [-Woverloaded-virtual=] ... rev_sparse_jac ... was hidden [-Woverloaded-virtual=] ... for_sparse_jac ... was hidden [-Woverloaded-virtual=]This has been fixed.
12-07¶
The pow function was identically zero (one), when the base (exponent) during recording was the dynamic parameter zero; see issue 242. This has been fixed.
Update the development tools (see dev_tools.sh in xrst repository).
06-23¶
The default value for cmake_install_libdirs was changed from
lib to lib;lib64 so that lib64 is also searched for library files.
04-18¶
Increase size of matrices in the det_minor speed tests.
04-01¶
Fix a conditional expressions bug that affect optimize and subgraph_sparsity . optimizing functions with
03-21¶
If cppad_tape_addr_type was chosen to be size_t ,
a multiple definition of setup_random compiler error would occur.
This has been fixed.
02-09¶
Systems that use windows dll files, (msys, cygwin, and windows) would always build a static version of the cppad library; i.e., the cmake@cppad_static_lib flag was ignored in this case. This has been changed so that the cppad_static_lib flag is always respected. The default value for cppad_static_lib on msys, cygwin, and windows is true and on other systems it is false; i.e., if you do not specify cppad_static_lib you will get the same result as before this change.
02-02¶
The rpath in may not have been set properly in
cppad_lib because CMAKE_INSTALL_RPATH
was not set. This has been fixed its value is printed
during the cmake command.
01-24¶
Fix linking the pthread examples ( e.g. pthread_get_started.cpp ) when the pthread library is in a non-standard location.
Fix linking the standard thread examples ( e.g. sthread_get_started.cpp ) when the standard thread library required the pthread library.
01-17¶
The cppad_link_flags option was added to the cmake command.
The detection of when
unsigned intandsize_twere the same, by the cmake command, was incorrect in cases where the compiler flags affected this result.Fix some errors of the form function_name
(unsigned int)cannot be overloaded with function_name(size_t).The Restrictions , on when the dll_lib.cpp example is tested were documented.
The Restrictions was added to the jit example documentation.
01-10¶
Split the external links at the top of the user guide into: Git Repository , Versions , Other Links .