From a170b227b806132563b201b1534bbde267e36699 Mon Sep 17 00:00:00 2001
From: CircleCI Contents
@@ -600,8 +600,8 @@ Contents
Changelog#
-6.0.0 (unreleased)#
+6.0.0 (2024-09-21)#
New#
@@ -650,10 +650,10 @@
Fix#
5.1.0 (2024-07-21)#
New#
+5.1.0 (2024-07-21)#
+New#
Reduce the maximum number of iterations in the Kepler solvers and do not log if the iteration limit is reached (#434).
Fix compilation on PPC64 (#428).
Speedups in the computation of symbolic derivatives (#414).
Fix test failures on OSX arm64 (#409).
Workaround compilation failures in the unit tests when using GCC 13 @@ -737,30 +737,30 @@
Fix compilation on MinGW (#404).
Fix compilation on PowerPC (#401).
heyoka is now available in the spack package manager.
Speedups for the subs()
primitive
(#394).
Add step callback set classes to compose step callbacks (#366).
When the fast_math
mode is active, the SIMD-vectorised
mathematical functions now use low-precision implementations.
@@ -861,10 +861,10 @@
Fix global constants in an LLVM module being generated in unordered fashion when compact mode is active. This would result in two logically-identical @@ -907,10 +907,10 @@
Prevent accidental leaking in the public headers of serialisation implementation details @@ -925,10 +925,10 @@
Fix compilation in C++20 mode (#340).
The step callbacks can now optionally implement a pre_hook()
member function that will be called before the first step
@@ -1021,8 +1021,8 @@
The step callbacks are now copied in ensemble propagations rather than being shared among threads. The aim of this change @@ -1078,8 +1078,8 @@
Work around a likely LLVM bug on ARM (#310).
Compiled functions now support time-dependent expressions (#294).
Mark as visible a couple of internal functions which had been marked as hidden by mistake @@ -1116,10 +1116,10 @@
Add option in the build system to hide the exported LLVM symbols, when linking statically @@ -1133,15 +1133,15 @@
heyoka now depends on CMake >= 3.18 when building from source (#283).
Avoid accidental indirect inclusion of libquadmath’s header file (#279).
Add a short tutorial on extended-precision computations (#270).
heyoka now builds against recent versions of the fmt library without deprecation warnings (#266).
Fix compilation against recent LLVM 14.x releases on Windows (#268).
Add a timekeeping accuracy benchmark (#254).
Fix several warnings related to variable shadowing when compiling in debug mode @@ -1229,28 +1229,28 @@
The propagate_for/until()
callbacks are now invoked also if the integration
is interrupted by a stopping terminal event
(#231).
Fix two test failures on FreeBSD (#231).
The LLVM version number against which heyoka was built is now exported in the CMake config-file package @@ -1271,15 +1271,15 @@
Avoid unnecessary copies of the propagate_*()
callbacks
(#222).
Fix compilation in debug mode when using recent versions
of fmt
@@ -1292,10 +1292,10 @@
BREAKING: add support for continuous output
to the propagate_for/until()
functions
@@ -1311,8 +1311,8 @@
If propagate_grid()
exits early in batch mode,
the missing values are now set to NaN instead of zero
@@ -1335,8 +1335,8 @@
Fix various corner-case issues in the integrator classes related to data aliasing @@ -1347,10 +1347,10 @@
Implement derivatives with respect to the parameters (#196).
Don’t force the use of static MSVC runtime when compiling heyoka as a static library @@ -1409,25 +1409,25 @@
The tolerance value is now stored in the integrator objects (#175).
Improve the heuristic for the automatic deduction of the cooldown value for terminal events (#178).
Ensure that code generation in compact mode is platform-agnostic and deterministic across executions @@ -1435,10 +1435,10 @@
Add support for 64-bit PowerPC processors (#171).
Fix a bug in the move assignment operator of llvm_state
(#163).
The time
expression now supports symbolic
differentiation
(#160).
Various performance optimisations for the creation of large ODE systems @@ -1476,10 +1476,10 @@
Parameters in event equations are now correctly counted when inferring the total number of parameters in an ODE system @@ -1487,10 +1487,10 @@
The callback that can be passed to the propagate_*()
functions
can now be used to stop the integration
@@ -1499,8 +1499,8 @@
BREAKING: a breaking change
in the propagate_*()
callback API
@@ -1512,10 +1512,10 @@
Add time polynomials to the expression system (#144).
Performance improvements for event detection in the linear and quadratic cases @@ -1550,18 +1550,18 @@
The propagate_for/until()
functions now support writing
the Taylor coefficients at the end of each timestep
(#131).
BREAKING: various breaking changes in the event detection API @@ -1570,8 +1570,8 @@
Don’t set the multiroot mr
flag to true
if
a terminal event has a cooldown of zero
@@ -1579,10 +1579,10 @@
Support LLVM 12 (#128).
Performance improvements for the event detection system (#129).
Fix an issue in the automatic deduction of the cooldown time for terminal events @@ -1622,18 +1622,18 @@
The event equations are now taken into account in the determination of the adaptive timestep (#124).
Fix an initialisation order issue in the event detection code (#124).
Implement propagate_grid()
for the batch integrator
(#119).
In the batch integrator class, the outcomes in the result vectors
are now initialised to taylor_outcome::success
instead of
@@ -1686,10 +1686,10 @@
Introduce a dedicated negation operator in the expression system @@ -1725,8 +1725,8 @@
Avoid division by zero in certain corner cases
when using pow()
with small natural exponents
@@ -1734,10 +1734,10 @@
Implement the error function (#89).
Small optimisations in the automatic differentiation formulae @@ -1773,8 +1773,8 @@
Ensure that pow(x ,0)
always simplifies to 1,
rather than producing an expression with null exponent
@@ -1792,10 +1792,10 @@
Extend the Taylor decomposition machinery to work on more general classes of functions, and add @@ -1809,23 +1809,23 @@
heyoka now depends publicly on the Boost headers (#68).
Fix potential name mangling issues in compact mode (#68).
Initial release.