All Versions
10
Latest Version
Avg Release Cycle
54 days
Latest Release
1377 days ago

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++ with libxml2 (#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 of iostream (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

    • 🏁 Package for Windows (#157)
    • 🍎 Package for macOS (#158)
    • 👍 HTTPS support for the website

    🐛 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(-)
  • 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(-)