Releases: JuliaReach/Reachability.jl
Releases · JuliaReach/Reachability.jl
v0.7.0
Announcements
This version is compatible with Julia v1.2.
Breaking changes
Features
Bug fixes
- Fix
ABS07_decomposedoperator with inputs (#737) - Overapproximate singular maps in
LazyDiscretePost(#621) - Forbid old, non-functional
Symbolinput for option:block_options(#744)
Enhancements
- Fix typo in error messages (#729)
- Improved discretization of interval-matrix affine systems (#732)
- Restore compatibility with
MathematicalSystems(#733) - Use zonotope decomposition in
ASB07_decomposed(#736) - Restore compatibility with
IntervalMatrices(#742) - Fixed compatibility with
LazySets(#744)
Other
- Fixed doctests (#744)
v0.6.1
v0.6.0
Announcements
This version is compatible with Julia v1.2.
Breaking changes
- Added
Flowpipetype (#719); this changed the internal interface for algorithms and the result typeReachSolution
Bug fixes
- Fixed property checking with
BFFPSV18algorithm when N == 1 and using multiple blocks (#721)
Enhancements
- Restored compatibility with new version of
LazySets(#725)
v0.5.0
v0.4.0
Announcements
This version is compatible with Julia v1.2.
Breaking changes
- decomposing algorithms now return a
SparseReachSetinstead of aReachSet(#676) - revised projection (#676)
- continuous-post operator
TMJetsnow returns a flowpipe with concrete set types to account for a change inLazySets(#695)
Features
- discretize using matrix interval remainder (#659)
- reachability algorithm for LTI systems with interval matrices using zonotopes (#681) and a decomposed version thereof (#688)
- coordinate transformations are now properly reversed (#689)
Bug fixes
Enhancements
- improved
ConcreteDiscretePostoperator (#650) - added
AbstractReachSetas new supertype of reach-set wrappers (#676) - properties are now checked after taking the intersection with the invariant (#692)
Other
v0.3.0
Breaking changes
- Removed symbol arguments for the overapproximation option with template directions (e.g.,
:box) (#633)
Features
- Accept
AffineContinuousSystem(resp.AffineDiscreteSystem) in the continuous post (#625) - Added a decomposed hybrid algorithm (#641, #660)
Bug fixes
- Fixed a case where the
:overapproximationoption was ignored by theLazyDiscretePostoperator (#633) - Fixed operator norm usage in discretization (#644)
- Fixed a namespace conflict with function
update!(#667)
Enhancements
- Allow using template directions for overapproximation in the discrete post operator (#627)
- Dropped the
Compatdependency (#666)
Other
v0.2.0
Announcements
This release dropped compatibility with pre-v1.0 versions of Julia (#431).
This release is used for ARCH2019_RE.
Features
- added (rudimentary) support to check properties for hybrid systems (#480, #500)
- added a new option to discretize using concrete operations on zonotopes (#528)
Infas time horizon is now supported (#549)- added clustering option
:none_oawhich does not cluster but still overapproximates (#555) - accept affine continuous systems without inputs (#560)
- added new continuous-post algorithm:
GLGM06(#531) - added new continuous-post algorithm:
TMJets(#537)
Bug fixes
- fixed behavior of
LazyDiscretePost's option:lazy_R⋂Gand added option:lazy_A⌜R⋂G⌟for the old behavior (#459) - fixed bloating for systems without inputs in the approximation model that uses interpolation (former
assume_homogeneousoption) (#503) BFFPSV18(continuous-post operator) now returns the input options (instead of an internal representation) (#539)- fixed crash in error message (#546)
- do not automatically project if
:projection_matrixoption is given (#547)
Enhancements
- allow to disable the
max_jumpsoption and disable it by default (#456) - allow using a
U::LazySetfor the input set of systems; it is equivalent toConstantInput(U)(#526) - allow to use
x' = Ax + Bu, with or without constraints, which is transformed to the canonical form internally, with thenormalizefunction (#542) - initial states in hybrid-system analysis are now preserved if are fully inside the invariant (#573)
Other
- refactoring work (#430, #432)
- new page in the documentation about works citing
JuliaReachrelated packages (#428), and another one with publications of repeatability evaluations or algorithms (#426) - We now use the
AbstractMapinterface fromMathematicalSystemsfor transitions (guards/assignmens) of hybrid automaton models (#439, #458) - The options interface has changed. In particular, options specific to the continuous-post algorithm now need to be passed to the respective post operator, and the default values for some options has changed. (#464)
- The
Propertiesmodule has become a standalone module. We renamed the property types and a method (check_property→check).Conjunction/Disjunctiontypes have been added.LinearConstraintPropertyhas been removed as it can be imitated by a combination of the other property types. (#493, #494, #497) - The options for the
BFFPSValgorithm have changed. For overapproximation during decomposition and iteration, we now use a unified option:block_options. This synchronizes the code with recent corresponding changes inLazySets. (#505) - Overhaul
discretize.jl(#503) inout_mapnow uses the concrete projection of half-spaces and hpolyhedron from LazySets for property checking (#525)- decomposition for one-block partitions is now only skipped if the option
:block_options_initis set toLinearMapin addition (#534) - the
invariantargument is removed from the continuous post; instead it is read from the stateset of the dynamical system in each mode (#551) - better error message if unsupported value for option
:overapproximationis given (#561)
Breaking changes
ContinuousSystemandDiscreteSystemconstructors are removed; use constructors from MathematicalSystems types instead (#503)- see the section Other above for more refactoring-related changes