Skip to content

Releases: informalsystems/apalache

v0.15.6

17 May 11:16
Compare
Choose a tag to compare

0.15.6

Features

  • Checker: support for action invariants, see #801
  • Checker: support for trace invariants, see #819

Improvements

  • Add type information to overriding error, see #823

v0.15.5

10 May 14:59
Compare
Choose a tag to compare

0.15.5

Changes

  • Docker: Use openjdk-16 for the runtime in the app image, see #807
  • Documentation: Introduce TypeAlises operator convention, see #808
  • tlair: TlaExLevelFinder and TlaDeclLevelFinder to compute TLA+ levels, see #811

Bug fixes

  • Printer: replacing '$' and '!' with supported characters, see #574
  • Printer: normalizing module names and writing TLA+ & JSON in all passes, see #785

v0.15.4

03 May 17:18
Compare
Choose a tag to compare

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

19 Apr 15:14
Compare
Choose a tag to compare

0.15.3

Features

  • Checker: Support for CASE without OTHER, see #285

Bug fixes

  • Type checker: Showing an error on missing annotations CONSTANTs or VARIABLEs, see #705
  • Model checker: Fix an exception on Cardinality(a..b) > i, see #748

Changed

  • IR: simplified SimpleFormalParam and OperFormalParam into OperParam, see #656
  • IR: made consistent the names of IR operators (may break JSON compatibility), see #634

v0.15.2

12 Apr 10:32
Compare
Choose a tag to compare

0.15.2

Features

  • Manual: added manual page on known issues
  • IR: added Apalache!Gen to generate bounded data structures, see #622
  • Checker: added support for Apalache!Gen, see #622
  • Tool: added a new command test to quickly evaluate an action in isolation, see #622

v0.15.1

05 Apr 00:44
Compare
Choose a tag to compare

0.15.1

Features

  • Manual: added a tutorial on the type checker Snowcat, see #689
  • Language manual: add types for the standard operators, see #547
  • Type checker: add support for type aliases,
    e.g., @typeAlias FOO = [a: Int, b: Int], see #704
  • Manual: updated the HOWTO on type annotations with type aliases

v0.15.0

29 Mar 18:04
Compare
Choose a tag to compare

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 <<...>> in UNCHANGED <<...>> 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

01 Mar 16:05
Compare
Choose a tag to compare

0.11.0

Features

  • Type checker: supporting TLC operators, see #601

Bug fixes

  • Parser: propagating type annotations in INSTANCES, see #592 and #596

Removed

  • Type checker: removed Typing.tla, AssumeType, and ##, see #518

v0.10.1

22 Feb 11:24
Compare
Choose a tag to compare

0.10.1

Features

  • Support for FunAsSeq conversion in the type checker, see #223
  • The parser outputs annotations, see #502

Documentation

  • HOWTO on writing type annotations, see #571

Bug fixes

  • Fixed name collisions on LOCAL operators and LOCAL INSTANCE, see #576
  • Parser: a higher-order operator calling a higher-order operator, see #575
  • Type checker: support for recursive functions of multiple arguments, see #582
  • Type checker: support for tuple unpacking in recursive functions, see #583

v0.10.0

08 Feb 13:45
Compare
Choose a tag to compare

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
  • 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