Requires Storm version >= 1.12.0.
- Require Python >= 3.10
- Improved support for interval DTMC/MDP:
- Added support for building interval models from Prism files
- Added support for model checking interval models
- Set uncertainty resolution via
CheckTask.set_uncertainty_resolution_modewhich replacesset_robust_uncertainty
- Extended support for JANI
- Added bindings for memory structures
- Introduce
collect_all_parameters - Extended support for MA
- Adaption to changes in Storm:
- Added
RegionRefinementChecker - Use
DirectEncodingExporterOptionsinstead ofDirectEncodingOptions - Added
StateValuationTransformer
- Added
- Bugfixes for pybind 3.0.2 and building on manylinux
- Developer: enforce exact pybind11 version
- Developer: unified declaration of (parametric) models
- Developer: Markdown support in documentation via Myst
- Developer: weekly CI tests for wheel generation
- Developer: consistent use of
#pragma once - Developer: automated formatting of C++ code via clang-format
Requires Storm version >= 1.11.0. Binaries for this release are linked with Storm 1.11.1.
- Use latest Storm version in CI workflow for releases.
Requires Storm version >= 1.11.0. Binaries for this release are linked with Storm 1.11.0.
- Prebuilt binaries on macOS require at least macOS version 14 (Apple Silicon) or version 15 (Intel)
- Documentation: Revised installation guide
- Developer: Improved workflow for creating wheels and added support for Linux ARM
- Developer: Use fixed versions for Python dependencies
Requires Storm version >= 1.11.0.
- Fixed issue in CI workflow for releases
Requires Storm version >= 1.11.0
- Restructured build process:
- Migrated build process to scikit-build-core
- Adaptions to build process of Storm
- Developer: added information on used Storm library (e.g. installation location) to
stormpy.info - Developer: internal libraries are denoted by underscore prefix (e.g.
_storage) now
- Generalized functions
get_valueandget_values_statesfor valuations - Adaption to changes in Storm
- Documentation: Use Sphinx theme Nefertiti and updated documentation
- Developer: CI workflow for new releases including publishing to pypi
Requires Storm version > 1.10.0
- First stand-alone (including Storm) release to pypi.
Requires Storm version >= 1.10.0
- Integrated pycarl into stormpy. Pycarl is no longer available as a separate library.
- Support for forcing exact mode in environment
- Support for building Prism SMGs
- Support for building interval POMDPs from DRN
- Added convenience functions for state valuations
- Multi-objective plotting
- Check DFT for potential modeling issues
- Added argument
use_groupsto submatrix - Bug fixes in interactive belief explorer,
prob01max_states, parsing properties andprogram.variables - Improved documentation
- Adaption to changes in Storm
- Developer: support for automatic code formatting
- Developer: support for multi-platform Docker images
- Developer: use C++20
Requires Storm version >= 1.9.0 and pycarl version >= 2.3.0
- Support for computing steady-state distributions
- Support for quantitative POMDP analysis
- Support for interval-based models
- Extended ADD support
- Support for all-in-one MDP
- Bindings for Smg and GameFormula
- Build parametric models from model components
- Improved access to state valuations, choice labels and choice origins
- Adaption to changes in Storm such as DFT simulator
- Developer: improved build process
Requires Storm version >= 1.8.0 and pycarl version >= 2.2.0
- Scheduler extraction for exact models
- Adaption to changes in Storm such as the removal of JIT compilation and changes in
storm-pomdp - Added bindings for DFT modules
- Developer: improved build process
- Developer: updated pybind version to 2.10.0. Check compatibility to pybind version of pycarl
Requires Storm version >= 1.7.0 and pycarl version >= 2.1.0
- Support for plotting via extras
plot - Support for LTL model checking via Spot
- Some support for multi-objective model checking queries
- Bindings for maximal end components
- Support for computing expected number of visits
- Added accessors for Prism program
- Added documentation for simulator
- Support for building complete/partial state space of DFT
- Instantiator for parametric DFT
- Simulator for DFT
- Added Dockerfile
- Developer: stormpy is built with C++17
- Developer: updated pybind11 to version 2.8.1 and adapted bindings accordingly
- Adaption to changes in Storm such as the new namespace
storm::dft
Requires storm version >= 1.6.4 and pycarl version >= 2.0.5
- Simulator for sparse models updated, added simulator for prism programs.
- Renamed
PrismProgram::isDeterministicModeltois_deterministic_modelfor consistency - Support for specifying the returned quotient format (symbolic or sparse) for symbolic bisimulation
- Added support for continuous integration with GitHub Actions
- Updated bindings for, e.g., Jani to reflect changes in Storm
- Bindings for end component elimination
Requires storm version >= 1.6.3 and pycarl version >= 2.0.4
- Documentation is largely based on Jupyter notebooks now and supports launch with Binder
- Support for exact arithmetic in models
- Support for timeouts/signal handlers in Storm
- Code for parametric/exact/floating-point models data structures unified
- Extended support for Prism and Jani data structures
export_parametric_to_drnno longer exists, useexport_to_drninstead
Requires storm version >= 1.6.2 and pycarl version >= 2.0.4
- Adaptions to changes in Storm
- Create models (DTMC, MDP, CTMC, MA) directly from model components. Support creation of transition matrix, labeling, reward models, etc.
- Explicit State Lookup: Finding a state based on the variable values
- Support for pPOMDPs
- (p)POMDPs: Support for unfolding memory, making POMDPs simple, and exporting POMDP to a pMC
- Export to DRN options to support exporting without placeholders
- Renamed
preprocess_prism_programtopreprocess_symbolic_input - Bindings for Storm-dft; most notably transformations, symmetries and relevant events
Skipped for compatibility with Storm.
Requires storm version >= 1.6.0 and pycarl version >= 2.0.4
- Adaptions to changes in Storm: most notably state valuations
- Support for GSPNs: parsing, exploring, building
- Support for matrix building
- Extended expression operators with {conjunction, disjunction}
- Added information collector to extract information from jani models
- Bindings for elimination of chains of non-Markovian states
- Early support for POMDPs
- Early support for simulations on explicit-state models
Skipped for compatibility with Storm.
Skipped for compatibility with Storm.
Requires storm version >= 1.4.1 and pycarl version >= 2.0.4
- Adaptions to changes in Storm
- Extended simple accessors such as
parse_properties,model_checking, to handle variety of inputs. - Added and extended environments
- Changed constructor of
ParameterRegionto take a valuation instead of string. UseParameterRegion.create_from_string()to create a region from string. - Added InstantiationModelChecker for pMDPs and allow instantiations with rational numbers
- Added transformation of CTMCs to DTMCs
- Further bindings for Prism Programs and their preprocessing
- SettingsManager updated
- Allow building models annotated with valuations
- A custom state exploration that allows to explore successor states of a prism program
- Extended documentation, in particular examples.
- Fix for compilation with Xcode 11
Skipped for compatibility with Storm.
Requires storm version >= 1.3.0 and pycarl version >= 2.0.3
- Adaptions to changes in Storm
- Bindings for symbolic models:
- building symbolic models
- bisimulation
- transforming symbolic to sparse models
- Extraction of schedulers and queries on schedulers
- High-level counterexamples connected
- Drastically extended JANI bindings
- Extended bindings for expressions
- Extended PLA bindings
- Extended DFT bindings
- Extended documentation
- Improved and extended setup
Requires storm version >= 1.2.0 and pycarl version >= 2.0.2
- Adaptions to changes in Storm
- Bindings for simplification of parametric models
- Handling of rewards
- Building of model with all labels if no formula is given
- Support for
submatrix() - Extended documentation
- Extended build script
Requires storm version >= 1.1.0
- Bindings for
storm-pars - Bindings for graph constraints
- Bindings for handling JANI files
- Moved expressions from own module into
storagemodule - Travis support for build process
- Tests for documentation
- Updated pybind version
Skipped, to keep on par with storm
- Bindings for DFTs
- Bindings for PLA
- Updated to pycarl version 2.0.0 (support for both CLN and GMP)
- Improved building system, read flags from storm build system
- Start of this changelog
=============
Requires carl-storm version >= 14.23
- Added support for intervals with different number types
- Automated code formatting
- Developer: improved build and CMake support
- Developer: improved CI
Requires carl-storm version >= 14.23
- Upgraded repo / version for carl, requires carl-storm from now on
- Developer: added Dockerfile
- Developer: improved build process
- Developer: updated pybind11 to version 2.10.0
Requires carl with branch master14
- Developer: updated pybind11 to version 2.8.1 and adapted bindings accordingly
- Improved continuous integration with GitHub Actions
Requires carl with branch master14
- Added support for continuous integration with GitHub Actions
Requires carl with branch master14
- Extended conversion of number types to formulae
- (minor) changed
constant_partto function forPolynomial - (minor) added an additional operator on polynomials
- Fix for compilation with Xcode 11
Requires carl with branch master14 or a carl version between 17.12 and 18.08
- Extended bindings for arithmetic operations
- Fixed negation comparison
- Improved error output in installation
- Extended documentation
- Improved and extended setup
Requires carl version >= 17.12
- Adaptions to changes in carl
- Extended bindings for rational functions and factorized rational functions
Variableconstructor no longer returns an existing variable if a variable with that name existsexpand()allows to obtain the expanded polynomial and rational function- Added methods for getting information about pycarl configuration
- Extended build script:
- uses config file
- support for disabling build of CLN and parser bindings
- fixed debug build type
Requires carl version >= 17.08
- Added conversions between CLN and GMP
- Added variable and integer pickling support. Throw errors if pickling is not supported
- Added hash functions
- Hide factorization caches for user
- Depend on carl-parser for parsing routines
- Check for carl version
- Fixed issues when CLN is not available
- First version with support for CLN and GMP. This means that no longer all operators are supported as it would be ambiguous
- Using bigint
- Arbitrary-size integers (CLN and GMP)
- Start of this changelog