Release 2.4.1

This new (minor) version is mainly meant to address missing Python bindings for the hybrid module. It also changes the interface for integrators and introduces two new integrators, among other things.


  • N: new feature
  • A: addition to a feature
  • C: change to the behavior of a feature
  • F: fixed feature
  • R: removed feature


  • #357 (N) Introduce a TaylorSeriesBounderIntegrator, that identifies the bounds from the expansion without resorting to a Bounder initially
  • #613 (A) Add Python bindings for Variables2d, Projection2d fields, HybridEnclosure space accessors
  • #617 (A) Add is_polynomial_in predicate for symbolic expressions
  • #622 (A) Implement GradedTaylorPicardIterator that avoids initial use of Bounder
  • #626 (A) Allow ’none’ graphics backend or drawer from CLI, to temporarily switch off graphics when desired
  • #628 (A) Implement some methods for Polynomial, in particular for vectors thereof
  • #636 (A) Add Python bindings for hybrid automaton target method
  • #642 (A) Add Python bindings for hybrid automaton name and symbolic expressions in dynamics/guards/invariants/resets
  • #643 (A) Add C++ and Python support for iteration through components of a CompositeHybridAutomaton
  • #612 (C) Remove unused legend from Gnuplot output
  • #639 (C) Use a finer (3/4) refinement strategy for the step size when computing a flow step based on an accuracy threshold
  • #616 (F) Fix behavior of unary symbolic expression predicates
  • #620 (F) EulerBounder did not reset the bounding domain between refinements to the step size
  • #631 (F) Conditional disabling of graphics in absence of both Cairo and Gnuplot was incorrect
  • #645 (F) Use only static const Generator objects, addressing linking issue for the whole library
  • #623 (R) Simplify IntegratorInterface with only one flow step, removing flow/flow_to and hiding flow_bounds

Release 2.3

This new version introduces concurrency in the library, applied to evolution routines and drawing at the moment. We also offer the ability to add arguments to executables (both C++ and Python) in order to set variables such as concurrency level, drawer to be used or logger verbosity. Legenda: N: new feature A: addition to a feature C: change to the behavior of a feature F: fixed feature R: removed feature Changes: [Read More]

Release 2.2

This new version expands coverage of Python bindings, introduces Gnuplot output and a simulator for purely continuous systems, among other things.


  • N: new feature
  • A: addition to a feature
  • C: change to the behavior of a feature
  • F: fixed feature
  • R: removed feature


  • #441 (N) Add support for Gnuplot output, including animated gif plot of sets and tridimensional plots for PDEs
  • #507 (N) Add a simulator for vector field dynamics
  • #514 (N) Add Python examples in python/examples
  • #509 (A) Additionally support a set as input in simulators, using the midpoint as the effective point
  • #513 (A) Add missing Python bindings for verify_safety in (Hybrid)ReachabilityAnalyser
  • #516 (A) Add missing Python bindings for Real predicates to be used in automata specification
  • #518 (A) Add missing Python bindings for evolver configuration and initial set assignment
  • #520 (A) Add missing Python bindings for plotting using HybridFigure
  • #543 (A) Add missing Python bindings for iterating across ListSet of Enclosure classes
  • #527 (A) Allow to draw a Labelled/Hybrid orbit directly to a Labelled/Hybrid figure
  • #492 (C) Modify SFINAE code to use C++20 concepts, currently preventing AppleClang compilation under macOS until the compiler supports Concepts
  • #529 (C) Disallow construction of VectorField and IteratedMap from a Function, since it was broken
  • #533 (C) Map<K,V> now checks for existing key using ARIADNE_ASSERT, yielding errors also for Release builds
  • #447 (F) Check that a VectorField is defined with dynamics for all involved variables, fixes a segfault within evolution
  • #532 (F) RealExpressionBoundedConstraintSet could be constructed in an incoherent way, due to missing checks
  • #211 (R) Remove various deprecated functions

Release 2.1

In this minor release we mainly address Python bindings, which now cover all layers of functionality up to hybrid evolution. As a consequence, now C++ and Python tutorials mirror each other. This is also the first release that comes with Homebrew and Aptitude packages for quick installation of the library. Installation and Tutorial sections have been updated accordingly. Legenda: N: new feature A: addition to a feature C: change to the behavior of a feature F: fixed feature R: removed feature Changes: [Read More]

Release 2.0

We are happy to announce the release of version 2.0 of Ariadne! This release introduces a significant number of changes with respect to the previous major version, mainly: A more general and robust way of constructing hybrid automata; On-the-fly composition of systems; A hybrid simulator based on the classic Runge-Kutta method; Use of constraints in the evolution of hybrid systems; Algebraic-differential equations; Differential inclusions in the continuous space; Wider use of named variables and symbolic manipulation; Python bindings for most of the library. [Read More]

Updated publications

The main publications have been updated, including our latest work on differential inclusions and a paper on computable compositionality.

Migration complete and internal release 1.9

Migration from BitBucket to GitHub has completed! In particular, the repository for the development version of the library becomes This renaming is in preparation for the 2.0 official release of Ariadne, tentatively due at the beginning of 2019. The migration also comes with a new 1.9 internal release, where we improved stability and increased OS and compiler compatibility. We introduced continuous integration and code coverage to our development flow, with the purpose of driving improvements to code quality. [Read More]

GitHub migration commenced

In order to get access to a wider open-source community and also to exploit better continuous integration services, we are migrating from BitBucket to GitHub. The new source site will become with a new organization called ariadne-cps as part of the GitHub Education program. The original repositories on BitBucket will be removed as of October the 1st. There will be an additional news in the next few days to announce the completion of the migration process. [Read More]