Dezyne 2.11.0 Release

Dezyne 2.11: The first standalone release with the Dezyne-IDE, that includes simulation and visualization similar to 2.9.

Dezyne-IDE introduces an LSP server ‘ide lsp’ with basic code completion and goto-definition support.

Dezyne is developed on GNU/Linux, and has been demonstrated to work on the Windows Subsystem for Linux.


Changes in 2.11.0 from 2.9.1

  • The integrated Eclipse download has been discontinued.
  • Dezyne is now stand alone, client only, serverless, pure GNU Guile Scheme.
  • Dezyne-IDE has browser-based views and integrates with any LSP-aware editor.
    • Support for GNU Emacs.
    • Support for Electron-based editors, such as VSCodium.
    • A new command `ide lsp’ provides a stdio-based Language Protocol Server for the Dezyne language.
    • The Dezyne-IDE, view-commands are now subcommands ide': ide parse’, ‘ide simulate’, ide verify', ide browse’, ide daemon , ide hello', and ide bye’.
  • Views
    • The Trace view now places the buttons with the port’s time line.
    • The State view was removed. The state view in 2.9 (and earlier) was often incomplete or incorrect. A complete and correct State view will return.
    • The Table views were removed.
    • The watch window has been integrated in the sequence diagram.
    • The watch window itself is now deprecated.
    • Diagram click is optionally (ide lsp --relay-daemon) mapped to an LSP publishDiagnostics message, this will likely change in the near future.

Dezyne core

Changes in 2.11.0 from 2.10.1

  • Commands
    • A new command `dzn language’ supports DZN-language completion and lookups.
    • The commands dzn cat and dzn ls’ have been removed.
  • Parser
    • A well-formedness check was added for trigger, action, and function-call arguments.

Changes in 2.10.1 from 2.10.0

  • Usability
    • The dzn command now exits gracefully when given an unknown command.
    • The dzn-mode for GNU Emacs is now a major mode called “Dezyne”.
  • Parser
    • Parse errors in imported dzn-files now show the import inclusion path.
    • Using newlines between dollar'-expressions and toplevel dollar’-statements is now an error.
  • Code generation
    • Performance has been improved.
    • The C++ code generator is now prepared for C++20: The dzn::port::meta fields are renamed to “provide” and “require”.
    • The Scheme code generator uses the “namespace to module” feature. This code generator is experimental, and not available in the regular binary release.
    • The JavaScript code generator uses the “namespace to module” feature. This code generator is experimental, and not available in the regular binary release.
  • Documentation
    • The infocenter has been converted to texinfo and is now included in the release.
  • Noteworthy bug fixes
    • Fixed a regression of using two different types of async interface in one behaviour.