SysIDE Pro 0.6.1

Released on June 30th, 2025.

This version’s documentation.

Modeler

:rocket: Features

  • (IDE) Introduce a beta version of Modeler native IDE experience that replaces SysIDE Editor. This experimental feature can be enabled by setting Enable the LSP server to true.

:bug: Bugfixes

  • (visualization) Fixed regression in visualizing nested ports

Automator

:rocket: Features

  • (validation) Diagnose invalid quantity operator expressions
  • (compiler) Add support for constructor expressions to syside.Compiler
  • (crash-handler) Switch to cpptrace to generate better traces on crashes
  • (parser) Improve error recovery by allowing some extra unexpected tokens

:bug: Bugfixes

  • (ide) Highlight variant features as enum members, variations - as enums
  • (ide) Fix highlighting of non-final reference segments
  • (core) Fix validation checking some unused nodes if a document was reparsed
  • (kerml) Disallow parsing of owned multiplicities in connector ends
  • (sema) Implicitly recursively resolve linked metaclasses if not importing by name
  • (sema) Diagnose invalid owned cross-features when there is no opposite end feature
  • (printer) Do not print implicit namespace children
  • (pipeline) Fix stage durations showing time since epoch if the stage was skipped
  • (model) Fix crash when resetting ConjugatedPortTyping target reference
  • (sema) Fix name resolution inconsistency around redefinitions due to redefinitions being recorded too late, allowing some names to be resolved when they should not have been
  • (sema) Fix spurious name resolution errors when specializing types through aliases
  • (pipeline) Fix documents not being deleted if they were also invalidated, change invalidation to highest wins instead of first
  • (grammar) Disallow new-line characters in strings and unrestricted names
  • (sema) Resolve elements and references in error subtrees
  • (model) Fix Namespace::member[ship]s to include inherited members if called on Type
  • (interpreter) Fix metadata annotatedElement to return metaclasses of the annotated elements, rather than the elements directly
  • (sema) Evaluate SemanticMetadata in the scope of the metadata usage to support expressions conditional on annotatedElement
  • (ide) Highlight metadata conditionally as a keyword or an operator rather than always the latter