Skip to content

Latest commit

 

History

History
296 lines (252 loc) · 25.6 KB

CHANGELOG.adoc

File metadata and controls

296 lines (252 loc) · 25.6 KB

Changelog

v2024.7.0 (work in progress)

Breaking changes

  • #298 [syson] Add standard libraries and new models now have a root Namespace to conform with KerML/SysML specifications.

  • #334 [diagrams] Generalization of StateTransition descriptions.

    • Rename AbstractDiagramDescriptionProvider nameGenerator as descriptionNameGenerator. Impacted concrete implementations: ActionFlowViewDiagramDescriptionProvider, GeneralViewDiagramDescriptionProvider, InterconnectionViewForDefinitionDiagramDescriptionProvider, InterconnectionViewForUsageDiagramDescriptionProvider, StateTransitionViewDiagramDescriptionProvider.

    • Rename syson-diagram-statetransition-view CompartmentNodeDescriptionProvider as StateTransitionActionsCompartmentNodeDescriptionProvider.

    • StateTransitionViewEdgeService removed, services moved to ViewEdgeService and ViewLabelService.

    • StateTransitionActionToolProvider moved to syson-diagram-common-view

    • StateTransitionCompartmentNodeToolProvider moved to syson-diagram-common-view

    • createState and createOwnedAction services moved to ViewToolService

  • #349 [syson] Switch to sirius-web domain driven design architecture. Please download your existing SysON projects before moving to this new version. A reset of the database is needed.

  • #393 [diagrams] Code refactorings

    • Move AbstractDiagramDescriptionProvider#createNodeToolFromDiagramBackground(NodeDescription, EClassifier) to new ToolDescriptionService

    • Move AbstractViewElementDescriptionProvider#addExistingElementsTool(boolean) to new ToolDescriptionService

    • Remove AbstractViewElementDescriptionProvider

    • Move createDropFromExplorerTool to new ToolDescriptionService

    • Move and rename AbstractDiagramDescriptionProvider.addElementsToolSection(IViewDiagramElementFinder) to ToolDescriptionService#addElementsDiagramToolSection()

    • Move and rename AbstractNodeDescriptionProvider#addExistingElementsTool() to ToolDescriptionService#addElementsNodeToolSection()

    • Remove AbstractDiagramDescriptionProvider

    • Rename StateTransitionActionToolProvider to StateTransitionActionCompartmentToolProvider

    • Move AbstractViewNodeToolSectionSwitch#buildCreateSection(NodeTool…​) to ToolDescriptionService#buildCreateSection(NodeTool…​)

    • Merge AbstractViewNodeToolSectionSwitch#addElementsToolSection() and AbstractViewNodeToolSectionSwitch#addExistingNestedElementsTool() in ToolDescriptionService#addElementsNodeToolSection(boolean)

  • #423 ViewLabelService#getCompartmentItemUsageLabel has been renamed to ViewLabelService#getCompartmentItemLabel.

  • #423 ViewLabelService#getUsageInitialDirectEditLabel has been renamed to ViewLabelService#getInitialDirectEditLabel.

Dependency update

  • [tests] Add test dependency to Cypress 12.11.0 (only required to execute integration tests)

  • [releng] Switch to EMF Json 2.3.12

  • [releng] Switch to Spring Boot 3.2.5

  • [releng] Switch to @apollo/client 3.10.4

  • [releng] Switch to graphql 16.8.1

  • [releng] Switch to vite 5.2.11, vitest 1.6.0, @vitest/coverage-v8 1.6.0 and @vitejs/plugin-react 4.3.0

  • [releng] Switch to typescript 5.4.5

  • [releng] Switch to turbo 1.13.3

  • [releng] Switch to jacoco 0.8.12

  • [releng] Switch to maven-checkstyle-plugin 3.3.1

  • [releng] Remove the dependency to reflect-metadata

  • [releng] Switch to subscriptions-transport-ws 0.11.0

  • [releng] Switch to @ObeoNetwork/gantt-task-react 0.4.19

  • [releng] Switch to Sirius Web 2024.5.3

Bug fixes

  • #298 [metamodel] Fix metamodel to manage root namespaces.

  • #329 [services] Ignore root namespace with no name during qualified name resolution

  • #337 [diagrams] Fix direct edit of single digit cardinalities.

  • #348 [diagrams] The semantic representation of the Succession edge is not correct.

  • #356 [action-flow-view] The Allocate edge is not displayed in the Action Flow View diagram.

  • #403 [diagrams] Wrong computation of the Succession owner

  • #407 [diagrams] Fix the owner membership of dropped elements

  • #376 [export] Fix names used during export in FeatureValue

  • #373 [export] Fix names used during export in MetadataDefinition

  • #364 [export] Fix names used during export in FeatureChainExpression

  • #363 [export] Fix the first part of the InvocationExpression during export

  • #341 [export] Fix missing element names in the expressions during export

  • #459 [import] Fix documentation import to remove /* */ around texts

  • #490 [diagrams] Fix an issue where the Adjust size tool had no effect on Packages nodes.

Improvements

  • #298 [syson] Add root Namespace to SysON models and libraries

  • #324 [diagrams] Improve support for whitespace, quotes, and special characters in direct edit

  • #307 [diagrams] Fix parallel states tooling conditions

  • #269 [diagrams] Handle start and done actions in Action Flow View & General View diagrams

  • #344 [metamodel] Improve implementation of getName and getShortName

  • #333 [state-transition-view] Improve actions compartment for states

  • #334 [diagrams] Add State Transition View concepts in the General View diagram

  • #388 [details] Add Transition source and target to Core properties in the Details view

  • #394 [metamodel] All redefines references have been implemented.

  • #416 [import] Improve textual import running process. By default, end users don’t have to copy syside-cli.js near the syson-application jar anymore. The embedded syside-cli.js is copied in a system temp folder and executed from there (with node). But, if you encounter execution rights problem, you can still copy syside-cli.js in a place where you have the appropriate rights and use the org.eclipse.syson.syside.path application option.

  • #433 [tests] Add scripts to setup and udpate the integration testing environment

  • #445 [diagrams] Improve the way node descriptions are retrieved for a given semantic element

  • #439 [diagrams] Handle Perform action concept in diagrams

  • #460 [details] Extra property "Typed by" is now always visible in the details view for Feature elements, even if the Feature doesn’t have a type yet.

  • #468 [diagrams] Rename creation tools for Start and Done actions

  • #470 [diagrams] Reduce the default height of the Package node in diagrams

  • #472 [properties] Move Feature#direction in Core tab of the Details view

  • #475 [explorer] Sort New Object menu entries

  • #477 [diagrams] Add Direct Edit tool in control nodes palette

  • #479 [diagrams] Allow multiple occurrences of Start and Done actions in action body

  • #320 [import] Implement new import strategy based on ecore

  • #486 [diagrams] Improve the addExistingElement tool. The tool now works correctly on packages, and doesn’t render sibling elements when their semantic element has been rendered by another node (e.g. in a compartment).

  • #483 [diagrams] The empty/null values for subsetting/redefinition/subclassification/featureTyping are not displayed anymore in diagram node labels.

  • #482 [diagrams] Add tools for creating Ports with direction

  • #492 [diagrams] Add tools for creation Items with direction

New features

  • #315 [tests] Add Cypress test infrastructure and execute the Cypress tests as part of pull request checks

  • #358 [diagrams] Handle the JoinNode concept in actions body of diagrams

  • #359 [tests] Add tests to enforce a set of conventions on SysON DiagramDescriptions

  • #371 [diagrams] Handle the ForkNode concept in actions body of diagrams

  • #381 [diagrams] Handle the MergeNode concept in actions body of diagrams

  • #389 [diagrams] Handle the DecisionNode concept in actions body of diagrams

  • #391 [diagrams] AcceptAction is now available inside an Action body

  • #393 [diagrams] Handle the ExhibitState concept in diagrams

  • #423 [diagrams] Add new documentation compartment on all existing nodes in all diagrams.

  • #420 [diagrams] Handle AssignmentAction concept in actions body in diagrams

  • #405 [tests] Add integration test infrastructure

  • [doc] Initial contribution of the documentation

v2024.5.0

Breaking changes

  • #149 [requirement-view] The requirement-view diagram has been introduced by error in the last release. This diagram is not defined in the SysMLv2 specification. It has been deleted in this release.

Dependency update

  • Switch to Sirius Web 2024.5.0

  • Switch to @ObeoNetwork/gantt-task-react 0.4.9

  • Add dependency to org.apache.commons.commons-text 1.10.0

Bug fixes

  • #144 [diagrams] Fix an issue where the "Add existing elements (recursive)" failed on PartUsage.

  • #167 [interconnection-view] Add attributes compartment in children PartUsage nodes.

  • #174 [details] Fix an issue where an error raised when setting a valid new value (with primitive type) in the Details view.

  • #192 [import] Fix an issue where the /* and */ of a Comment’s body were imported while importing a textual SysML file.

  • #188 [import] Fix an issue where some Memberships were contained in their parent through ownedRelatedElement instead of ownedRelationship reference.

  • #184 [import] Fix an issue from element imported threw an alias

  • #249 [import] Fix an issue to avoid Infinite Loop

  • #199 [explorer] Fix an issue where the rename action was not renaming tree items anymore

  • #209 [diagrams] EnumerationDefinition was created without any name

  • #237 [diagrams] Fix an issue where Add existing element (recursive) creates child nodes for nested and owned usages at the root of the diagram instead of in their parent node

  • #262 [import] Fix an issue where an exception was raised while importing standard examples

  • #264 [diagrams] Restore hide capabilities that were missing after the latest Sirius Web update

  • #274 [import] Namespace.getImportedMemberships method now prevents name collisions

  • #271 [diagrams] Remove non end Usages from AllocationDefinition ends compartment

  • #229 [diagrams] Prevent circular containment of nested parts including self containment

  • #305 [diagrams] Fix performance issue when using EcoreUtil.delete

  • #272 [statetransition-view] Add "state transition" compartment and fix the graphical creation of actions in StateDefinition and StateUsage

  • #294 [diagrams] Fix an issue where inherited features in compartments of a graphical element could display themselves

  • #236 [diagrams] Fix an issue where Add existing element (recursive) could fail.

Improvements

  • #153 [syson] Forbid composite usages inside PortDefinition/PortUsage.

  • #155 [syson] Forbid composite usages inside AttributeDefinition/AttributeUsage.

  • #160 [syson] Add explicit usage of node to call syside javascript file.

  • #172 [details] Add Membership#visibility attribute to Core properties in the Details view.

  • #171 [details] Add PortUsage#direction attribute to Core properties in the Details view.

  • #169 [general-view] Handle UseCaseDefinition and UseCaseUsage in General View diagram

  • #182 [diagrams] Make Definition/Usage node collapsed by default in general-view & actionflow-view diagrams

  • #183 [diagrams] Expand Definition/Usage nodes in all diagrams when a compartment item is created

  • [syson] Add icons for all elements

  • #204 [interconnection-view] Change label position (from inside to outside) for ports (Border Nodes)

  • #202 [general-view] Allow to create general-view diagrams on any Namespace element

  • #268 [diagrams] Reveal only the appropriate compartment when creating child element

  • #278 [interconnection-view] Allow to create interconnection-view diagrams on any Usage/Definition element

  • #277 [diagrams] Add a free-form compartment in Action elements for owned actions

  • #308 [statetransition-view] Add "Add existing elements" tools on State & StateDefinition graphical elements.

  • #254 [diagrams] Add delete from model tool on containment edges

New features

  • #147 [general-view] Refactor compartments of RequirementDefinition and RequirementUsage to better fit the specification and examples.

  • #151 [diagrams] Add "Become nested" edge tools for AttributeUsage, ItemUsage, PartUsage and PortUsage.

  • #154 [diagrams] Add creation node tools inside existing usage elements.

  • #163 [diagrams] Add composite edges between usage and compartment content

  • #165 [general-view] Handle OccurrenceDefinition and OccurrenceUsage in General View diagram

  • #177 [diagrams] Add reconnect tools for composition edges

  • #180 [diagrams] Handle Allocation definition and Allocation usage

  • #196 [export] SysML standard serialization format

  • #219 [diagrams] Handle ConjugatedPortDefinition in diagrams, Explorer and Details View.

  • #234 [interconnection-view] Handle InterfaceUsages edges between PortUsages in InterconnectionView.

  • #175 [diagrams] Add the State Transition view diagram

  • #242 [diagrams] Handle Inherited features in features compartments.

  • #217 [diagrams] Handle Accept Action Usage

  • #285 [interconnection-view] Add rotative images for PortUsage in Interconnection View

  • #297 [diagrams] Handle Succession as edge between Actions inside action flow compartment

v2024.3.0

Breaking changes

  • Refactor Node Descriptions Providers in General View: all Definitions and Usages Node Descriptions Providers (e.g. PartDefinitionNodeDescriptionProvider or ItemUsageNodeDescriptionProvider) have been replaced by two new Node Descriptions Providers: DefinitionNodeDescriptionProvider and UsageNodeDescriptionProvider.

  • Switch to Sirius Web 2024.3.0: GeneralViewRegistryConfigurer has been renamed to GeneralViewDescriptionProvider as it now implements IEditingContextRepresentationDescriptionProvider instead of IRepresentationDescriptionRegistryConfigurer. Same for InterconnectionViewRegistryConfigurer. SysMLv2ObjectService has been renamed into SysMLv2LabelService as it now implements ILabelServiceDelegate instead of IObjectServiceDelegate.

  • #93 [diagrams] Refactor diagrams code with creation of the diagram-common-view module to gather all cross diagram tools:

    • DescriptionNameGenerator is no longer a static class with static methods. There should be one name generator per diagram owning the diagram prefix used to prefix all descriptions for this diagram (for instance GVDescriptionNameGenerator)

Dependency update

  • #71 [releng] Add commons-io 2.11.0 dependency explicitly in syson-application-configuration.

  • Switch to Sirius Web 2024.3.0

Bug fixes

  • #118 Subclassification edge has been broken during this release

Improvements

  • #75 [services] Improve direct edit. The direct edit of labels in diagrams now handles partial edition. The partial edit allows to:

    • "newName" → set a new name to the element

    • "newName :" → set a new name and delete typing

    • "newName :>" → set a new name and delete subsetting/- subclassification

    • "newName :>>" → set a new name and delete redefinition

    • "newName =" → set a new name and delete feature value

    • "newName []" → set a new name and delete the multiplicity range

    • ": newType" → set a new type

    • ":> newType" → set a new subsetting/subclassification

    • ":>> newType" → set a new redefinition

    • "= newValue" → set a new value

    • "[newRange]" → set a new range

  • #78 [explorer] Review new objects candidates in Explorer view context menu. Only provides candidates that will make sense. Also allow the creation of elements with their containing Membership in one click.

  • #80 [diagrams] Add recursive version of the "Add existing elements" tool.

  • #86 [general-view] Improves Package headers' width to better handle longer labels and prevents Package children from overlapping the Package body’s west border.

  • #52 [syson] Add all KerML and SysML standard libraries.

  • #88 [diagrams] Improves creation tool names by adding spaces between type words and removing "Usage" from tool names.

  • #91 [general-view] Add NodeTools to create compartment elements from the compartment’s parent node. For example, it is now possible to create an AttributeUsage in the PartDefinition palette.

  • #93 [diagrams] Reorganize General View diagram palette with several tool sections.

  • #105 [details] In the Details view, display the standard libraries in Reference Widget’s model browser dialog. Also remove the standard libraries elements in Reference Widget’s candidates (when you click in the background part of the widget) for now as it leads to performance issues. They will be only accessible through the model browser dialog.

  • #112 [services] Improves getAllReachable() util service, allowing to reduce the time being spent to retrieve the elements of a given type.

  • #134 [diagrams] Add FeatureTyping Edge tool, in the same way as other existing links such as Subclassification, Redefinition…​

  • #137 [details] Add kind property from RequirementConstraintMembership on Constraint core properties.

New features

  • #97 [explorer] Add a filter allowing to hide membership elements in the Explorer view.

  • #98 [explorer] Add filters allowing to hide KerML/SysML libraries in the Explorer view.

  • #93 [diagrams] Add the following new diagrams:

    • Action Flow view

    • Requirement view

  • #140 [import] It is now possible to import SysMLv2 textual files into SysON, through the existing document upload modal.

v2024.1.0

Breaking changes

  • #52 [services] All findUsageByName and findDefinitionByName method have been replaced by the new findByNameAndType in org.eclipse.syson.services.UtilService.

  • Delete useless fork of UploadDocumentEventHandler & DocumentController from Sirius Web.

Dependency update

  • Switch to Sirius Web 2024.1.1 (Please do not use new Portal representation introduced by this release of Sirius Web, it will be removed in SysON soon (see this ticket in Sirius Web)[eclipse-sirius/sirius-web#3013], when Sirius Web will allow to configure which representations can be used or not in Sirius Web-based applications).

  • #52 [metamodel] SysON SysMLv2 metamodel module now depends on org.eclipse.emf.ecore.xmi and java-uuid-generator.

  • Switch to vite 4.5.2

New features

  • #48 [general-view] Display help background message on empty general-view diagram.

  • #52 [syson] Add support for SysMLv2 standard libraries. Only some KerML libraries have been added: Base, BooleanFunctions, Clocks, CollectionFunctions, Collections, ComplexFunctions, ControlFunctions, DataFunctions, IntegerFunctions, KerML, Links, NaturalFunctions, NumericalFunctions, RationalFunctions, RealFunctions, ScalarFunctions, ScalarValues, SequenceFunctions, StringFunctions, TrigFunctions, VectorFunctions, VectorValues. Some of these libraries may have partial content. Other libraries and complete existing libraries will be added in future releases.

  • #60 [syson] Add support for automatic imports.

v2023.12.0

Architectural decision records

  • [ADR-000] Adopt ADRs

  • [ADR-001] Support direct edit in diagrams

New Features

  • This is the first release of SysON. It contains:

    • The ability to create and edit SysMLv2 models.

    • The ability to create and edit General View diagrams on Package elements. Only some elements can be created/edited in this diagram:

      • Attribute Definition

      • Attribute Usage

      • Enumeration Definition

      • Enumeration Usage

      • Interface Definition

      • Interface Usage

      • Item Definition

      • Item Usage

      • Metadata Definition

      • Package

      • Part Definition

      • Part Usage

      • Port Definition

      • Port Usage

    • The ability to create and edit Interconnection View diagrams on Part Usage elements.

    • An example of a SysMLv2 model named Batmobile, accessible from the homepage.

    • The ability to download and upload SysMLv2 projects.