Changelog History
-
v0.16.2 Changes
January 12, 2018๐ Release Notes
๐ With this release, the codebase transitions to C++17,
requiring more modern compilers (gcc 7, clang 5) and dependencies.Minor Changes
- Transition to C++17 (#250)
- Replace header guards w/ '#pragma once' (#253)
- โ Replace Nose w/ Pytest (#252)
- โ Replace GoogleTest w/ Catch2 (#251)
โ Removed Features
- Non-MEF, API-only random deviates (use STL or Boost
random
directly).
Since v0.16.1
80 commits resulted in 193 files changed, 3321 insertions(+), 4040 deletions(-)
- Core: 96 files changed, 1061 insertions(+), 1613 deletions(-)
- Scripts: 1 file changed, 111 insertions(+), 88 deletions(-)
- GUI: 39 files changed, 240 insertions(+), 443 deletions(-)
- โ Tests: 40 files changed, 1724 insertions(+), 1727 deletions(-)
- ๐ Documentation: 4 files changed, 41 insertions(+), 61 deletions(-)
- Schemas: No change
-
v0.16.1 Changes
January 04, 2018๐ Release Notes
๐ This release automates GUI testing with Qt Test and CI on GNU/Linux, macOS, and Windows.
Minor Changes
- โ GUI: Automated GUI Testing (#202)
- GUI: Present interface languages in sorted order (#242)
- GUI: Doxygen code doc generation and coverage (#243)
- ๐ GUI: Spanish translation (thanks to @NeHoMaR)
- ๐ GUI: Turkish translation (thanks to irfandogan)
- ๐ GUI: Dutch translation (thanks to Omer Surer)
- ๐ GUI: Indonesian translation
(thanks to @anggaariska, @isaideureka, and Irham21) - ๐ GUI: Polish translation (thanks to @oschlypajac)
- ๐ GUI: Italian translation (thanks to @aitorres)
โ Removed Features
install.py
helper script (use CMake or its front-ends directly)- 0๏ธโฃ GUI: Crash handler (requires an external process; instead, rely on the OS default)
๐ Bug Fixes
- GUI: SIGSEGV on model modification with open report tree (#236)
- GUI: Zoom box is too reactive (#240)
- ๐ GUI: GateTable: Remove element is active w/o selected element (#241)
Since v0.16.0
140 commits resulted in 290 files changed, 117096 insertions(+), 5798 deletions(-)
- Core: 95 files changed, 531 insertions(+), 582 deletions(-)
- Scripts: 5 files changed, 236 insertions(+), 139 deletions(-)
- GUI: 78 files changed, 6694 insertions(+), 3746 deletions(-)
- โ Tests: 42 files changed, 421 insertions(+), 659 deletions(-)
- ๐ Documentation: 5 files changed, 58 insertions(+), 20 deletions(-)
- Schemas: No change
-
v0.16.0 Changes
November 18, 2017๐ Release Notes
๐ This release introduces support for
declarative and non-declarative Substitutions.Major Changes
Substitutions (#154)
- Delete Terms
- Recovery Rules
- Exchange Events
Extern function (#74)
- External dynamic libraries
Minor Changes
Replace
libxml++
withlibxml2
(#218)- 2-2.5x speed improvement for initialization from MEF XML input
- Removed dependencies:
libxml++
,glib
,glibmm
,sigc++
๐ป Redesign Exception classes w/ boost::exception (#219)
Option to omit indentation whitespace in output XML (#220)
(up to 25% smaller file size and 10% speed improvement)XML stream optimizations for reporting
stdio
instead ofiostream
(40% speed improvement)- Custom indentation implementation (5% speed improvement)
- Integer serialization optimization (4-5% speed improvement)
๐ GUI: Translation and localization setup with Crowdin
GUI: Application Preferences (#210)
GUI: Fail-safe file save (#228)
GUI: Enable find/filter/search in Importance and Product tables
๐ Bug Fixes
- GUI: EventDialog name validator allows only ASCII chars (#221)
Since v0.15.0
201 commits resulted in 215 files changed, 36429 insertions(+), 2372 deletions(-)
- Core: 61 files changed, 3262 insertions(+), 1364 deletions(-)
- Scripts: No change
- GUI: 61 files changed, 31086 insertions(+), 471 deletions(-)
- โ Tests: 64 files changed, 1566 insertions(+), 198 deletions(-)
- ๐ Documentation: 13 files changed, 202 insertions(+), 76 deletions(-)
- Schemas: 2 files changed, 103 insertions(+), 26 deletions(-)
-
v0.15.0 Changes
August 15, 2017๐ Release Notes
๐ The release adds support for alignment
(i.e., analysis of a model over mission phases).Major Changes
- Alignment, Mission, Phases (#153)
Minor Changes
- GUI: Elision of long IDs and labels in diagram (#213)
๐ Bug Fixes
- GUI: QSortFilterProxyModel breaks Gate tree-table model (#214)
- GUI: Diagram unit dimensions are coupled with character dimensions (#215)
- ๐ GUI: SIGSEGV on exit (Windows, Wine) (#217)
Since v0.14.0
21 commits resulted in 68 files changed, 1516 insertions(+), 748 deletions(-)
- Core: 19 files changed, 620 insertions(+), 234 deletions(-)
- Scripts: 2 files changed, 97 insertions(+), 97 deletions(-)
- GUI: 9 files changed, 308 insertions(+), 305 deletions(-)
- โ Tests: 28 files changed, 300 insertions(+), 93 deletions(-)
- ๐ Documentation: 3 files changed, 38 insertions(+)
- Schemas: 2 files changed, 44 insertions(+)
-
v0.14.0 Changes
August 01, 2017๐ Release Notes
๐ This is the first GUI release
with features for simple fault tree analysis.Major Changes
- GUI: Fault Tree Visualization (#132)
- GUI: Fault Tree Construction (#133)
- ๐ง GUI: Analysis Configuration (#134)
- GUI: Fault Tree Analysis (#135)
- GUI: Probability and Importance analysis (#136)
Minor Changes
- ๐จ GUI: Print the Diagram/Graph (#200)
- ๐จ GUI: Print Preview (#205)
- GUI: Export the Diagram/Graph to SVG (#201)
- GUI: Transfer In/Out symbols (#191)
- GUI: Start Page (#196)
- GUI: Undo/Redo mechanism (#194)
๐ Bug Fixes
- GUI: Icon/Logo quality and scaling issues (#203)
- Importance factors are not generated for low product order limit (#206)
- LogicError: MEF Element w/ private role at model scope (#208)
Since v0.13.0
222 commits resulted in 108 files changed, 12550 insertions(+), 1072 deletions(-)
- Core: 27 files changed, 985 insertions(+), 377 deletions(-)
- Scripts: No change
- GUI: 54 files changed, 11169 insertions(+), 450 deletions(-)
- โ Tests: 11 files changed, 232 insertions(+), 48 deletions(-)
- ๐ Documentation: 8 files changed, 72 insertions(+), 22 deletions(-)
- Schemas: 1 file changed, 3 insertions(+), 139 deletions(-)
-
v0.13.0 Changes
May 12, 2017๐ Release Notes
๐ This release introduces limited and experimental support for event tree analysis.
Only necessary and sufficient functionalities are implemented
to allow the most common and basic analysis.
๐ Moreover, the release doesn't implement any optimization specific to event-tree analysis.Major Changes
- Event Tree Analysis (#150)
- Event-Tree-Fault-Tree Linking (#152)
- Event-Tree Chaining (#151)
- MEF 'set-house-event' Instruction (#179)
- โ MEF Test-Event Expressions (#68)
- MEF Numerical Operations (#72)
- MEF Boolean Operations (#73)
- MEF Conditional Operations (#67)
Minor Changes
๐ฆ Fedora RPM Package
Report product-order distribution (#168)
๐ XInclude support
The Open-PSA MEF compliance:
- House event state expressions are optional and can be implicitly defined to False.
- CCF level numbers are optional.
- CCF factors can be declared in any order.
- Multiple 'model-data' containers are allowed within a single 'opsa-mef' element.
- Gate formulas can have literal constant args (true, false) instead of house-events.
Interval-based expression sample domain validation (instead of min-max)
๐จ Print line numbers in XML schema validation error messages
โ Report warning messages with XML attributes in the results-layer instead of XML elements.
๐ Bug Fixes
- Fail to assign a label to a pass-through gate (#166)
- Zero/One probability events (division by zero total probability) (#169)
- Segfault with single-event fault tree importance analysis with BDD (#170)
- Config: Input/output file path format is system dependent (#171)
- Config: Relative paths are not resolved wrt the config file path (#172)
Since v0.12.0
208 commits resulted in 210 files changed, 9805 insertions(+), 3971 deletions(-)
- Core: 65 files changed, 4552 insertions(+), 2712 deletions(-)
- Scripts: 1 file changed, 18 insertions(+), 14 deletions(-)
- GUI: 2 files changed, 23 insertions(+), 94 deletions(-)
- โ Tests: 97 files changed, 2997 insertions(+), 557 deletions(-)
- ๐ Documentation: 23 files changed, 363 insertions(+), 352 deletions(-)
- Schemas: 4 files changed, 1119 insertions(+), 133 deletions(-)
-
v0.12.0 Changes
March 13, 2017๐ Release Notes
๐ This release introduces
๐ initial implementation and support for probability calculations over time
to approximate IEC 61508 Safety Integrity Levels
and its Probability of Failure on demand and hourly metrics.Major Changes
- Safety Integrity Levels (#160)
- Probability evaluation over a time period (#161)
- Report event probability and occurrence with importance factors (#162)
- The MEF Expression::Lognormal Deviate with 2 (mu, sigma) parameters (#163)
- โ The MEF Expression::Built-in::Periodic-Test w/ 4, 5, and 11 arguments (#69)
Minor Changes
- โ Remove the constraint on the maximum product size
- โ Remove '--input-files' flag and make it implicit as a default positional parameter
- ๐ง Rename the configuration file main element "config" to "scram"
- Random Deviate Expressions always use the mean value of their parameters
- Expression validation errors show XML file names and line numbers
Since v0.11.6
62 commits resulted in 78 files changed, 2544 insertions(+), 1446 deletions(-)
- Core : 35 files changed, 1522 insertions(+), 776 deletions(-)
- Scripts : 1 file changed, 3 insertions(+), 3 deletions(-)
- GUI : 1 file changed, 1 insertion(+), 6 deletions(-)
- โ Tests : 17 files changed, 586 insertions(+), 255 deletions(-)
- ๐ Documentation : 15 files changed, 116 insertions(+), 76 deletions(-)
-
v0.11.6 Changes
February 12, 2017๐ Release Notes
Analysis and post-analysis facilities work directly with a ZBDD-based product container
without paying memory or speed overhead of converting ZBDD into other data structures.Major Changes
- ZBDD as a fault tree analysis result (product/cut-set) container (#159)
- Qualitative analysis speedup from 10% to 5x (the more the products, the bigger the effect)
- Memory consumption decreases by 1.5 - 4x (noticeable only for million or more products)
- Iteration over products is ~2x slower (graph walk vs. sequential array of products)
- Quantitative analysis with approximations (rare-event, MCUB) is 2 - 10x slower
(the fewer the products, the worse the effect)
Minor Changes
๐ Bug Fixes
- Incorrect formula for Histogram distribution expected value (#149)
- Histogram distribution XML schema missing lower-boundary expression (#148)
Since v0.11.5
83 commits resulted in 109 files changed, 5258 insertions(+), 5303 deletions(-)
- Core : 52 files changed, 3869 insertions(+), 4030 deletions(-)
- Scripts : No Changes
- GUI : No Changes
- โ Tests : 23 files changed, 479 insertions(+), 490 deletions(-)
- ๐ Documentation : 20 files changed, 229 insertions(+), 183 deletions(-)
- ZBDD as a fault tree analysis result (product/cut-set) container (#159)
-
v0.11.5 Changes
December 12, 2016๐ Release Notes
๐ This release includes patches from the initial Debian packaging
๐ฆ at SCRAM's Alioth repository.
In addition, some changes have been inspired by
the Open-PSA community workshop and its new presence at GitHub.Minor Changes
- Optional link against JEMalloc
- ๐ฆ Debian Science package
- โ Parallelized fuzz testing
- ๐ Move the Open-PSA schemas to https://github.com/open-psa/schemas
- Move the
shorthand_to_xml.py
translator to https://github.com/open-psa/translators - ๐ Rename the shorthand format to the Aralia format
- ๐ Improved build-times after dependency analysis and refactoring with
cppdep - ๐ Python API documentation generation with Sphinx
๐ Bug Fixes
- CCF Alpha factor wrong formula (#146)
- ๐ฒ Misinterpretation of Log-Normal Deviate Error Factor and Level parameters (#147)
Since v0.11.4
55 commits resulted in 123 files changed, 3114 insertions(+), 5925 deletions(-)
- Core : 47 files changed, 1969 insertions(+), 1640 deletions(-)
- Scripts : 9 files changed, 284 insertions(+), 1203 deletions(-)
- GUI : 4 files changed, 112 insertions(+), 63 deletions(-)
- โ Tests : 15 files changed, 177 insertions(+), 195 deletions(-)
- ๐ Documentation : 25 files changed, 344 insertions(+), 279 deletions(-)
-
v0.11.4 Changes
September 15, 2016๐ Release Notes
๐ With this release, the codebase transitions to C++14,
requiring more modern compilers and tools.
โฌ๏ธ The target development platform is upgraded from Ubuntu 14.04 to Ubuntu 16.04.
โฌ๏ธ Boost and LibXML++ dependency versions are upgraded to reflect the new target platform.
๐จ The codebase is refactored, taking advantage of C++14 and upgraded libraries.Minor Changes
- Transition to C++14 (#142)
- GUI development setup with Qt5 and CMake (#48)
- Compilation with Intel C++ compiler
- ๐ Coding style update with the updated GCSG
๐ Bug Fixes
- ๐ป mef::Initializer is not exception safe (#144)
- Memory leaks with invalid cyclic MEF constructs (#145)
Since v0.11.3
120 commits resulted in 130 files changed, 3596 insertions(+), 3046 deletions(-)
- Core : 56 files changed, 2369 insertions(+), 2172 deletions(-)
- Scripts : No Changes
- GUI : 15 files changed, 484 insertions(+), 55 deletions(-)
- โ Tests : 29 files changed, 288 insertions(+), 476 deletions(-)
- ๐ Documentation : 12 files changed, 138 insertions(+), 63 deletions(-)