Version History
This page contains notable changes that affect the API with more details than provided by the changelogs.
v0.8.1
Added missing
environmentarguments topreview.open_modelandpreview.open_model_unlocked. This allows existing models to be used as dependencies.
v0.8.0
Version v0.8.0 updates SysML support including changes from:
Most notable changes:
Removed implicit
SubjectMembershipsandObjectiveMembershipsfromrequirementsandcases.Feature.is_constantreplacesFeature.is_read_only.Added
Feature.is_variable.Added
ConstructorExpressionswhich replaceInvocationExpressionsthat invoke non-Step, non-Behaviortypes. While the syntax is similar with former needing anewkeyword prefix, parse trees are different:attribute x = Type(2);
Namespace [0, 0] - [1, 0] children: OwningMembership [0, 0] - [0, 22] target: AttributeUsage [0, 0] - [0, 22] attribute [0, 0] - [0, 9] declared_name: NAME [0, 10] - [0, 11] value: FeatureValue [0, 12] - [0, 21] = [0, 12] - [0, 13] target: InvocationExpression [0, 14] - [0, 21] children: Membership [0, 14] - [0, 18] target: TypeReference [0, 14] - [0, 18] parts: NAME [0, 14] - [0, 18] ( [0, 18] - [0, 19] children: ParameterMembership [0, 19] - [0, 20] target: Feature [0, 19] - [0, 20] value: FeatureValue [0, 19] - [0, 20] target: LiteralInteger [0, 19] - [0, 20] literal: DECIMAL_VALUE [0, 19] - [0, 20] ) [0, 20] - [0, 21] ; [0, 21] - [0, 22]attribute x = new Type(2);
Namespace [0, 0] - [1, 0] children: OwningMembership [0, 0] - [0, 26] target: AttributeUsage [0, 0] - [0, 26] attribute [0, 0] - [0, 9] declaredName: NAME [0, 10] - [0, 11] value: FeatureValue [0, 12] - [0, 25] = [0, 12] - [0, 13] target: ConstructorExpression [0, 14] - [0, 25] new [0, 14] - [0, 17] children: Membership [0, 18] - [0, 22] target: TypeReference [0, 18] - [0, 22] parts: NAME [0, 18] - [0, 22] children: ReturnParameterMembership [0, 22] - [0, 25] target: Feature [0, 22] - [0, 25] ( [0, 22] - [0, 23] children: ParameterMembership [0, 23] - [0, 24] target: Feature [0, 23] - [0, 24] value: FeatureValue [0, 23] - [0, 24] target: LiteralInteger [0, 23] - [0, 24] literal: DECIMAL_VALUE [0, 23] - [0, 24] ) [0, 24] - [0, 25] ; [0, 25] - [0, 26]Note that the type constructed by
ConstructorExpressionis now amemberinNamespace.children, and arguments are parsed into areturnFeature.Renamed some classes, and related
snaked_casedattribute names:ItemFeaturerenamed toPayloadFeature,item_featuretopayload_feature.ItemFlowrenamed toFlow,item_flowtoflow.FlowConnectionUsageandFlowConnectionDefinitionrenamed toFlowUsageandFlowDefinitionrespectively,flow_connectiontoflow.
Removed
FeaturingandLifeClasstypes - these were not representable in textual syntax anyway, butFeatureMembershipandTypeFeaturinglost inherited members fromFeaturing.MetadataAccessExpression.set_referenced_elementwas fixed in the specification to be referenced throughMembership, available throughMetadataAccessExpression.referenced_element.Added
Element.path, and extended deterministic element ID generation to user models. However, also note:Element.pathdoes not yet work for elements withoutqualified_namedue to performance concerns. This should be fixed in a future release.User element ID generation may be changed in a future version if we can improve performance.
Added previously missed standard attributes:
Element.alias_ids(currently a view into an empty container only)
Other non-model changes include:
Increased default
PrinterConfig.line_widthto 100 from 80 to matchrustfmtand produce fewer line breaks, this works better with modern monitors.Improved deserialization to defer unresolved references without
@uriinstead of emitting an error. Unresolved owned elements still emit errors.