automatalib-0.10.0
mtf90
released this
11 Oct 16:36
·
316 commits
to develop
since this release
Added
- All de-serializers now can also parse GZIP'ed contents from either
InputStream
s,File
s,URL
s orbyte[]
s.
Changed
- We overhauled the handling of input and output streams for all (de-)serializers. Input and output streams are no longer closed automatically. This is to prevent asymmetric code where we would close a stream that we haven't opened. This is problematic in cases where e.g.
System.out
is passed as an output stream to simply print a serialized automaton and theSystem.out
stream would be closed afterwards. Since input and output streams are usually opened in client-code, they should be closed in client-code as well. We suggest to simply wrap calls to the serializers in a try-with-resource block. - Due to the DOT parsers rewrite (see Fixed), the attribute parsers now receive a
Map<String, String>
instead of aMap<String, Object>
. - The
State
class (used by theOneSEVPA
automaton) not longer supports the notion of a sink state. TheAbstractOneSEVPA
class now conforms with the default semantics of aDeterministicTransitionSystem
that undefined transitions simply returnnull
.
Removed
- Removed
IOUtil#copy
,IOUtil#skip
,NullOutputStream
. Use the Guava equivalents fromByteStreams
andCharStreams
.
Fixed
- Correctly enquote outputs containing whitespaces in
TAFWriter
(#37, thanks to @aschieweck) - Fixed a bug in the
Graph
representation ofAbstractOneSEVPA
s (#39, thanks to @DonatoClun) - Fixed wrong default values in the overloaded methods of the
Minimizer
class (#41). - Replaced the 3rd-party DOT parser with our own implementation to fix the issue that multi-edges between nodes were not properly handled.