Syside 0.8.0

Released on October 2nd, 2025.

This version’s Python API documentation.

Editor

This is the initial release of Syside Editor - the new replacement for the now deprecated Syside Editor Legacy. Read our announcement about the change.

Main points:

  • New Syside Editor is built on top of the same SysML v2 engine as Syside Modeler and Syside Automator
  • Support for the latest and official SysML v2 specification (2025-07)
  • Significant (>30x) performance improvement

Modeler

:rocket: Features

  • (IDE) Breaking Update to 2025-07 SysMLv2 release
  • (IDE) Add Document Symbols (Outline) view
  • (IDE:formatter) Change the default line width of the formatter to 100 characters

:bug: Bugfixes

  • (IDE:semantics) Fix crash when evaluating unlinked FeatureReferenceExpressions
  • (IDE:completion) In autocompletion, use the variable instead of the property kind for owned features with direction
  • (IDE) Fix crash when some directories are not readable on Windows
  • (IDE) Fix crash when handling non-UTF-8 positions in invalid source text
  • (IDE) On Windows, always normalize filesystem paths to uppercase drive letters
  • (IDE) Fix deadlock when editing a large file
  • (IDE) Do not report diagnostics for temporary IDE files
  • (IDE) Delete related diagnostics when a document is deleted

Licensing

  • (core) Breaking Update to syside-license version 0.3.2, which unifies the user experience among the Syside tools

Automator

:rocket: Features

  • Breaking Update to 2025-07 specification
  • (sema) Breaking Remove implicit subjects and objectives
  • (printer) Increase default line width to 100
  • (stdlib) Cache standard library operator functions for sema
  • (interpreter) Support ConstructorExpressions
  • (model) Add partial path implementation without anonymous indices
  • (model) Extend stable element ID generation to non-standard models
  • (serde) Defer all unresolved unowned references to pending references (Reported in this forum post)
  • (python) Add IdMap.search method to search for element ID without URIs (Reported in this forum post)
  • (serde) Do not error out on unresolved unowned references without relative URIs (Reported in this forum post)
  • (crash-handler) Move crash handling to a dedicated background thread, unify crash reporting
  • (crash-handler) Generate crash reports in a unified way on a background thread
  • (crash-handler) Add relevant hardware info to crash logs

:bug: Bugfixes

  • (sema) Breaking Remove feature_target from Feature naming_features to match the spec
  • (sema) Fix crash when evaluating unlinked FeatureReferenceExpressions
  • (model) Fix SendActionUsage argument attributes to search in the body as well to match the specification
  • (python) Add missing environment argument to model loading functions
  • (python) Add missing specification attributes
  • (lsp, windows) Fix crash when Windows decides to fail reading some specific directories
  • (crash-handler) Fix terminate exceptions producing no trace in some cases
  • (textdocument) Fix crash when marshalling non-UTF-8 positions on an invalid source text
  • (windows) Always normalize filesystem paths to uppercase drive letters
  • (sema) Fix ConstructorExpression result inference to always use its instantiated_type for better diagnostics

:tractor: Refactor

  • (model) Breaking Remove Metadata from operators since MetadataAccessExpression is not an OperatorExpression

:books: Documentation

  • (python) Include links to specification for standard KerML and SysML symbols
  • (model) Quote specification

License Checker

syside-license was updated to v0.3.2. The changelog below details changes between v0.2.1 (previous public syside-license release) and v0.3.2.

Read about the changes on the Syside docs.

:rocket: Features

  • Implemented proper support for subscription licenses
    • syside-license tool is not needed anymore except in air-gapped environments
    • Automator will automatically use the license key from SYSIDE_LICENSE_KEY environment variable or .env file`
  • Merged Modeler and Automator license files
    • Air-gapped deployments now need only one license file instead of two
    • Customers using air-gapped licenses should receive new license files from Sensmetry support team; in case you have not received the new license file, please let us know via syside.support@sensmetry.com.