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_decomposed
operator with inputs (#737) - Overapproximate singular maps in
LazyDiscretePost
(#621) - Forbid old, non-functional
Symbol
input 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
Flowpipe
type (#719); this changed the internal interface for algorithms and the result typeReachSolution
Bug fixes
- Fixed property checking with
BFFPSV18
algorithm 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
SparseReachSet
instead of aReachSet
(#676) - revised projection (#676)
- continuous-post operator
TMJets
now 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
ConcreteDiscretePost
operator (#650) - added
AbstractReachSet
as 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
:overapproximation
option was ignored by theLazyDiscretePost
operator (#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
Compat
dependency (#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)
Inf
as time horizon is now supported (#549)- added clustering option
:none_oa
which 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⋂G
and 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_homogeneous
option) (#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_matrix
option is given (#547)
Enhancements
- allow to disable the
max_jumps
option and disable it by default (#456) - allow using a
U::LazySet
for 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 thenormalize
function (#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
JuliaReach
related packages (#428), and another one with publications of repeatability evaluations or algorithms (#426) - We now use the
AbstractMap
interface fromMathematicalSystems
for 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
Properties
module has become a standalone module. We renamed the property types and a method (check_property
→check
).Conjunction
/Disjunction
types have been added.LinearConstraintProperty
has been removed as it can be imitated by a combination of the other property types. (#493, #494, #497) - The options for the
BFFPSV
algorithm 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_map
now 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_init
is set toLinearMap
in addition (#534) - the
invariant
argument 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
:overapproximation
is given (#561)
Breaking changes
ContinuousSystem
andDiscreteSystem
constructors are removed; use constructors from MathematicalSystems types instead (#503)- see the section Other above for more refactoring-related changes