Released on March 1st, 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.
Read the announcement blogpost.
Modeler
Features
- Tom Sawyer SysML v2 Viewer updated to v1.3
- Added support for sequence diagrams
- Added support for use case diagrams
- Added edge crossing visualisation
- Diagrams are now rendered in color
- SysML v2
views support — Generate diagrams scoped to specific views, including models split across multiple.sysmlfiles. Documentation - Visualise selected namespaces — Times of revisualising the whole file even if you care about one specific element in it are behind. Documentation
- Visualise in multiple tabs — Added support for visualising
views andelements from a single.sysmlfile in separate tabs - Generated diagrams through Modeler CLI - The CLI has been expanded to provide
viewandelementdiagram generation in CI/CD or other headless environments. Documentation - Python no longer required — The Python runtime is now bundled directly into Modeler, simplifying installation
- Add
ruleandrule listsubcommands to the CLI for exporting validation rules available in Syside - Common updates with Syside Editor, see section below.
Known issues
- After revisualising the same file, view, or element, the visualisation is not automatically refreshed.
- Workaround: Click anywhere on the visualisation window.
- Tom Sawyer SysML v2 Viewer hangs indefinitely when visualising models with
variant partin them. - A
Export and Printbutton appears on Tom Sawyer SysML v2 Viewer top tool panel that does not do anything.- Workaround: For saving the diagram as image, use the
Save as Imagebutton as before.
- Workaround: For saving the diagram as image, use the
Modeler & Editor
Features
- lsp: Add diagnostic invalidation to automatically clear global namespace distinguishability diagnostics
- lsp: Add links to diagnostic rule codes
- Add Syside icons to
.kermland.sysmlfiles to make them easier to distinguish among other files
Bug Fixes
- lsp: Increase open/close debounce timer to catch document moves more consistently
- lsp: Fix that
excludepatterns were not applied toincludepaths - lsp: Automatically remove
excludedproject tier documents from the workspace on close, and ignore their creation events - lsp: Fix that some diagnostics could be ignored during initialize phase
Performance
- lsp: Decouple edited document analysis from dependent documents
- lsp: Switch to a single worker thread for handling LSP methods to reduce latency
Automator
Features
- python: Add
Compiler.evaluate_filterto evaluate filter expressions on the target metadata. Example - python: Allow evaluation of user-defined calculations. Example
- python: Expand support for evaluable SysMLv2 functions
- python: Add standard enums used by reflection to
Stdlib - python: Add
Sema.resolveoverload that accepts a sequence of locked documents - python: Add
attach_commentsoption to include comments (notes) when loading model - python: Add
precompute_element_idsto bulk generate element IDs more efficiently
Bug Fixes
- python: Fix
incompatible function argumentserror onSema.resolve(Forum post: 301) - python: Fix
Expose.STDto includeNamespaceExpose
Docs Tasks
- python: Update
Compilerdocs regarding reflection and user-function evaluation - python: Add at least basic documentation to most previously undocumented symbols
All Syside Tools
Features
- interpreter: Evaluate
InvocationExpressionsto standard operator functions as operator expressions - interpreter: Enable basic evaluation of
InvocationExpressionsthat invoke user-defined callables with supported result/return expressions - interpreter: Implement metamodel reflection
- interepreter: Simplify builtin standard library function lookup and include all overloads
- config: Add
linttable, withstandard-library-packageconfiguration - interpreter: Redirect
array#invocations to index operator - interpreter: Implement complex (floating point only),
allTrue,anyTrue,product1, andsum0library functions - interpreter: Implement various remaining scalar functions including trig functions
- interpreter: Implement missing
SequenceFunctions - interpreter: Reduce
UnitBoundedRealconstructor to input argument value after error checking - interpreter: Support optional arguments to builtin functions
- interpreter: Add support for named arguments to builtin functions
- interpreter: Implement missing scalar and sequence functions from the
Kernel Function Library - interpreter: Add builtin
piconstant - model: Implement
pathresolution for elements withoutqualified_names - validation: Add
lint.multiplicity-range-bound-result-typesoption to check bounds againstNatural(non-standard)
Bug Fixes
- interpreter: Use
instantiated_typeto find theInvocationExpressionfunction - model,sema: Implicitly specialize feature value feature results through
Specializationto not interfere with some validations, make an exception for implicitSpecializationsinFeature::types - interpreter: Fix that equality did not check for equality across compatible types, e.g. int and double
- interpreter: Fix handling of
seq2sequences inincludesandexcludesbuiltin functions - interpreter: Preserve infinities in range operators instead of replacing with max i64 value
- interpreter: Handle allocation errors gracefully on concatenation of infinite or extremely large ranges
- interpreter: Fix type errors on using integers in builtin functions that expect floating point values
- interpreter: Print positional argument 1-based index if the type does not match what the builtin function expects
- model: Fix that recursive
exposedid not recurse past direct members - model: Fix that lazy attributes could return the next element when using
.at - model: Fix that erased elements retained their attributes
- printer: Fix that references to erased elements would be printed, throw an error instead
- printer: Fix that
actor,subject,stakeholder, andobjectiveinserted a space betweek keyword and; - validation: Fix that feature chains would incorrectly trigger
trigger-invocation-expression-at-argument - validation: Fix
metadata-feature-annotated-elementnever trigerring - model: Fix
view_renderingto return referenced rendering if one exists instead of always returning the owned rendering - sema: Fix that importing inherited members would fail with
reference-error
Performance
- serde: Precompute element IDs to avoid trigerring costly lazy generation