← AeroToolkit

heyoka

Taylor ODE integrator for astrodynamics.

55 timeline entries · 7 major versions/milestones · 7 years · https://github.com/bluescarni/heyoka · RSS

Release timeline (newest first, grouped by year and version)

2026 6 entries

7.x

  1. heyoka 7.13.0 v7.13.0 release

    The 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``

  2. heyoka 7.12.0 v7.12.0 release

    # 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

  3. heyoka 7.11.0 v7.11.0 release

    This 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

  4. heyoka 7.10.0 v7.10.0 release

    This 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

  5. heyoka 7.9.1 v7.9.1 release

    This 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

  6. heyoka 7.9.0 v7.9.0 release

    This 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

2025 10 entries

7.x

  1. heyoka 7.8.1 v7.8.1 release

    This 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

  2. heyoka 7.8.0 v7.8.0 release

    This 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

  3. heyoka 7.7.0 v7.7.0 release

    This 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

  4. heyoka 7.6.0 v7.6.0 release

    This 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

  5. heyoka 7.5.0 v7.5.0 release

    This 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

  6. heyoka 7.4.0 v7.4.0 release

    This 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.

  7. heyoka 7.3.0 v7.3.0 release

    Version 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

  8. heyoka 7.2.1 v7.2.1 release

    This 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

  9. heyoka 7.1.0 v7.1.0 release

    This 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

  10. heyoka 7.2.0 v7.2.0 release

    This 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

2024 9 entries

7.x

  1. heyoka 7.0.0 v7.0.0 releasemajorMajor 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

6.x

  1. heyoka 6.1.0 v6.1.0 release

    This 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 ``

  2. heyoka 6.0.0 v6.0.0 releasemajorMajor 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

5.x

  1. heyoka 5.1.0 v5.1.0 release

    # 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/

  2. heyoka 5.0.0 v5.0.0 releasemajorMajor 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

4.x

  1. heyoka 4.0.3 v4.0.3 release

    This 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

  2. heyoka 4.0.2 v4.0.2 release

    This 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

  3. heyoka 4.0.0 v4.0.0 release

    # 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

  4. heyoka 4.0.1 v4.0.1 releasemajorMajor version 4

    This 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

2023 7 entries

3.x

  1. heyoka 3.2.0 v3.2.0 release

    This 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

  2. heyoka 3.1.0 v3.1.0 release

    This 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

  3. heyoka 3.0.0 v3.0.0 releasemajorMajor 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

2.x

  1. heyoka 2.0.0 v2.0.0 releasemajorMajor 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

1.x

  1. heyoka 1.0.0 v1.0.0 releasemajorFirst release

    Version 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

0.x

  1. heyoka 0.21.0 v0.21.0 prerelease

    This 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

  2. heyoka 0.20.1 v0.20.1 prerelease

    This 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

2022 5 entries

0.x

  1. heyoka 0.20.0 v0.20.0 prerelease

    This 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

  2. heyoka 0.19.0 v0.19.0 prerelease

    This 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

  3. heyoka 0.18.0 v0.18.0 prerelease

    This 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

  4. heyoka 0.17.1 v0.17.1 prerelease

    This 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

  5. heyoka 0.17.0 v0.17.0 prerelease

    This 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

2021 16 entries

0.x

  1. heyoka 0.16.0 v0.16.0 prerelease

    This 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

  2. heyoka 0.15.0 v0.15.0 prerelease

    This 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

  3. heyoka 0.14.0 v0.14.0 prerelease

    This 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

  4. heyoka 0.12.0 v0.12.0 prerelease

    The 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

  5. heyoka 0.11.0 v0.11.0 prerelease

    This 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

  6. heyoka 0.10.1 v0.10.1 prerelease

    This 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

  7. heyoka 0.10.0 v0.10.0 prerelease

    This 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

  8. heyoka 0.9.0 v0.9.0 prerelease

    This 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

  9. heyoka 0.8.0 v0.8.0 prerelease

    This 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_*

  10. heyoka 0.7.0 v0.7.0 prerelease

    This 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

  11. heyoka 0.6.1 v0.6.1 prerelease

    This 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

  12. heyoka 0.6.0 v0.6.0 prerelease

    This 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

  13. heyoka 0.5.0 v0.5.0 prerelease

    This 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

  14. heyoka 0.4.0 v0.4.0 prerelease

    This 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

  15. heyoka 0.3.0 v0.3.0 prerelease

    This 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

  16. heyoka 0.2.0 v0.2.0 prerelease

    This 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

2020 2 entries

0.x

  1. heyoka 0.1.0 v0.1.0 prerelease

    This is the first release of heyoka. Initial documentation is available here: https://bluescarni.github.io/heyoka

Milestones