heyoka
Taylor ODE integrator for astrodynamics.
Release timeline (newest first, grouped by year and version)
2026 6 entries
7.x
- heyoka 7.13.0
v7.13.0releaseThe highlights of this latest release are: - support for the recently-released LLVM 23, including fixes for build errors with Clang 23, - implementation of the mathematical functions ``erfc()``, ``expm1()`` and ``log1p()``. These are numerically-stable variants of ``erf``/``exp``
source: github-release - heyoka 7.12.0
v7.12.0release# The bring-your-own-data edition The latest release of heyoka focuses on the datasets used to formulate the dynamics of Earth-orbiting spacecraft. ## Support for custom geopotentials In addition to the existing support for the EGM2008 geopotential, it is now possible to define a
source: github-release - heyoka 7.11.0
v7.11.0releaseThis latest release of heyoka features an important performance optimisation and a couple of new features. ## Faster compiled functions :zap: Compiled functions (``cfunc``) in ``compact_mode`` now implement an inlining optimisation that greatly increases evaluation performance. M
source: github-release - heyoka 7.10.0
v7.10.0releaseThis latest heyoka release comes with several new features and improvements. # On-disk cache :floppy_disk: Debuting in this release, is the on-disk JIT compilation cache, complementing the existing in-memory cache. The on-disk compilation cache persistently stores compiled LLVM m
source: github-release - heyoka 7.9.1
v7.9.1releaseThis is a quick hotfix release disabling (again) the parallel jit compilation feature which was enabled in heyoka 7.9.0 when using LLVM>=21. There are no other code changes. The full changelog, as usual, is available here: https://bluescarni.github.io/heyoka/changelog.html
source: github-release - heyoka 7.9.0
v7.9.0releaseThis is an incremental release with a couple of new features: - new frame transformations to/from the RTN/RSW/UVW frame and its inertial (frozen) variant, - add [CelesTrak](https://celestrak.org/SpaceData/) as a provider of EOP data. Additionally, a small issue in the build syste
source: github-release
2025 10 entries
7.x
- heyoka 7.8.1
v7.8.1releaseThis is a quick release enabling the compilation of heyoka with the newly-released fmt library version 12. As usual, the full changelog is available here: https://bluescarni.github.io/heyoka/changelog.html
source: github-release - heyoka 7.8.0
v7.8.0releaseThis latest heyoka release focuses on implementing thread safety for compiled functions and related classes. Specifically, it is now safe to use the same ``cfunc`` object concurrently from different threads of execution. The same holds for the SGP4 propagators. As a consequence o
source: github-release - heyoka 7.7.0
v7.7.0releaseThis is a small incremental release focusing on improving EOP/SW datafiles download. Specifically, it is now possible to specify a custom SSL verify file for HTTPS downloads, and the reporting for HTTP errors has been improved. As usual, the full changelog is available here: http
source: github-release - heyoka 7.6.0
v7.6.0releaseThis new heyoka release focuses on supporting the recently-released LLVM 21. At the same time, support for LLVM<17 has been removed. As a minor feature addition, it is now possible to specify an alternative origin when downloading the latest IERS EOP data. This should improve res
source: github-release - heyoka 7.5.0
v7.5.0releaseThis is a quick release introducing a couple of new important features: - an implementation of the Greenwich mean sidereal time (GMST) in the expression system, - new frame transformations to/from the TEME frame used by the SGP analytical models. As usual, the full changelog is a
source: github-release - heyoka 7.4.0
v7.4.0releaseThis new incremental release comes with a couple of new features and several fixes/improvements. **NOTE**: starting with this version, heyoka is now a C++23 project and it requires a modern compiler. The installation instructions have been updated accordingly: https://bluescarni.
source: github-release - heyoka 7.3.0
v7.3.0releaseVersion 7.3.0 marks a significant milestone in the evolution of heyoka, taking concrete steps toward becoming a comprehensive tool for spacecraft operations. This release introduces a suite of new physical models essential for high-precision orbital mechanics and mission planning
source: github-release - heyoka 7.2.1
v7.2.1releaseThis is a quick bugfix release that works around a thread safety issue in the erfa routines on top of which UTC/TAI conversions are implemented. As usual, the full changelog is available here: https://bluescarni.github.io/heyoka/changelog.html
source: github-release - heyoka 7.1.0
v7.1.0releaseThis is a quick release that contains a single change over version 7.0.0: the SGP4 propagator now expects both GPE epochs and propagation dates to be provided as UTC Julian dates. Internally, epochs and dates are converted to the TAI scale of time in order to ensure accurate prop
source: github-release - heyoka 7.2.0
v7.2.0releaseThis quick release immediately follows version 7.1.0 with the addition of public functions to convert between UTC and TAI Julian dates (which were omitted in 7.1.0 by mistake). As usual, the full changelog is available here: https://bluescarni.github.io/heyoka/changelog.html
source: github-release
2024 9 entries
7.x
- heyoka 7.0.0
v7.0.0releasemajorMajor version 7**NOTE**: despite the major version bump, there are **no API breaking changes**. This is an incremental release which updates the requirement on the mp++ library to version 2 (hence the major version bump). Other changes include: - better tuning for Zen 4 and later CPUs, - improv
source: github-release
6.x
- heyoka 6.1.0
v6.1.0releaseThis is a quick release containing: - a fix for a likely clang-17 bug which manifests itself with exceptions being thrown during (de)serialisation, and - a fix for symbols from heyoka and its dependencies not being available to the JIT runtime when the heyoka shared library is ``
source: github-release - heyoka 6.0.0
v6.0.0releasemajorMajor version 6# Improved support for mega-kernels :zap: The main focus of this new heyoka release is improved support for very large computational graphs in both Taylor integrators and compiled functions. Specifically: - when ``compact_mode`` is active, heyoka now splits the LLVM IR code in mu
source: github-release
5.x
- heyoka 5.1.0
v5.1.0release# SGP4 propagation :earth_africa: heyoka 5.1.0 adds an implementation of [SGP4](https://en.wikipedia.org/wiki/Simplified_perturbations_models), a widely-used analytical propagator for Earth-orbiting objects. SGP4 uses [two-line elements sets (TLEs)](https://en.wikipedia.org/wiki/
source: github-release - heyoka 5.0.0
v5.0.0releasemajorMajor version 5# Variational equations :dizzy: With version 5.0.0, heyoka takes another big leap forward with built-in support for the variational equations - that is, the ability to compute not only the solution of an ODE system, but also its partial derivatives with respect to the initial con
source: github-release
4.x
- heyoka 4.0.3
v4.0.3releaseThis is a quick release that fixes a couple of build issues, one on FreeBSD and the other affecting the unit tests when building with GCC 13. **NOTE**: heyoka 4.x introduces several breaking changes with respect to the 3.x series. Please see the following link for a list of break
source: github-release - heyoka 4.0.2
v4.0.2releaseThis is a quick release that fixes a build issue on MinGW. **NOTE**: heyoka 4.x introduces several breaking changes with respect to the 3.x series. Please see the following link for a list of breaking changes and explanations on how to adapt your code to the new API: https://blue
source: github-release - heyoka 4.0.0
v4.0.0release# Breaking changes Version 4 of heyoka introduces several backwards-incompatible changes, most of which have been prompted by user feedback. The updated heyoka API should be more streamlined, easier to use and more difficult to misuse. The detailed list of breaking changes is ava
source: github-release - heyoka 4.0.1
v4.0.1releasemajorMajor version 4This is a quick release that fixes a build issue on PPC64. **NOTE**: heyoka 4.x introduces several breaking changes with respect to the 3.x series. Please see the following link for a list of breaking changes and explanations on how to adapt your code to the new API: https://blue
source: github-release
2023 7 entries
3.x
- heyoka 3.2.0
v3.2.0releaseThis new release of heyoka comes packed with several new features and enhancements. # Support for single-precision computations In addition to extended and arbitrary precision computations, heyoka now supports also single-precision computations via the ``float`` type. Single-prec
source: github-release - heyoka 3.1.0
v3.1.0releaseThis new release of heyoka comes packed with several new features and enhancements. # Neural networks It is now possible to create feed-forward neural networks in the expression system, and use them in the definition of ODEs. See the [machine learning](https://bluescarni.github.i
source: github-release - heyoka 3.0.0
v3.0.0releasemajorMajor version 3> **NOTE**: despite the major version bump, **there are no public API changes with respect to heyoka 2.0.0**. This is a maintenance release which fixes a few issue identified in heyoka 2.0.0. Because one of the issues involves wrong version compatibility settings in the CMake con
source: github-release
2.x
- heyoka 2.0.0
v2.0.0releasemajorMajor version 2> **NOTE**: the major version number has been bumped from 1 to 2 because support for LLVM 10 has been dropped. However, **there are no public API changes with respect to heyoka 1.0.0**. This new release of heyoka focuses on several LLVM-related improvements and fixes. # In-memory
source: github-release
1.x
- heyoka 1.0.0
v1.0.0releasemajorFirst releaseVersion 1.0.0 of heyoka is here, and it brings several new features and important changes. # Semantic versioning Starting from this release, heyoka adopts the [semantic versioning](https://semver.org/) numbering scheme. In particular: - the MAJOR version will be increased in case
source: github-release
0.x
- heyoka 0.21.0
v0.21.0prereleaseThis is an incremental release which features a few internal cleanups and introduces ABI versioning/tagging. The full changelog, as usual, is available here: https://bluescarni.github.io/heyoka/changelog.html
source: github-release - heyoka 0.20.1
v0.20.1prereleaseThis is a minor release that fixes the visibility setting on a couple of internal functions. The full changelog, as usual, is available here: https://bluescarni.github.io/heyoka/changelog.html
source: github-release
2022 5 entries
0.x
- heyoka 0.20.0
v0.20.0prereleaseThis new heyoka release comes with a big new feature and several small fixes and additions. ## Arbitrary-precision computations :heavy_division_sign: Taylor integrators shine in high-accuracy applications, and now, with heyoka, you can get as accurate as you want! In addition to
source: github-release - heyoka 0.19.0
v0.19.0prereleaseThis new release focuses on cleanups, documentation and maintenance, as most of the development work for this release was focused on the Python bindings (https://github.com/bluescarni/heyoka.py). The full changelog, as usual, is available here: https://bluescarni.github.io/heyoka
source: github-release - heyoka 0.18.0
v0.18.0prereleaseThis new version of heyoka comes with a big new feature and several fixes. Automatic parallelisation :rocket: ------------------------------------------- heyoka is now capable of automatically performing multithreaded fine-grained parallelisation within an individual integration
source: github-release - heyoka 0.17.1
v0.17.1prereleaseThis is a minor release featuring: - two fixes for test failures on FreeBSD :lady_beetle:, - a change in behaviour for the ``propagate_*()`` functions: in presence of a stopping terminal event, the callback is now invoked and the continuous output is updated (whereas previously a
source: github-release - heyoka 0.17.0
v0.17.0prereleaseThis new version of heyoka comes with a big new feature, several quality-of-life improvements and a few fixes. # Ensemble propagations :rocket: The big new feature is support for [ensemble propagations](https://bluescarni.github.io/heyoka/tut_ensemble.html). In ensemble mode, mul
source: github-release
2021 16 entries
0.x
- heyoka 0.16.0
v0.16.0prereleaseThis is another big release for heyoka, featuring 2 major new features and substantial performance improvements. ## Event detection support in batch mode :fast_forward: Event detection is now available in the batch mode Taylor integrator. As a result, the batch mode integrator ha
source: github-release - heyoka 0.15.0
v0.15.0prereleaseThis is one of the biggest releases of heyoka to date, featuring various new capabilities, a major change in the expression system and several fixes. ## Reference semantics for ``func``s A fundamental change debuting in heyoka 0.15.0 is that function nodes in the expression syste
source: github-release - heyoka 0.14.0
v0.14.0prereleaseThis new release of heyoka implements an important improvement in the automatic deduction of the cooldown value for terminal events, which should now be more reliable than before. The full changelog, as usual, is available here: https://bluescarni.github.io/heyoka/changelog.html
source: github-release - heyoka 0.12.0
v0.12.0prereleaseThe 0.12.0 release of heyoka features two important additions: - serialisation support, - support for 64-bit ARM and PowerPC CPUs. Serialisation ---------------- Serialisation allows to save/load heyoka objects to/from file and to transmit them over the network. A tutorial showca
source: github-release - heyoka 0.11.0
v0.11.0prereleaseThis is a minor new release which introduces performance optimisations for the creation of large ODE systems and implements symbolic differentiation for the time expression (which allows to compute the variational equations of non-autonomous systems). As usual, the full changelog
source: github-release - heyoka 0.10.1
v0.10.1prereleaseThis is a bugfix release which solves an issue in the deduction of the number of parameters of an ODE system from the event equations. No other changes are included. The full changelog, as usual, is available here: https://bluescarni.github.io/heyoka/changelog.html
source: github-release - heyoka 0.10.0
v0.10.0prereleaseThis is an incremental release that introduces a change in the API of the callbacks that can (optionally) be passed to the ``propagate_*()`` functions. Also, this release features a new pairwise product primitive and various improvements to the automatic simplification capabiliti
source: github-release - heyoka 0.9.0
v0.9.0prereleaseThis release includes two new functions in the expression system: the inverse of Kepler's elliptic equation and time polynomials. Additionally, this release features also performance improvements and various internal cleanups. The full changelog, as usual, is available here: http
source: github-release - heyoka 0.8.0
v0.8.0prereleaseThis new release of heyoka features a couple of breaking changes in the event detection API. The changes are explained in detail here: https://bluescarni.github.io/heyoka/breaking_changes.html#bchanges-0-8-0 The release contains also a couple of new features for the ``propagate_*
source: github-release - heyoka 0.7.0
v0.7.0prereleaseThis new release of heyoka comes with several feature additions, a couple of fixes and support for the recently-released LLVM 12. One important improvement is that the time coordinate in the adaptive integrators is now represented internally in double-length format, which greatly
source: github-release - heyoka 0.6.1
v0.6.1prereleaseThis is a bugfix release that corrects a couple of issues in the event detection system. The full changelog, as usual, is available here: https://bluescarni.github.io/heyoka/changelog.html
source: github-release - heyoka 0.6.0
v0.6.0prereleaseThis new version of heyoka comes with a big new feature, event detection. A tutorial chapter describing the new feature is available here: https://bluescarni.github.io/heyoka/tut_events.html Another important new feature is that ``propagate_grid()`` can now be used with the batch
source: github-release - heyoka 0.5.0
v0.5.0prereleaseThis is a minor release that features additions and improvements to the expression system. The full changelog, as usual, is available here: https://bluescarni.github.io/heyoka/changelog.html
source: github-release - heyoka 0.4.0
v0.4.0prereleaseThis new release of heyoka comes with several new features: - support for outputting the Taylor coefficients that were used to perform a single time step, - support for dense (continuous) output, - efficient propagation over a time grid via dense output, - new automatic simplific
source: github-release - heyoka 0.3.0
v0.3.0prereleaseThis new version of heyoka adds support for many new elementary functions, including: - inverse trigonometric functions, - (inverse) hyperbolic functions, - the standard logisitc function, - the error function. Additionally, non-autonomous systems are now directly supported via a
source: github-release - heyoka 0.2.0
v0.2.0prereleaseThis version adds two important new features: * support for runtime parameters (i.e., numerical constants whose values is not known when constructing an expression), * an extension of the API that allows to implement in heyoka a much wider variety of mathematical functions than p
source: github-release
2020 2 entries
0.x
- heyoka 0.1.0
v0.1.0prereleaseThis is the first release of heyoka. Initial documentation is available here: https://bluescarni.github.io/heyoka
source: github-release