Dezyne 2.14 Release

This release introduces implicit interface illegals: Specifying illegal in an interface is now optional, similar to components.

Dezyne now also has implicit temporary variables: a single valued action or call can now be used in if and reply expressions.

Simplified (filtered) state diagrams can now be generated by using the new --hide and --remove options on ide state .

In the state view, selecting a node highlights all directly reachable nodes, improving the navigation of large models. Pressing . highlights the initial state.

In the trace view, the beginning of a livelock error is now marked with <loop> .

Changes in 2.14.0 since 2.13.3

  • Views
    • In the trace view, the beginning of a livelock error is now marked with “” (#44).
    • In the state view, selecting a node highlights all directly reachable nodes, improving the navigation of large models. Pressing . highlights the initial state.
    • Pressing F1 in the views shows a brief help popup with the mapping of keys and buttons.
  • Commands
    • The ide state command now supports hiding of unwanted detail. The new options -R,--remove=... and -H,--hide=... can be used to filter-out port state or extended state from the nodes, action transition labels or even all transition labels (#29).
  • Noteworthy bug fixes
    • A failure to stop the daemon using ide bye is now handled gracefully.

Dezyne-IDE

Changes in 2.13.3 since 2.13.2

  • Views
    • In the trace view, the order of lifelines of the ports can be changed by dragging them to a new place.
    • For verification errors that have multiple error messages or extra informational messages, such as compliance errors or range errors, in the trace view each message can be clicked to show the relevant location in the Dezyne code.
  • Noteworthy bug fixes
    • The ide lsp command has been greatly improved (#38,#41,#51,#52):
      • Redundant parsing has been eliminated: The callbacks for reading a file and for parsing are now called only once per file; greatly improving performance on larger projects,
      • The lsp server can no longer be flooded with “didChange” messages, leading to a denial of service: superseeded “didChange” messages are now dropped; also cancel-requests are honored,
      • Error messages no longer contain the skipped text; this makes the root cause of the error easier to spot,
      • An import statement refering to a non-existing file is now reported as a syntax error,
      • A syntax check is now also performed when a file is opened, any errors are reported,
      • When a file is opened using the “textDocument/didOpen” command, the text from the message is used instead of accessing the file system,
      • The “textDocument/didOpen” command now also works even if the file is not present on the file system,
      • Two problems with unbounded recursion and several crashes have been fixed.
      • The goto definition function now also considers the identifier to the left of the cursor if the cursor is on punctuation, catering for users that use a caret instead of a cursor in their editor.
    • A second ide simulate session for another model from the same file now corretly simulates and presents the newly selected model,
    • The System view now automatically updates after running a new ide system command (#56).
    • A bug has been fixed in the System view that could cause stack-overflow in JavaScript.