@mtf90 mtf90 released this May 12, 2018 · 156 commits to develop since this release

Assets 2

This is a bugfix release, which should work as a drop-in replacement for previous 0.7.* versions.


  • Fixed an issue where initial states were not copied in copy-constructor of NFAs
  • Fixed an NPE when traversing partially defined NFAs
  • Fixed an issue, where input alphabets were unnecessarily wrapped in SimpleAlphabets in compact automata implementations
  • Fixed an out-of-bounds error in incremental automata builders
  • Fixed an error in Paige/Tarjan algorithm for partially defined automata
  • Fixed wrong computation of strongly connected components (see #21)
  • General consolidations (typos, wrong documentation, etc.)

New features

  • Added SymbolHidingAlphabet, which is required for a bugfix release of LearnLib

For a complete changelog, see git log automatalib-0.7.0..automatalib-0.7.1

@mtf90 mtf90 released this Feb 27, 2018 · 182 commits to develop since this release

Assets 2

Breaking changes

  • Refactored the Maven artifact and Java package structure. Have a look at the List of AutomataLib Artifacts for an updated overview of available artifacts. In general, no functionality should have been removed (except of code marked with @Deprecated). The easiest way to migrate your code to the new version is probably by using the Auto-Import feature of your IDE of choice.

    The non-trivial refactorings include:

    • API methods no longer use wildcards in generic return parameters. This allows your code to not having to deal with them.
    • The visualization facade has been generified. Any getGraphDOTHelper() related code has been renamed to the more general getVisualizationHelper() terminology. The Visualization class now works by providing either the automata-dot-visualizer or automata-jung-visualizer JAR at runtime. This allows for potentially more visualizers in the future.

New features

  • Added algorithms for computing adaptive distinguishing sequences for Mealy machines.
  • Added support for adding alphabet symbols after initial automaton construction.
  • Added support for Visibly Push-Down Automata (VPDA) in form of 1-SEVPAs.
  • Added (de-)serializers for the AUT format (see #14)
  • Added lazy (iterator based) methods for computing state- and transition covers, W-Method and Wp-Method tests.
  • Added a serializer for the SAF format


  • Replaced System.out logging, with calls to a SLF4j facade.
  • Code improvements due to employment of several static code-analysis plugins (findbugs, checkstyle, PMD, etc.) as well as setting up continuous integration at Travis CI.
  • Tests, tests, tests.
  • Bugfixes, bugfixes, bugfixes.