Syside 0.10.3

Released on July 20th, 2026.

This version’s Python API documentation.

All Syside Tools

:rocket: Features

  • validation: Improve usage-variation-specialization error message when a variant is a variation
  • sema: Skip non-standard documents when looking up standard elements to cache
  • parser,formatter: Preserve leading whitespace on line notes on own lines
  • conf: Add format.package-closing-note option to control automatic package closing notes
  • parser: Clarify that an unexpected non-identifier word is a reserved keyword
  • interpreter: Support recursive user function evaluation
  • formatter: Treat notes on lines below opening bracket { as children for the purposes of empty bracket formatting
  • validation: Add related-feature-conformance lint

:bug: Bug Fixes

  • model: Implement checkFeatureFeatureMembershipTypeFeaturing
  • printer: Fix that ambiguous external synthetic references did not prefix $:: (Forum post: 512)
  • sema: Fix that semantic metadata used in filters could be resolved too late
  • viz: Fix that decl with short idenfitiers may not print a space to other parts
  • fs,osx: Fix that search in large directories would have missing entries
  • conf: Fix config parse error locations
  • conf: Fix config parse error formatted output
  • printer: Fix that SysML connectors without decl ends could skip the required keyword (Forum post: 505)
  • model,sema: Defer resolution of unnamed features to avoid wrongly resolving references to inherited features
  • sema: Resolve programmatically referenced elements eagerly to match source resolution behaviour (Forum post: 505)

:high_voltage: Performance

  • gc: Skip externally acquired mutexes to avoid blocking

Modeler and Editor

:rocket: Features

  • lsp: Insert specialization token between implicit names and references if there is none

:bug: Bug Fixes

  • lsp: Fix that document reverts by an external script could be ignored

:high_voltage: Performance

  • lsp: Debounce watched file analysis by 1 s to avoid apparent slowdowns when new files are being created continuously
  • lsp: Respond to initialize request as soon as the workspace has been populated instead of waiting for analysis to complete

Modeler

:rocket: Features

  • grid views: Add “Visualize view (labs)” → “As table” right-click menu option in editor
  • grid views: Add clickable error messages in SysMLv2 views panel
  • grid views: Improve matrix view performance
  • grid views: Add “Anonymous Element” label for anonymous elements in matrix column/row headers
  • grid views: Make SysideViews.sysml version check more robust

:bug: Bug Fixes

  • visualization: Reload visualization webviews after restarting the Syside Modeler Server, instead of leaving them pointing at the old server port
  • grid views: Fix table views incorrectly keeping saving blocked after a model reload
  • grid views: Fix a language server deadlock affecting table views
  • grid views: Fix table views hanging on “Collecting elements” when loading large models
  • Fix missing include paths in syside.toml or settings blocking view loading
  • Fix a race condition when installing Syside tools
  • Fix a crash when an include or exclude glob pattern contained Unicode characters
  • File access errors now report where the offending path came from (for example, a syside.toml include)

Modeler CLI

:rocket: Features

  • cli: Print a short success/failure message in check (Forum post: 516)
  • cli: Remove non-project documents from check --stats output if they were not validated at all
  • viz: Render inherited elements (nodes, edges, boundary elements)
  • viz: Render nested interface/connection/flow nodes with elaboration lines
  • viz: Reverse direction on inherited conjugated boundary elements
  • viz: Show about statements in annotation declarations
  • viz: Use edge direction to inform port and connection point placement side
  • viz: Add syside.toml options to toggle inherited element rendering ([viz.filters.<VIEW>].show_inherited_nodes), configure attribute rendering style ([viz.filters.<VIEW>].show_attributes_as), limit displayed compartment items ([viz.compartments].max_entries), and hide inherited compartment items ([viz.compartments].show_inherited_rows)
  • viz: Changed default: port specialization edges are now hidden; re-enable with [viz.filters.<VIEW>].show_port_heritage_edges

:bug: Bug Fixes

  • viz: Improve layout stability
  • viz: Fix CLI argument space and special character handling on Windows
  • viz: Render self-messages (sequence view)
  • viz: Fix incorrect rendering of n-ary edges with more than 2 participants
  • viz: Render stakeholders/actors/subject as child nodes (tree mode)
  • viz: Render boundary elements as nodes (tree mode)
  • viz: Fix bug that caused annotations and metadata to not render
  • viz: Fix issues where elements would be rendered on top of each other (sequence view)

Automator

:rocket: Features

  • Extend debug visualizers to Path and QualifiedName, show sequences lens
  • Add Lint.related_feature_conformance
  • cli: Add syside solver pass-through and [solver] extra

:bug: Bug Fixes

  • Fix TypeError when using redirect_stdout(StringIO()) with cli.main

:high_voltage: Performance

  • gc: Disable GC on Python exit