Releases: apalache-mc/apalache
Releases · apalache-mc/apalache
v0.15.4
0.15.4
Documentation
- RFC006 on unit testing: see #741
Features
- apalache quits with a non-zero exit code on counterexample or error, see #249
- type checker: supporting one-line comments in types, see #773
Bug fixes
- Parser: supporting annotations in multiline comments, see #718
- Parser: supporting TLA+ identifiers in annotations, see #768
- Parser: better parser for annotations, see #757
- Parser: fixed two bugs in the declaration sorter, see #645 and #758
- Printer: fixed the output for EXCEPT, see #746
- Printer: fixed pretty printing of annotations, see #633
- Printer: extending the standard modules, see #137
- The command
config --enable-stats=true
creates$HOME/.tlaplus
if needed, see #762 - IO: replaced calls to deprecated JsonReader/JsonWriter. out-parser.json is now compliant with the new format, see #778
Changes
- Builds: removed scoverage from maven, to improve build times
- Docs: updated ADR002 and HOWTO on type annotations to explain comments
- CLI: Users can set JVM args via the JVM_ARGS env var, see #790
v0.15.3
v0.15.2
v0.15.1
0.15.1
Features
v0.15.0
0.15.0
Features
- Model checker: receiving the types from with the type checker Snowcat, see #668 and #350
- Model checker and type checker: Snowcat is the only way to compute types now
- Type checker: the old Apalache type annotations are no longer supported, see #668
- Type checker: tagging all expressions with the reconstructed types, see #608
- Type checker: handling TLA+ labels like
lab("a", "b") :: e
, see #653 - Type checker: always treating
<<...>>
inUNCHANGED <<...>>
as a tuple, see #660 - Type checker: handling the general case of EXCEPT, see #617
- Preprocessing: handling the general case of EXCEPT, see #647
Changed
- Preprocessing: massive refactoring of the passes to support types. This may have introduced unexpected bugs.
- Model checker: translation rules for records and functions have been modified, in order to support new types. Bugs to
be expected. - Intermediate representation: renamed BmcOper to ApalacheOper. Its operators have the prefix
Apalache!
now.
Removed
- Unused rewriting rules and
FailPredT
in the model checker, see #665 - Intermediate representation: removed non-standard operators subsetProper, supset, supseteq, see #615
- Intermediate representation: removed TlaArithOper.{sum,prod}, as they are not standard, see #580
- Intermediate representation: removed TlaOper.chooseIdiom
v0.11.0
v0.10.1
v0.10.0
0.10.0
Features
- integration with Java-like annotations in comments, see #504
- support for
Assume(...)
in the type checker - new command-line option for
typecheck
:- enable inference of polymorphic types:
--infer-poly
- enable inference of polymorphic types:
- updates to ADR002 and the manual
- support for parallel assignments
<<x', y'>> = <<1, 2>>
, see #531 - always sorting declarations with topological sort (changes the order of the operator definitions), see #122
Bugfixes
- Boolean values are now supported in TLC config files, see #512
- Promoting Desugarer to run as the first preprocessing pass, see #531
- Proper error on invalid type annotations, the parser is strengthened with Scalacheck, see #332
- Fixed a parsing bug for strings that contain '-', see #539
- Typechecking quantifiers over tuples, see #482
v0.9.0
0.9.0
Features
- new sequential model checker that is using TransitionExecutor, see #467
- new command-line options, see #467 and the manual for details:
- choose the algorithm:
--algo=(offline|incremental)
- pre-check, whether a transition disabled, discard the disabled transitions:
--discard-disabled
- do not check for deadlocks:
--no-deadlock
- pass tuning parameters in CLI:
--tune-here
- choose the algorithm:
- parsing in-comment Java-like annotations, see #226
- tracking the source of variable/constant declarations and operator
definitions in the TLA+ Parser, see #262
Bug fixes
- the new sequential model checker has uncovered a bug that was not found
by the old model checker, see #467
Documentation
- ADR004: In-comment annotations for declarations (of constants, variables, operators)