Released on May 10th, 2026.
This version’s Python API documentation.
This release brings substantial new capabilities to both Syside Modeler and Syside Automator, a range of quality-of-life improvements driven directly by feedback from enterprise users, and a considerable number of bug fixes reported by our community.
The main topic of the update was requirements engineering, featuring new functionality such as editable Table and Matrix views (with CSV export), ReqIF import and export, requirement evaluation.
This release also updates the SysMLv2 standard library to the 2026-03 version, contains a number of breaking changes that we have to make before the release of Syside v1.0, and implements support for user-wide syside.toml and non-version-controlled syside.user.toml configurations, and more.

Modeler
Features
- Add Grid views: Visualise and edit your models through Tables and Matrices. Feature documentation
- Implement namespace filtering with “inline filters”. Feature documentation
- Add a “SysMLv2 Views” pane listing all views found in your model. Feature documentation
- Implement inlay hints. Feature documentation
Bug Fixes
- Visualization CSS CORS causing Syside Cloud TS broken on Firefox
- Fix conjugated ports not flipping their directionality arrows in Tom Sawyer visualisation.
- Remove the non-functioning “Print and Export” button from Tom Sawyer visualisation. (the diagrams can still be saved using “Save as Image” button). (Forum post: 422)
Modeler CLI
Features
- Export CSV of Grid Views defined in your model
- Print program name in version text
- Add
LICENSEto CLI binary archives - Add an option to specify Sysand environment directory
Automator
Features
- (breaking) Reimplement CLI using native parser and subcommands
- (breaking) Add
confsubmodule and moveFormatOptionsthere, add remaining config types - (breaking) Refactor
FormatOptionsto match config structure - (breaking) Extend interpreter scalar values with
complex - (breaking) Extend interpreter scalar values with
fractions.Fraction
- Implement ReqIF import and export. Feature documentation
- Enable explicit filter evaluation on generators that may include imported members
- Add
LazyImportIteratorthat enables explicit filter condition evaluation on imported members - Add optional
filtertoSerializationOptionsthat allows evaluating filter expressions on serialization - Add optional
threadsargument toget_default_executor - Redirect CLI outputs to
sys.stdoutandsys.stderr - Add
conf.load_configfor loadingConfigfrom file - Bundle
syside.schema.jsoninsyside/schemaspackage directory - Add
Stdlib.thatandStdlib.thisfor standardthatandthisfeatures - Bind accessors to internal
Graphstructure - Constrain
Valuetolist[Scalar]to match SysML and internal evaluation - Add bindings for inlay hint config
- Add
fail_actionargument toSerializationOptions.with_options - Add
externalargument tocli.mainto include additional subcommands that do their own argument parsing
Bug Fixes
- (breaking) Make
[Base]Modelclassesfrozento fix potential incompatibility betweenresultfields
- Add missing
ForLoopActionUsage.seq_memberfor manipulatingseq - Fix
json.dumpsraising errors even if errors were ignored
Modeler & Editor
Features
- Evaluate filter expression when computing suggestions with a small number of steps to ensure fast response times
- Render
aliasdocumentation on hover in addition to its target documentation - Apply normalization to all incoming URLs, do not escape Windows drive colon
- Change declaration to return its own location instead of none when requesting definition
Bug Fixes
- Exit gracefully with an error message if the provided
--logpath is inaccessible or is a directory - Add
sysidesourceto all internal diagnostics - Return response errors if receiving notifications or requests before the server has completed initialization
All Syside Tools
Features
- validation: (breaking) Promote
namespace-distinguishabilityto an error - validation: (breaking) Promote
usage-feature-typingto error - sema: (breaking) Integrate filter import evaluation into name resolution
- (breaking) Evaluate import filters during analysis
- printer: (breaking) Insert trailing notes with package declarations if a trailing note already exists or the body spans multiple lines
- printer: (breaking) Switch to format options used in config
- interpreter: (breaking) Allow optional
BoundMetaclass::metaclassto remove reflection dependency on the standard library cache - interpreter: (breaking) Add
complexscalar type support - interpreter: (breaking) Add
rationalscalar type support
- stdlib: Update to 2026-03 version
- interpreter: Implement requirement evaluation as
assumptions implies requirements(Forum post: 429) Feature example - conf: Inherit user-wide
syside.tomland non-version controlled projectsyside.user.toml - model,sema: Do not attempt to evaluate any functions inside filter expressions to avoid long execution times
- grammar,printer: Allow
const endfeatures in KerML - grammar: Align CST field names with model names using
snake_case - parser: Rename
parsing-errortosyntax-errorfor better clarity - validation: Remove
part-usage-part-definitionto match the spec and the metamodel - sema: Do not attempt to evaluate any functions because they are technically not model-level evaluable
- validation: Check inherited features for
attribute-*-featuresdiagnostics - crash-handler: Use timestamp instead of hash for local names, upload all similar crashes
- printer: Throw an error with custom message on formatting prefix metadata without explicit feature typings
- type-checker: Add support for standard
thisinference (Forum post: 449) - interpreter: Extend evaluation to constraint and calc usages as invocations without arguments, look for inherited result
- sema: Diagnose potential
filtercycles - conf: Extend config with options for LSP inlay hints
- conf: Merge
excludeoption from inherited configs - validation: Clarify that
*-expression-*-redefinitionare diagnosed on unexpected arguments - stdlib: Fix
gcdtyping, addgcdspecialization for integers
Bug Fixes
- sema: (breaking) Mark all non-operator functions as not model-level evaluable to match the spec
- model: Fix that filter imports were not included in imported members
- model: Fix that transitive imports were not included in imported members
- printer: Print specialization and type relationship references on the same line if an indent would not reduce their starting columns
- sema: Add implicit
(sub)objectsubsettings to qualifiying ports and occurrences - validation: Rename
item-flow*andflow-connection*toflow*,flow-item*toflow-payload* - sema: Fix that some directed features received implicit specializations from feature values, leave a few useful exceptions
- validation: Fix that binding to undirected features was accepted in invocation expressions, constructor expressions only accepted input features
- serde: Fix that unnamed root elements would generate their parent element id
- grammar: Fix that metadata prefixes were not allowed on feature subtypes in KerML
- validation: Fix that
metadata-feature-annotated-elementdid not account for multiple inheritance in subclassification - interpreter: Fix that reflective metadata subclassification did not take multiple inheritance into account
- validation: Fix more false negatives in
metadata-feature-annotated-element - printer: Fix that global
$::reference prefixes would be dropped - validation: Fix that assigning underlying enum types were not diagnosed on features typed by enum definitions (Forum post: 463)
- grammar: Fix that
\was sometimes not parsed as an escape in string literals