v2.3
Legenda:
N: new feature
A: addition to a feature
C: change to the behavior of a feature
F: fixed feature
R: removed feature
- #538 (N) Introduce a concurrency module designed for parallel execution of internal tasks
- #549 (N) Introduce a Least Recently Used cache utility for holding a limited number of homogeneous objects
- #559 (N) Introduce an optional ariadne_main.hpp that offers an ariadne_main() function handling all header tasks for an executable
- #562 (N) Introduce a command line interface class for acquiring CLI input arguments setting logger verbosity, theme and scheduler, along with concurrency, graphics backend and drawer
- #561 (A) Add Python bindings for TaskManager in order to control concurrency
- #570 (A) Add Python bindings for GraphicsManager in order to control drawer and graphics backend
- #571 (A) Add Python bindings for Logger in order to expose (themed) logging
- #599 (A) Add extra Python bindings for HybridEnclosure, add Python subscripting for ListSet
- #602 (A) Add extra Python bindings for Enclosure, add Python bindings for Point2d for graphics
- #605 (A) Add Python bindings for CommandLineInterface, to acquire arguments to a Python script
- #551 (C) Make VectorFieldEvolver process sets in parallel (when splitting initially or during evolution)
- #556 (C) Disallow unsafe default value of upper semantics for orbit methods
- #565 (C) Draw lists of (Labelled/Hybrid)Enclosure in parallel
- #563 (C) Rename the 'output' module into the 'io' module to support future classes related to input
- #566 (C) Make HybridEvolver process sets in parallel (due to either splitting or multiple trajectories)
- #573 (C) Use an LRU cache for modes in CompositeHybridAutomaton, avoid exhausting a given mode in HybridEvolver before changing mode
- #580 (C) VectorFieldEvolver, IteratedMapEvolver and HybridEvolver now check that the initial enclosure is consistent
- #592 (C) Enclosure now uses the global GraphicsManager drawer instead of having a dedicated configuration field
- #595 (C) Modify examples to use ariadne_main function for simplicity, tutorials are not changed
- #539 (F) A segmentation fault sometimes would be issued when terminating the executable, due to logging
- #557 (F) Fix behavior of StopWatch utility for concurrent code, enhance the class for choosing a duration type
- #567 (F) Fix problem with state_time space creation when state space already contains the 't' variable
- #576 (F) Fix HybridEnclosure state_set() incorrectly working when an auxiliary function is present
- #578 (F) Fix VectorFieldEvolver not storing the auxiliary mapping to the initial enclosure created from an expression set
- #581 (F) Fix Enclosure splittings not carrying over the auxiliary mapping
- #558 (R) Remove unnecessary IteratedMapEvolver::enclosure methods
- #552 (R) Remove evolve/reach/reach_evolve methods from EvolverInterface, relying on orbit generation only
- #553 (R) Remove ability to write an evolver object to the standard output, since it was implemented as a fixed string for all evolvers anyway