Skip to content

The Zenobius release

Choose a tag to compare
@lemmy lemmy released this 11 Jul 22:44
· 1384 commits to master since this release


The high level changelog is available at The 1.6.0 milestone lists all completed issues.

Additional noteworthy changes

TLC Profiler


Performance & Scalability
  • Multi-Threaded Simulation Mode 8355920 Contributor: will62794
  • More efficiently generate the set of subsets for the TLA+ expression (SUBSET S) 4a62e5b
  • Reduce worker contention by separating the trace file into N partial trace files where N is the number of workers 548ce71
  • Speed-up TLC shutdown by calculating 'actual fingerprint collision probability' only if 'calculated probability' exceeds 1E-10 f12b10e
  • Increase TLC throughput by ~10% by refactoring hot code-paths e6c8f6c 1bc2ab1
  • Show active fingerprint set and state queue implementation in startup banner e974533 ea3feb5
  • ByteArrayQueue prototype to increases throughput by reducing the critical section of the queue of unseen states 01b0e98
    • Activate with -Dtlc2.tool.ModelChecker.BAQueue=true Java system property
  • Switch to Azure service principal authentication
    • Automatically handle Azure resource deletion as part of instance termination 5be0e77
  • Gracefully terminate cloud resources when a CloudTLC run is terminated prematurely d593d0e
  • Power-off instead of terminate CloudTLC instances tagged power_off to speed-up subsequent restart 22a7385
  • Adds support for's t1.small.x86 budget baremetal instances 71a2530


Model Editor
  • Better visualize coverage by coloring the editor 881f2e6
  • Usability improvements to the model editor including:
    • What was previously the "Advanced Options" page has been split into two pages with the Advanced TLC Options occupying its own page now.
      • Neither of these pages are visible by default, and are accessed by hyperlink on the main model page; their open-or-closed state are saved with the model so that subsequent model openings will restore the view to the configuration last seen by the user.
    • The selection of the behavior spec is now performed via pulldown, as seen in this accompanying screencast..
    • The "How to run?" section of the main page has been simplified, as can be seen in the same screencast as above. Checkpoint related TLC options have been moved to the Advanced TLC Options page. A given worker, memory, and disk storage file count configuration can be saved as the default configuration to be used with new models.
    • Init and Next fields of the "What is the Behavior Spec" accept multi-line expressions
    • The "How to run" and the "What to check?" sections on the main page have been given full width of the page.
    • Similarly, the "State Constraint" section on the "Advance Options" page have been given full width.
    • The tables in the "Statistics" section of the "Model Checking Results" page now expand to fill the width of the page, and resize their columns to consume the available width when those tables resize.
    • The "General" section of the "Model Checking Results" page has been condensed to two lines. The top line, always visible, will show:
      • an "Awaiting..." text for an un-executed model.
      • once running, or ran, a Start time, an End time, a status, and potentially a last checkpoint time, and a mode denotation for Depth-first or Simulation runs.
    • ... and the second line will be visible should their be errors in execution, information about fingerprint collision, and/or zero counts on coverage.
    • The Evaluate Constant Expression section in the Results page can be moved to its own tab in the model editor via a preference checkbox in TLA+ Preferences → TLC Model Checker.
    • The Evaluate Constant Expression now features a toggle button to more easily jump in and out of Evaluate Constant model check mode (No behavior spec selected.)
TLA+ editor
Spec Explorer
Trace Explorer
  • TETrace operator to support self-referential error trace expression
  • Supporting naming to compose trace expressions a34ef2c (Screencast)
  • Map SANY errors back to Toolbox expression locations 9ae65ab (Screenshot)
  • Add syntax highlighting and redo/undo in input boxes
  • Allow customizable fonts for the Toolbox's Error Trace viewer
  • Add header button to error trace to toggle tree expansion between collapse and expand all. Shift+Click returns to default two-level expansion 8640936 (Screencast)
  • The edit button is enabled if the table contains one formula, regardless of whether that formula is selected; formulas are able to be drag reordered; changes (addition, editing, removal, and reordering) are now saved automatically. (All covered by Issue #9)
  • There is a button in the Error-Trace section header which allows the 'linking' of the trace viewer with the spec editor; in the same way that one could previously double-click on a trace location to reveal the section of the specification in the spec editor, while the editor is linked this action can be done by a single click, as well as by navigating with the keyboard arrow keys. (Issue #289)

A note to macOS users

Startup on macOS version 10.14 (Mojave) will fail with "TLA+ Toolbox can't be opened because Apple cannot check it for malicious software.". Please make sure to follow the instructions outlined in GitHub issue #320 to address this problem.


sha1sum file
aa4876bb4ae1275eb157fe67322fa69fd7452b7a tla2tools.jar
d54307de60caf42e586b06d84994ec9cfcee0675 (most of you don't want this)