-
Notifications
You must be signed in to change notification settings - Fork 11
/
Release_Notes.html
1288 lines (1288 loc) · 86.8 KB
/
Release_Notes.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
<?xml version='1.0' encoding='utf-8' ?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title>Release_Notes</title>
<link type="text/css" rel="stylesheet" href="resources/bootstrap.css"/>
<link type="text/css" rel="stylesheet" href="resources/custom.css"/>
</head>
<body>
<h1 id="ReleaseNotesforSiriusDesktop">Release Notes for Sirius Desktop</h1>
<ol class="toc" style="list-style: disc;">
<li>
<a href="#ReleaseNotesforSiriusDesktop">Release Notes for Sirius Desktop</a>
<ol style="list-style: disc;">
<li>
<a href="#sirius7.4.2">Changes in Sirius Desktop 7.4.2</a>
<ol style="list-style: disc;">
<li>
<a href="#UserVisibleChanges">User-Visible Changes</a>
</li>
<li>
<a href="#SpecifierVisibleChanges">Specifier-Visible Changes</a>
</li>
<li>
<a href="#DeveloperVisibleChanges">Developer-Visible Changes</a>
</li>
</ol>
</li>
<li>
<a href="#sirius7.4.1">Changes in Sirius Desktop 7.4.1</a>
<ol style="list-style: disc;">
<li>
<a href="#UserVisibleChanges2">User-Visible Changes</a>
</li>
<li>
<a href="#SpecifierVisibleChanges2">Specifier-Visible Changes</a>
</li>
<li>
<a href="#DeveloperVisibleChanges2">Developer-Visible Changes</a>
</li>
</ol>
</li>
<li>
<a href="#sirius7.4.0">Changes in Sirius Desktop 7.4.0</a>
<ol style="list-style: disc;">
<li>
<a href="#UserVisibleChanges3">User-Visible Changes</a>
</li>
<li>
<a href="#SpecifierVisibleChanges3">Specifier-Visible Changes</a>
</li>
<li>
<a href="#DeveloperVisibleChanges3">Developer-Visible Changes</a>
</li>
</ol>
</li>
<li>
<a href="#sirius7.3.0">Changes in Sirius 7.3.0</a>
<ol style="list-style: disc;">
<li>
<a href="#UserVisibleChanges4">User-Visible Changes</a>
</li>
<li>
<a href="#SpecifierVisibleChanges4">Specifier-Visible Changes</a>
</li>
<li>
<a href="#DeveloperVisibleChanges4">Developer-Visible Changes</a>
</li>
</ol>
</li>
<li>
<a href="#sirius7.2.1">Changes in Sirius 7.2.1</a>
<ol style="list-style: disc;">
<li>
<a href="#UserVisibleChanges5">User-Visible Changes</a>
</li>
<li>
<a href="#SpecifierVisibleChanges5">Specifier-Visible Changes</a>
</li>
<li>
<a href="#DeveloperVisibleChanges5">Developer-Visible Changes</a>
</li>
</ol>
</li>
<li>
<a href="#sirius7.2.0">Changes in Sirius 7.2.0</a>
<ol style="list-style: disc;">
<li>
<a href="#UserVisibleChanges6">User-Visible Changes</a>
</li>
<li>
<a href="#SpecifierVisibleChanges6">Specifier-Visible Changes</a>
</li>
<li>
<a href="#DeveloperVisibleChanges6">Developer-Visible Changes</a>
</li>
</ol>
</li>
<li>
<a href="#sirius7.1.0">Changes in Sirius 7.1.0</a>
<ol style="list-style: disc;">
<li>
<a href="#UserVisibleChanges7">User-Visible Changes</a>
</li>
<li>
<a href="#SpecifierVisibleChanges7">Specifier-Visible Changes</a>
</li>
<li>
<a href="#DeveloperVisibleChanges7">Developer-Visible Changes</a>
</li>
</ol>
</li>
<li>
<a href="#sirius7.0.4">Changes in Sirius 7.0.4</a>
<ol style="list-style: disc;">
<li>
<a href="#UserVisibleChanges8">User-Visible Changes</a>
</li>
</ol>
</li>
<li>
<a href="#sirius7.0.3">Changes in Sirius 7.0.3</a>
<ol style="list-style: disc;">
<li>
<a href="#DeveloperVisibleChanges8">Developer-Visible Changes</a>
</li>
</ol>
</li>
<li>
<a href="#sirius7.0.2">Changes in Sirius 7.0.2</a>
<ol style="list-style: disc;">
<li>
<a href="#SpecifierVisibleChanges8">Specifier-Visible Changes</a>
</li>
<li>
<a href="#DeveloperVisibleChanges9">Developer-Visible Changes</a>
</li>
</ol>
</li>
<li>
<a href="#sirius7.0.1">Changes in Sirius 7.0.1</a>
<ol style="list-style: disc;">
<li>
<a href="#DeveloperVisibleChanges10">Developer-Visible Changes</a>
</li>
</ol>
</li>
<li>
<a href="#sirius7.0.0">Changes in Sirius 7.0.0</a>
<ol style="list-style: disc;">
<li>
<a href="#UserVisibleChanges9">User-Visible Changes</a>
</li>
<li>
<a href="#DeveloperVisibleChanges11">Developer-Visible Changes</a>
</li>
</ol>
</li>
<li>
<a href="#sirius6.6.0">Changes in Sirius 6.6.0</a>
<ol style="list-style: disc;">
<li>
<a href="#UserVisibleChanges10">User-Visible Changes</a>
</li>
<li>
<a href="#DeveloperVisibleChanges12">Developer-Visible Changes</a>
</li>
</ol>
</li>
<li>
<a href="#sirius6.5.1">Changes in Sirius 6.5.1</a>
<ol style="list-style: disc;">
<li>
<a href="#DeveloperVisibleChanges13">Developer-Visible Changes</a>
</li>
</ol>
</li>
<li>
<a href="#sirius6.5.0">Changes in Sirius 6.5.0</a>
<ol style="list-style: disc;">
<li>
<a href="#UserVisibleChanges11">User-Visible Changes</a>
</li>
<li>
<a href="#SpecifierVisibleChanges9">Specifier-Visible Changes</a>
</li>
<li>
<a href="#DeveloperVisibleChanges14">Developer-Visible Changes</a>
</li>
</ol>
</li>
</ol>
</li>
</ol>
<p>This document contains the release notes for recent major releases of Sirius. See also
<a href="Release_Notes_Previous.html">the release notes from previous versions</a> for details about older releases.
</p>
<h2 id="sirius7.4.2">Changes in Sirius Desktop 7.4.2</h2>
<h3 id="UserVisibleChanges">User-Visible Changes</h3>
<ul>
<li><span class="label label-info">Modified</span> A
<a href="https://github.com/eclipse-sirius/sirius-desktop/issues/419">regression</a> introduced in 7.4.1 which prevented the dirty state marker (*) to be displayed in the model explorer in some cases has been fixed.
</li>
</ul>
<h3 id="SpecifierVisibleChanges">Specifier-Visible Changes</h3>
<h3 id="DeveloperVisibleChanges">Developer-Visible Changes</h3>
<h4 id="Migrations">Migrations</h4>
<p>
<em>None</em>.
</p>
<h2 id="sirius7.4.1">Changes in Sirius Desktop 7.4.1</h2>
<h3 id="UserVisibleChanges2">User-Visible Changes</h3>
<ul>
<li><span class="label label-info">Modified</span> The UI preference
<code>SiriusUIPreferencesKeys.PREF_DISPLAY_VSM_USER_FIXED_COLOR_IN_PALETTE</code> has been renamed from “Display viewpoints colors” to “Display suggested colors in color palette”.
</li>
</ul>
<h3 id="SpecifierVisibleChanges2">Specifier-Visible Changes</h3>
<h3 id="DeveloperVisibleChanges2">Developer-Visible Changes</h3>
<h4 id="Changesinorg.eclipse.sirius.diagram.ui">Changes in
<code>org.eclipse.sirius.diagram.ui</code>
</h4>
<ul>
<li><span class="label label-info">Modified</span> The method
<code>org.eclipse.sirius.diagram.ui.tools.api.color.ColorManager.collectVsmColors(Session)</code> has replaced
<code>Map<String, RGB> collectVsmAndDefaultColors(Session session)</code>.
</li>
</ul>
<h4 id="Migrations2">Migrations</h4>
<ul>
<li><span class="label label-success">Added</span> The migration participant WorkspaceImageGMFBoundsMigrationParticipant has been updated to handle the missed case of the image style of nodes contained in a container (and not directly in diagram). As reminder, this migration participant has been introduced in Sirius 7.0.0. The corresponding version, stored in attribute version of viewpoint:DAnalysis of the aird file, is
<em>15.4.1.202403191723</em>.
</li>
</ul>
<h2 id="sirius7.4.0">Changes in Sirius Desktop 7.4.0</h2>
<h3 id="UserVisibleChanges3">User-Visible Changes</h3>
<ul>
<li><span class="label label-success">Added</span> Copy and paste style from one diagram element to another. The copied and pasted diagram elements may be of different types. The style properties are applied at best. You can refer to the
<a href="user/diagrams/Diagrams.html#paste_style">paste style documentation</a> for more details.
</li>
<li><span class="label label-info">Modified</span> The 3 other existing pastes (
<code>Paste Format</code>,
<code>Paste Style</code> and
<code>Paste Layout</code>) are now called semantic paste (i.e.
<code>Paste Format (Semantic)</code>,
<code>Paste Style (Semantic)</code> and
<code>Paste Layout (Semantic)</code>), but their behavior remains unchanged.
</li>
<li><span class="label label-danger">Removed</span> Feature
<code>Apply the applicable appearance properties of the last selected shape to the other selected shapes.</code> has been removed. Use the new style copy-paste feature, which does the same thing.
</li>
<li><span class="label label-success">Added</span> A checkbox to ignore the pinning of elements on the diagram for the layout actions.</li>
<li><span class="label label-success">Added</span> A new layout action to layout the direct children of the selection on a diagram.</li>
<li><span class="label label-info">Modified</span> The layout of border nodes is now available for the selection (in addition to the whole diagram).</li>
<li><span class="label label-info">Modified</span> Arrange actions have been renamed from “Arrange <...>” to “Layout <...>”.</li>
<li><span class="label label-info">Modified</span> The pin and unpin actions are now combined into a single checkbox action.</li>
<li><span class="label label-info">Modified</span> The preference for marking moved items as pinned is now disabled by default. You can re-enable it via Window > Preferences > Sirius > Sirius Diagram</li>
<li><span class="label label-info">Modified</span> In Sirius table, font type and default size are now based on Preferences Settings of
<b>General > Appearance > Colors and Fonts</b>. Previously, cells font were always ‘Arial’ and of size ‘9’ but column and line headers were based on Preferences Settings.
</li>
<li><span class="label label-info">Modified</span> In Sirius table, default colors has been changed to use Preferences Settings and selection coloring behaves like other Views and Editors. Previously, line headers were forced to gray, selected cell was using Menu color instead of Theme color and no color was indicating the row on mouse hover.</li>
<li><span class="label label-success">Added</span> A new
<a href="user/diagrams/Diagrams.html#edit_element_color">color selection popup dialog</a> has been defined to choose the color(label, fill and line) to use for the selected element. This popup dialog is opened from the diagram toolbar, the contextual menu, the Diagram navigation bar, or the Appearance tab in the Properties View. Four color categories has been defined in this popup:
<ul>
<li>Last Used colors category displays the ten last colors used by the user. These colors are persisted in preferences for the user workspace.</li>
<li>Custom colors category displays the ten first colors defined by the user. These colors are persisted in aird file. The “More...” button opens a dialog for adding custom colors.</li>
<li>Suggested colors category displays the ten “preferred colors” chosen by the user which are a subset of the colors defined in the VSM. These colors are persisted in the aird file. The “More...” button opens a dialog that lets the user choose the ten “preferred colors”.</li>
<li>Basic colors category displays ten useful colors.</li>
</ul>
</li>
<li><span class="label label-info">Modified</span> Diagram export as SVG image has been improved. It is now repeatable as long as resources are the same. Previously some XML ID were generated using random mechanism.</li>
</ul>
<h3 id="SpecifierVisibleChanges3">Specifier-Visible Changes</h3>
<ul>
<li><span class="label label-info">Modified</span> Upgraded ELK version from 0.7.1 to 0.9.0, see the
<a href="https://eclipse.dev/elk/downloads/releasenotes/release-0.9.0.html">ELK documentation</a> for the list of changes in that version (and previous). Due to improvements or refactoring in ELK, some configuration option identifiers have been renamed or deleted. An automatic migration has been added in Sirius to migrate these identifiers used in VSM (see Migrations section for detail). In any case, if your modeler uses an ELK layout, you must be careful.
</li>
<li><span class="label label-info">Modified</span> In tables, expressions and tools are injected with more variables. ‘table’, ‘containerView’ and ‘line’ elements are now accessible. With those elements, Specifier can access, for example, to
<code>AnnotationEntry</code> elements of
<code>DTable</code> instances. This modification allows following use-cases:
<ul>
<li>Create virtual lines: lines to group elements in tree with criteria based on attributes values or on user query.</li>
<li>Have columns unrelated to root element: for example, in Cross Table, columns targeting Ecore features to have a table with a dynamic number of columns.</li>
<li>Store states to alter tools: read/write mode driven by tools; default values to use in creation tools of current table.</li>
</ul>
</li>
<li><span class="label label-info">Modified</span> The SquareDescription can now have -1 value for height and width. If the value -1 is used for both width and height enable the “auto-size” mode.</li>
</ul>
<h3 id="DeveloperVisibleChanges3">Developer-Visible Changes</h3>
<ul>
<li><span class="label label-danger">Removed</span> AbstractTabbarContributor.createCopyAppearancePropertiesContribution and TabbarContributionFactory.createCopyAppearancePropertiesContribution has been removed.</li>
<li><span class="label label-success">Added</span> The SiriusStyleClipboard singleton to store the style clipboard data for the diagram elements.</li>
<li><span class="label label-success">Added</span> The ISimpleAuthorityListener functional interface to listen for any lock change, like IAuthorityListener but with a single method.</li>
<li><span class="label label-info">Modified</span> ArrangeBorderNodesAction.initAction now has two parameters for its text: when there is no selection, when there is a selection.</li>
<li><span class="label label-success">Added</span> Method
<code>org.eclipse.sirius.diagram.business.api.diagramtype.IDiagramDescriptionProvider.allowsAutoSizeNodeStyle(DNode)</code> has been added to indicates if a diagram description provider allows node auto-size mode computed from the node style on the specified element.
</li>
<li><span class="label label-success">Added</span> Method
<code>org.eclipse.sirius.diagram.business.api.query.DNodeQuery.isAutoSize()</code> has been added to indicates if a node is in auto-size mode.
</li>
<li><span class="label label-success">Added</span> Method
<code>org.eclipse.sirius.diagram.business.api.query.DNodeQuery.supportNodeStyleAutoSize(NodeStyle, NodeStyleDescription)</code> has been added to indicates if a DNode can support autosize mode defined from its style.
</li>
</ul>
<h4 id="Changesinorg.eclipse.sirius">Changes in
<code>org.eclipse.sirius</code>
</h4>
<ul>
<li><span class="label label-success">Added</span>
<code>org.eclipse.sirius.business.api.logger.InterpretationContext</code> is created to ease setting and clearing variables when interpreting expressions.
</li>
</ul>
<h4 id="Changesinorg.eclipse.sirius.table">Changes in
<code>org.eclipse.sirius.table</code>
</h4>
<ul>
<li><span class="label label-success">Added</span>
<code>org.eclipse.sirius.table.business.api.helper.TableVariablesHelper</code> is added to initialize variable value according active table decorator.
</li>
<li><span class="label label-success">Added</span>
<code>org.eclipse.sirius.table.business.api.helper.TableToolHelper</code> is added to handle common evaluations with table tools.
</li>
<li><span class="label label-info">Modified</span> The
<code>org.eclipse.sirius.table.business.api.helper.TableHelper.canEditCrossTableCell(DCell)</code> and
<code>org.eclipse.sirius.table.business.api.helper.TableHelper.canEditCrossTableCell(DCell)</code> have been deprecated for removal.
<code>TableToolHelper</code> should be used to handle precondition evaluation.
</li>
<li><span class="label label-info">Modified</span> The
<code>org.eclipse.sirius.table.business.api.query.DLineQuery</code> query has been deprecated for removal. It was only used once in a internal class.
</li>
<li><span class="label label-info">Modified</span> Methods
<code>org.eclipse.sirius.table.tools.api.command.ITableCommandFactory.buildCreateLineCommandFromTool(LineContainer, EObject, CreateTool)</code> and
<code>org.eclipse.sirius.table.tools.api.command.ITableCommandFactory.buildCreateColumnCommandFromTool(DTable, EObject, CreateTool)</code> have been deprecated for removal. They have been replaced by methods using applicable DSemanticDecorator in signature.
</li>
</ul>
<h4 id="Changesinorg.eclipse.sirius.diagram.ui2">Changes in
<code>org.eclipse.sirius.diagram.ui</code>
</h4>
<ul>
<li><span class="label label-success">Added</span> The constant
<code>org.eclipse.sirius.diagram.ui.business.api.view.SiriusLayoutDataManager.KEEP_FIXED</code> has been added to tag elements to be laid out and indicate that their location should not be modified.
</li>
<li><span class="label label-success">Added</span> Method
<code>org.eclipse.sirius.diagram.ui.business.api.view.SiriusLayoutDataManager.getArrangeCreatedViewsCommand(List<IAdaptable>, List<IAdaptable>, IGraphicalEditPart, String)</code> has been added to handle the new
<code>KEEP_FIXED</code> layout tag. There are now 3 types of tags that can be used for layout:
<code>org.eclipse.gmf.runtime.diagram.ui.services.layout.LayoutType.DEFAULT</code>,
<code>org.eclipse.sirius.diagram.ui.business.api.view.SiriusLayoutDataManager.LAYOUT_TYPE_ARRANGE_AT_OPENING</code> and
<code>org.eclipse.sirius.diagram.ui.business.api.view.SiriusLayoutDataManager.KEEP_FIXED</code>.
</li>
<li><span class="label label-success">Added</span> New preferences have been added to store the last colors used by the user:
<ul>
<li>
<code>org.eclipse.sirius.diagram.ui.tools.api.preferences.SiriusDiagramUiPreferencesKeys.PREF_FONT_LAST_USED_COLORS</code> is used to store the last used font colors.
</li>
<li>
<code>org.eclipse.sirius.diagram.ui.tools.api.preferences.SiriusDiagramUiPreferencesKeys.PREF_FILL_LAST_USED_COLORS</code> is used to store the last used fill colors.
</li>
<li>
<code>org.eclipse.sirius.diagram.ui.tools.api.preferences.SiriusDiagramUiPreferencesKeys.PREF_LINE_LAST_USED_COLORS</code> is used to store the last used line colors.
</li>
</ul>
</li>
<li><span class="label label-success">Added</span> The method
<code>org.eclipse.sirius.diagram.ui.tools.api.color.ColorManager.collectVsmColors(Session)</code> has been added to collect colors defined in the VSM.
</li>
<li><span class="label label-success">Added</span> The method
<code>org.eclipse.sirius.diagram.ui.tools.api.color.ColorManager.rgbToString(RGB)</code> has been added to convert an RGB color to a string.
</li>
<li><span class="label label-success">Added</span> The method
<code>org.eclipse.sirius.diagram.ui.tools.api.color.ColorManager.stringToRGB(String)</code> has been added to convert a string color to an RGB color.
</li>
<li><span class="label label-success">Added</span> The method
<code>org.eclipse.sirius.diagram.ui.tools.api.color.ColorManager.sortColors(Collection<RGB>)</code> has been added to sort a collection of RGB colors using their HSB (Hue, Saturation, Brightness). The specified collection isn’t modified.
</li>
</ul>
<ul>
<li><span class="label label-success">Added</span> The class
<code>org.eclipse.sirius.diagram.ui.tools.api.color.ColorCategoryManager</code> has been added to manage color categories used in the new
<code>ColorPalettePopup</code>. It includes the following methods:
<ul>
<li>
<code>org.eclipse.sirius.diagram.ui.tools.api.color.ColorCategoryManager.getLastUsedColors()</code> to get the list of last colors used by the user.
</li>
<li>
<code>org.eclipse.sirius.diagram.ui.tools.api.color.ColorCategoryManager.getCustomColors()</code> to get the list of custom colors defined by the user.
</li>
<li>
<code>org.eclipse.sirius.diagram.ui.tools.api.color.ColorCategoryManager.getSuggestedColors()</code> to get the list of the ten preferred colors defined in the VSM.
</li>
<li>
<code>org.eclipse.sirius.diagram.ui.tools.api.color.ColorCategoryManager.getBasicColors()</code> to get ten useful colors.
</li>
<li>
<code>org.eclipse.sirius.diagram.ui.tools.api.color.ColorCategoryManager.addLastUsedColor(RGB)</code> to add a color to the list of last used colors.
</li>
<li>
<code>org.eclipse.sirius.diagram.ui.tools.api.color.ColorCategoryManager.setCustomColors(List<RGB>)</code> to set the list of custom colors defined by the user.
</li>
<li>
<code>org.eclipse.sirius.diagram.ui.tools.api.color.ColorCategoryManager.setSuggestedColors(List<RGB>)</code> to set the list of the preferred suggested colors.
</li>
<li>
<code>org.eclipse.sirius.diagram.ui.tools.api.color.ColorCategoryManager.getSelectedColorsByPropertyId()</code> to get the list of colors used for all objects selected in the representation for a specific propertyId.
</li>
</ul>
</li>
</ul>
<h4 id="Migrations3">Migrations</h4>
<ul>
<li><span class="label label-success">Added</span> A migration participant has been added to migrate ELK options used in VSM. Some have been renamed and some others have been removed. You should carefully read the information logged during this migration and the
<a href="https://eclipse.dev/elk/downloads/releasenotes/release-0.9.0.html">ELK release notes</a> to check if any manual adjustments need to be made. The corresponding version, stored in attribute version of description:Group of the odesign file, is
<em>15.4.0.202401051836</em>.
</li>
</ul>
<h2 id="sirius7.3.0">Changes in Sirius 7.3.0</h2>
<h3 id="UserVisibleChanges4">User-Visible Changes</h3>
<ul>
<li><span class="label label-success">Added</span> A new preference has been added in the Sirius Diagram preference page. This preference allows the user to choose the arrangement of elements created on a diagram when they are not directly positioned by the user. In the preference page, users can choose between a diagonal, vertical or horizontal arrangement.</li>
</ul>
<h3 id="SpecifierVisibleChanges4">Specifier-Visible Changes</h3>
<h3 id="DeveloperVisibleChanges4">Developer-Visible Changes</h3>
<h4 id="Changesinorg.eclipse.sirius.diagram.ui3">Changes in
<code>org.eclipse.sirius.diagram.ui</code>
</h4>
<ul>
<li><span class="label label-info">Modified</span> The methods
<code>org.eclipse.sirius.diagram.ui.tools.api.util.GMFNotationHelper.getNotes(Diagram)</code> and
<code>org.eclipse.sirius.diagram.ui.tools.api.util.GMFNotationHelper.getTextNotes(Diagram)</code> now return a list of
<code>org.eclipse.gmf.runtime.notation.Shape</code> instead of a list of
<code>org.eclipse.gmf.runtime.notation.Node</code>. This type is more precise and avoids multiple cast when using the returned list.
</li>
<li><span class="label label-success">Added</span> A new preference have been added in
<code>org.eclipse.sirius.diagram.ui.tools.api.preferences.SiriusDiagramUiPreferencesKeys</code>:
<ul>
<li>
<code>PREF_NEWLY_CREATED_ELEMENTS_LAYOUT</code>: An integer preference used to define the arrangement of elements created on a diagram when they are not directly positioned by the user. When created successively, elements can be positioned diagonally, vertically or horizontally. Elements can be positioned diagonally with the value 0, vertically with the value 1, horizontally with the value 2. By default, elements are positioned diagonally with the value 0.
</li>
</ul>
</li>
</ul>
<p>The Sirius default values for these preferences can be overridden for a specific product. For example:</p>
<pre><code> // Preference customization for plugin "org.eclipse.sirius.diagram.ui"
IEclipsePreferences diagramPreferences = DefaultScope.INSTANCE.getNode(org.eclipse.sirius.diagram.ui.provider.DiagramUIPlugin.ID);
// By default override the @PREF_NEWLY_CREATED_ELEMENTS_LAYOUT@ default value
diagramPreferences.putBoolean(SiriusDiagramUiPreferencesKeys.@PREF_NEWLY_CREATED_ELEMENTS_LAYOUT@, 2);
</code></pre>
<h2 id="sirius7.2.1">Changes in Sirius 7.2.1</h2>
<h3 id="UserVisibleChanges5">User-Visible Changes</h3>
<ul>
<li><span class="label label-info">Modified</span> Sequence diagrams are now correctly identified in the Sirius Session Details report (accessible with the “Properties” dialog on an aird file).</li>
<li><span class="label label-info">Modified</span> When a semantic modification is made on a diagram (e.g. Drag and Drop of an element), the notes and texts attached to the element remain attached, and the notes and texts contained in the element are preserved as much as possible.</li>
<li><span class="label label-info">Modified</span> When an element is deleted after drag and drop, its attached notes and texts are also removed if preference “Remove/hide note when the annotated element is removed/hidden” is enabled.</li>
</ul>
<h3 id="SpecifierVisibleChanges5">Specifier-Visible Changes</h3>
<ul>
<li><span class="label label-info">Modified</span> Three system properties have been added to allow the enablement of layout customizations for Regions (containers whose parent has a Children Presentation attribute set to Horizontal Stack or Vertical Stack):
<ul>
<li>
<code>-Dorg.eclipse.sirius.diagram.ui.internal.region.autosize.figure.optimized=true</code>
<ul>
<li>When this system property is set to true, the auto-size layout of Regions is based on model constraints. It reduces the layout changes for such Regions after reopening of a diagram.</li>
</ul>
</li>
<li>
<code>-Dorg.eclipse.sirius.diagram.ui.internal.region.autosize.action.optimized=true</code>
<ul>
<li>When this system property is set to true, individual auto-size actions and status are enabled for Regions. Otherwise the auto-size actions and status are delegated and managed by the RegionContainer.</li>
</ul>
</li>
<li>
<code>-Dorg.eclipse.sirius.diagram.ui.internal.region.content.canonical.layout.standard=true</code>
<ul>
<li>When this system property is set to true, the centered layout will not be applied on the Regions content at RegionContainer creation time.</li>
</ul>
</li>
</ul>
</li>
</ul>
<h3 id="DeveloperVisibleChanges5">Developer-Visible Changes</h3>
<h4 id="Changesinorg.eclipse.sirius.diagram.ui4">Changes in
<code>org.eclipse.sirius.diagram.ui</code>
</h4>
<ul>
<li><span class="label label-success">Added</span>
<code>org.eclipse.sirius.diagram.ui.business.api.query.NodeQuery.getFreeFormContainerCompartment()</code> is added to get the compartment of the GMF node container with “free form” layout.
</li>
<li><span class="label label-success">Added</span>
<code>org.eclipse.sirius.diagram.ui.business.api.query.ViewQuery.isFreeFormContainer()</code> and
<code>org.eclipse.sirius.diagram.ui.business.api.query.ViewQuery.isRegionContainer()</code> are added to test if a GMF node is associated to DNodeContainer Sirius diagram element with respectively free form layout and stack layout (horizontal or vartical).
</li>
<li><span class="label label-success">Added</span>
<code>org.eclipse.sirius.diagram.ui.business.api.query.ViewQuery.isFreeFormCompartment()</code> is added to test if a GMF node is compartment of node corresponding to a Sirius container free form.
</li>
</ul>
<p><span class="label label-success">Added</span>
<code>org.eclipse.sirius.diagram.ui.business.api.query.ViewQuery.isNode()</code> is added to test if a GMF node is associated to DNode Sirius diagram element.
</p>
<ul>
<li><span class="label label-success">Added</span>
<code>org.eclipse.sirius.diagram.ui.business.api.query.ViewQuery.isNodeLabel()</code> is added to test if a GMF node is associated to label of DNode Sirius diagram element.
</li>
</ul>
<h2 id="sirius7.2.0">Changes in Sirius 7.2.0</h2>
<h3 id="UserVisibleChanges6">User-Visible Changes</h3>
<ul>
<li><span class="label label-info">Modified</span> Java 17 (or later) is now required to run Sirius.</li>
</ul>
<h3 id="SpecifierVisibleChanges6">Specifier-Visible Changes</h3>
<ul>
<li><span class="label label-success">Added</span> New decorators are now available for the beginning and edge of edges:
<code>CirclePlus</code>,
<code>DiamondWithDot</code>,
<code>FillDiamondWithDot</code>,
<code>InputArrowWithDiamondAndDot</code>,
<code>InputArrowWithDot</code>,
<code>InputArrowWithFillDiamondAndDot</code>.
</li>
</ul>
<h3 id="DeveloperVisibleChanges6">Developer-Visible Changes</h3>
<ul>
<li><span class="label label-info">Modified</span> Java 17 is required as BREE and source level.</li>
</ul>
<h2 id="sirius7.1.0">Changes in Sirius 7.1.0</h2>
<h3 id="UserVisibleChanges7">User-Visible Changes</h3>
<ul>
<li><span class="label label-success">Added</span> In a tree editor, if the
<code>Shift</code> key is pressed during using the
<code>left arrow</code> key, a collapse all is done instead of a simple collapse. This is the same for expand with
<code>Shift</code> +
<code>right arrow</code> key. You can refer to
<a href="user/trees/Trees.html#navigation">navigation documentation</a> for more details.
</li>
<li><span class="label label-success">Added</span> A new mode has been added to
<a href="user/diagrams/Diagrams.html#paste_layout">paste the layout</a> of elements between two diagrams. This mode is useful in case of diagrams having the same elements represented several times in a diagram or to copy the layout from a diagram having a hierarchy different than the target diagram. This mode is called “Optimized locations by group” (the existing mode is called “Similar locations in absolute coordinates”). With this new mode, the paste action groups elements having the same container in the target diagram. Then it applies the copied layout of these elements relative to each other, while maintaining the same location for the group in the target diagram. Examples are available in the
<a href="user/diagrams/Diagrams.html#paste_layout">corresponding documentation</a>.
</li>
<li><span class="label label-success">Added</span> The Distribute and Align actions are now also available on the label of edges. Previously, this kind of actions was available only on nodes. You can refer to
<a href="user/diagrams/Diagrams.html#distribute">Distribute elements documentation</a> or
<a href="user/diagrams/Diagrams.html#align">Align elements documentation</a> for more details.
</li>
<li><span class="label label-info">Modified</span> In a tree editor, if the expand is done with the right arrow key, the behavior is now OK. Before this version, if the expand is done for the first time with the right arrow key, only a blank child is displayed. You can refer to
<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=549352">bugzilla 549352</a> for more details.
</li>
<li><span class="label label-info">Modified</span> In a tree or a table representation, the direct edit is no longer accessible with any alphanumeric character key pressed, but only with double-clicking or pressing
<em>F2</em> or
<em>Return</em> (as the documentation always said). It is possible to restore the previous behavior by setting the system property
<code>org.eclipse.sirius.ui.restoreBehaviorEnablingDirectEditOnAlphanumericKey</code> to true
</li>
<li><span class="label label-info">Modified</span> The Sirius Session Details report (accessible with the “Properties” dialog on an aird file) is updated to always show the dependencies even for a not opened Session. The general dependencies are computed from serialized data. The image project dependencies are computed from the opened session or from the serialized data if the Session is not opened. A button is available to update image project dependencies.</li>
<li><span class="label label-info">Modified</span> The Copy action is now visible in the tabbar, of a diagram editor, when no diagram element is selected, before it was visible only when at least one diagram element is selected. And the drop-down menu for Paste actions is now visible in the tabbar, of a diagram editor, when at least one diagram element is selected, before it was visible only when no diagram element is selected. </li>
</ul>
<h3 id="SpecifierVisibleChanges7">Specifier-Visible Changes</h3>
<ul>
<li><span class="label label-success">Added</span> The system property
<code>org.eclipse.sirius.ui.enableCreatedElementsConstraintInSelectElementsListener</code> has been added to allow to ignore the “created elements” constraint when the
<code>SelectDRepresentationElementsListener</code> is called to select elements after a tool execution. In other words, this allows to select an element that is not created during the tool execution. The default value of the system property is
<code>true</code>. It must be set to
<code>false</code> to ignore the constraint.
</li>
<li><span class="label label-info">Modified</span> A fix has been done to ensure that all the necessary interpreter variables are set when computing the conditional style expression whatever the context of call. Variables for Node and NodeContainer styles: (diagram, view, containerView, container) and for Edge style: (same than for Node, sourceView, targetView).
<strong>Warning</strong> The impact is that, potentially, if you used the variables diagram or containerView in the precondition of your conditional styles, the precondition that returned false before the fix, could now returned true. So you may encounter different node or edge rendering.
</li>
<li><span class="label label-success">Added</span> The enhancement of the properties views with the
<code>org.eclipse.sirius.properties.core.api.SiriusInputDescriptor</code> and
<code>org.eclipse.sirius.properties.core.internal.SiriusToolServices</code> classes allows to use the list of selected elements in order to exploit additional informations. It is now possible to retrieve the list of selected elements via an aql expression like
<code>aql:input.getSelectedOriginalSelections()</code>, the list of semantic elements with
<code>aql:input.getSelectedSemanticElements()</code> and the list of contexts with
<code>aql:input.getContextSelections()</code>.
</li>
</ul>
<h3 id="DeveloperVisibleChanges7">Developer-Visible Changes</h3>
<ul>
<li><span class="label label-success">Added</span> The interface
<code>org.eclipse.sirius.ecore.extender.business.api.permission.IPermissionAuthority</code> now has a
<code>isFrozen(EObject)</code> method. This is a status handled by the collaborative plugins, but this new API makes this status available for queries from Sirius core plugins.
</li>
</ul>
<h4 id="Changesinorg.eclipse.sirius2">Changes in
<code>org.eclipse.sirius</code>
</h4>
<ul>
<li><span class="label label-success">Added</span> The method
<code>org.eclipse.sirius.business.api.helper.task.DeleteEObjectTask.getEObjectToDelete()</code> has been added to get the EObject that will be deleted by this task.
</li>
<li><span class="label label-success">Added</span>
<code>org.eclipse.sirius.business.api.refresh.RepresentationTimeStampInformationSupplierRegistry</code> and
<code>org.eclipse.sirius.business.api.refresh.RepresentationTimeStampInformationSupplier</code> have been added. The first is the registry to register instance of the second that allows to tell when the DRepresentationDescriptor.changeId is updated or not.
</li>
<li><span class="label label-success">Added</span>The class
<code>org.eclipse.sirius.business.api.query.SiriusProjectDependencyQuery</code> is added to get project
</li>
</ul>
<p>dependencies from a given project.</p>
<ul>
<li><span class="label label-success">Added</span>The method
<code>org.eclipse.sirius.business.api.session.Session.getSharedMainDAnalysis()</code> is added to get the DAnalysis that holds data and can be shared in some context such as CDO.
</li>
</ul>
<h4 id="Changesinorg.eclipse.sirius.diagram.ui5">Changes in
<code>org.eclipse.sirius.diagram.ui</code>
</h4>
<ul>
<li><span class="label label-success">Added</span> Two new preferences have been added in
<code>org.eclipse.sirius.diagram.ui.tools.api.preferences.SiriusDiagramUiPreferencesKeys</code>:
<ul>
<li>
<code>PREF_PROMPT_PASTE_MODE</code>: A boolean preference to say if the paste mode must be requested at each “Paste format” or “Paste layout” action.
</li>
<li>
<code>PREF_PASTE_MODE_ABSOLUTE</code>: : A boolean preference for the paste mode, true for “Absolute” mode, false for “Bounding box” mode. This preference is changed as soon as the user changes the selection in the dialog asking the mode. Thereby, at the next dialog, the last choice is pre-selected.
<ul>
<li>If the
<code>PREF_PROMPT_PASTE_MODE</code> is true, this preference is used to pre-select the choice in the dialog.
</li>
<li>If the
<code>PREF_PROMPT_PASTE_MODE</code> is false, this preference is used as the Paste mode to apply.
</li>
</ul>
</li>
</ul>
</li>
</ul>
<p>The Sirius default values for these preferences can be overridden for a specific product. For example:</p>
<pre><code> // Preference customization for plugin "org.eclipse.sirius.diagram.ui"
IEclipsePreferences diagramPreferences = DefaultScope.INSTANCE.getNode(org.eclipse.sirius.diagram.ui.provider.DiagramUIPlugin.ID);
// By default override the PREF_PROMPT_PASTE_MODE default value
diagramPreferences.putBoolean(SiriusDiagramUiPreferencesKeys.PREF_PROMPT_PASTE_MODE, false);
</code></pre>
<ul>
<li><span class="label label-success">Added</span> Two new methods have been added in
<code>org.eclipse.sirius.diagram.ui.tools.api.format.SiriusFormatDataManager</code> to allow to paste the layout on a subpart of the children of a container and not on all children of this container:
<code>applyLayout(IGraphicalEditPart, List<IGraphicalEditPart>, boolean)</code> and
<code>applyFormat(IGraphicalEditPart, List<IGraphicalEditPart>, boolean)</code>. A default implementation is available in
<code>org.eclipse.sirius.diagram.ui.tools.api.format.AbstractSiriusFormatDataManager</code>.
</li>
</ul>
<h4 id="Changesinorg.eclipse.sirius.tests.swtbot.support">Changes in
<code>org.eclipse.sirius.tests.swtbot.support</code>
</h4>
<ul>
<li><span class="label label-success">Added</span> Two new methods have been added in
<code>org.eclipse.sirius.tests.swtbot.support.api.editor.SWTBotSiriusDiagramEditor</code>:
<code>getAbsoluteLocation(String, Class<? extends EditPart>, boolean)</code> and
<code>getAbsoluteLocation(GraphicalEditPart, boolean)</code>. Only a boolean parameter has been added to two existing methods (same name without last boolean parameter). This boolean allows to consider, or note, the label of an edge in the bounds computation.
</li>
</ul>
<h4 id="Changesinorg.eclipse.sirius.properties.core">Changes in
<code>org.eclipse.sirius.properties.core</code>
</h4>
<ul>
<li><span class="label label-success">Added</span> The
<code>org.eclipse.sirius.properties.core.api.SiriusInputDescriptor</code> class has been modified to handle the selection of many elements by creating a list of SiriusContext. This enhancement allows to access the list of selected semantic elements with
<code>org.eclipse.sirius.properties.core.api.SiriusInputDescriptor.getSemanticElements()</code> and the list of original selected objects with
<code>org.eclipse.sirius.properties.core.api.SiriusInputDescriptor.getOriginalSelections()</code>.
</li>
</ul>
<h4 id="Migrations4">Migrations</h4>
<ul>
<li><span class="label label-info">Modified</span>The migration participant introduced by
<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=576423">Bug 576423 -
<em>Incorrect representation size when using 'Size Computation Expression'</em>
</a> was wrongly resizing the GMF bounds of collapsed nodes.
<code>org.eclipse.sirius.diagram.ui.business.internal.migration.WorkspaceImageGMFBoundsMigrationParticipant</code> migration participant has been modified to fix the previous version
<em>15.0.0.202201261500</em> . The corresponding version, stored in attribute version of viewpoint:DAnalysis of the aird file, is
<em>15.0.0.202209061200</em>.
</li>
<li><span class="label label-info">Modified</span> The migration participant
<code>org.eclipse.sirius.diagram.ui.business.internal.migration.SetChangeIdMigrationParticipant</code> that set a changeId value for each DRepresentationDescriptor that did not have one has been changed. The migration participant now sets a time stamp that represents the absolute time. The corresponding version, stored in the attribute version of viewpoint:DAnalysis of the aird file, is
<em>15.1.0.202211301600</em>.
</li>
</ul>
<h2 id="sirius7.0.4">Changes in Sirius 7.0.4</h2>
<h3 id="UserVisibleChanges8">User-Visible Changes</h3>
<p>Minor release to avoid errors thrown during indirect deletion of edges whose label is selected (deletion done from outside the diagram editor or from a custom command).</p>
<h2 id="sirius7.0.3">Changes in Sirius 7.0.3</h2>
<h3 id="DeveloperVisibleChanges8">Developer-Visible Changes</h3>
<ul>
<li><span class="label label-danger">Removed</span> To ensure compatibility with Eclipse 2022-09, dependency to
<code>com.ibm.icu</code> has been removed.
</li>
</ul>
<h2 id="sirius7.0.2">Changes in Sirius 7.0.2</h2>
<h3 id="SpecifierVisibleChanges8">Specifier-Visible Changes</h3>
<ul>
<li><span class="label label-success">Added</span> The variables
<code>edgeView</code> and
<code>otherEnd</code> are now also available during precondition evaluation of a reconnect tool. Before, these variables were available only during the reconnection tool execution.
</li>
</ul>
<h3 id="DeveloperVisibleChanges9">Developer-Visible Changes</h3>
<h4 id="Changesinorg.eclipse.sirius3">Changes in
<code>org.eclipse.sirius</code>
</h4>
<ul>
<li><span class="label label-success">Added</span> The method
<code>org.eclipse.sirius.business.api.helper.task.TaskHelper.checkPrecondition(EObject, AbstractToolDescription, Map<String, EObject>, boolean, boolean)</code> has been added to factorize code for the evaluation of a tool precondition.
</li>
</ul>
<h4 id="Changesinorg.eclipse.sirius.common">Changes in
<code>org.eclipse.sirius.common</code>
</h4>
<ul>
<li><span class="label label-success">Added</span> The method
<code>org.eclipse.sirius.common.tools.api.interpreter.VariableType.fromVariableTypes(VariableType...)</code> has been added to create a new VariableType from a list of other VariableTypes, ie a concatenation without duplicate.
</li>
</ul>
<h4 id="Changesinorg.eclipse.sirius.diagram">Changes in
<code>org.eclipse.sirius.diagram</code>
</h4>
<ul>
<li><span class="label label-success">Added</span> The name for variables
<code>edgeView</code> and
<code>otherEnd</code> is now available in
<code>org.eclipse.sirius.diagram.tools.api.interpreter.IInterpreterSiriusDiagramVariables</code>. Before, it was duplicated constants in several classes.
</li>
</ul>
<h2 id="sirius7.0.1">Changes in Sirius 7.0.1</h2>
<h3 id="DeveloperVisibleChanges10">Developer-Visible Changes</h3>
<ul>
<li><span class="label label-info">Modified</span> The behavior concerning SVG images export has been improved. You can refer to
<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=578509">bugzilla 578509</a> for more details. This behavior is activated by default but you may disable it by setting the system property
<code>org.eclipse.sirius.diagram.ui.enableEmbeddedSVGInSVGExport</code> to
<code>false</code>.
</li>
</ul>
<h2 id="sirius7.0.0">Changes in Sirius 7.0.0</h2>
<h3 id="UserVisibleChanges9">User-Visible Changes</h3>
<ul>
<li><span class="label label-success">Added</span> Some enhancement have been done about the images management.
<ul>
<li>The selection of images from the workspace to change the style of an element in a diagram has been improved. The UI can now provide a preview of the images on the workspace by displaying them in a gallery based on the selected project or directory.
<img style="width: 500px" border="0" src="images/imageSelectionDialog.png"/>
</li>
<li>A new constraint used for the “Diagram validation” has been added to check that images used by the models are reachable. A quick fix, available on the marker, allows to select a new image in the workspace.</li>
</ul>
</li>
<li><span class="label label-info">Modified</span> The Sirius constraints, used for the model validation, have been re-categorized (visible in Preferences) to better understand where they are defined and on which model they apply.</li>
</ul>
<img style="width: 500px" border="0" src="images/preferenceValidationConstraint.png"/>
<ul>
<li><span class="label label-info">Modified</span> It is now possible to move a regions container by moving one of its region with the “Ctrl” shortcut key pressed. In the same way, it is now possible to select a regions container by clicking on one of its region with the “Ctrl” shortcut key pressed.</li>
<li><span class="label label-danger">Removed</span> It is no longer possible to change the workspace image of a diagram element with an image from an internal plugin via the “Set style to workspace image” action. This functionality affects a very small part of the use cases. The new UI of the “Set style to workspace image” action does not support this advanced functionality. However, it is still possible to go through Properties > Style > Workspace Image, then paste the path of the internal plugin image.</li>
</ul>
<h3 id="DeveloperVisibleChanges11">Developer-Visible Changes</h3>
<ul>
<li><span class="label label-success">Added</span> Sirius core and dialects metamodels have been extracted in new
<b>.model</b> plugins with minimum dependencies. Each new plugin is re-exported by the plugin which was the previous container of its metamodel. The base packages of the generated code has not been modified. Each API modification is listed in the corresponding plugin section. Additional dialect providers and extension providers might have to modify the path or references to Sirius .ecore and .genmodel files to reflect this change. The new plugins are:
<ul>
<li>
<code>org.eclipse.sirius.model</code>, re-exported by
<code>org.eclipse.sirius</code>
</li>
<li>
<code>org.eclipse.sirius.diagram.model</code>, re-exported by
<code>org.eclipse.sirius.diagram</code>
</li>
<li>
<code>org.eclipse.sirius.diagram.sequence.model</code>, re-exported by
<code>org.eclipse.sirius.diagram.sequence</code>
</li>
<li>
<code>org.eclipse.sirius.table.model</code>, re-exported by
<code>org.eclipse.sirius.table</code>
</li>
<li>
<code>org.eclipse.sirius.tree.model</code>, re-exported by
<code>org.eclipse.sirius.tree</code>
</li>
</ul>
</li>
<li><span class="label label-info">Modified</span> The behavior of arrange at opening has been changed/fixed (only one arrange instead of two for examples). You can refer to
<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=577676">bugzilla 577676</a> for more details. Maybe your modeler rely on this “buggy behavior” or maybe some impacts have not yet been detected. If you notice a problem, you can retrieve the previous behavior by setting the system property
<code>org.eclipse.sirius.diagram.ui.disableArrangeAtOpeningChanges</code> to
<code>true</code>. You can also create a specific bugzilla to explain the problem. This system property is temporary and will be removed in one or two versions.
</li>
<li><span class="label label-info">Modified</span> The behavior concerning layout of regions container has been improved. You can refer to
<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=576305">bugzilla 576305</a> for more details. Maybe your modeler rely on this “buggy behavior” or maybe some impacts have not yet been detected. As a reminder, assembling multiple region containers is not supported. These changes are improving the situation but maybe not in your modeler. If you notice a problem, you can retrieve the previous behavior by setting the system property
<code>org.eclipse.sirius.diagram.ui.disableHStackContainerNewBehavior</code> to
<code>true</code>. You can also create a specific bugzilla to explain the problem. This system property is temporary and will be removed in one or two versions.
</li>
<li><span class="label label-info">Modified</span> The
<code>org.eclipse.sirius.ext.base.Option<T></code> helper type has been deprecated for removal. It will be progressively replaced by the standard
<code>java.util.Optional</code> type in our APIs.
</li>
<li><span class="label label-danger">Removed</span>
<b>The “Workflow” feature</b> has been removed . Workflow was experimental and to our knowledge not used in practice. This corresponds to the
<code>org.eclipse.sirius.workflow.*</code> and
<code>org.eclipse.sirius.editor.workflow</code> plug-ins.
</li>
<li><span class="label label-danger">Removed</span>
<b>The server parts which supported the Workflow feature</b> has been removed too. It was our first experiment in moving Sirius to the web, but this is now replaced by the newly published
<a href="https://www.eclipse.org/sirius/sirius-web.html">Sirius Web</a>. This corresponds to all the
<code>org.eclipse.sirius.server.*</code> plug-ins.
</li>
<li><span class="label label-success">Added</span> The method
<code>org.eclipse.sirius.business.api.query.DRepresentationDescriptorQuery.isRepresentationReachable(boolean)</code> was added to allow it to load the representation in order to verify that the representation element is reachable, not just its resource. To benefit from this new method,
<code>org.eclipse.sirius.business.api.query.DRepresentationDescriptorQuery.isRepresentationValid(boolean)</code> and
<code>org.eclipse.sirius.business.api.query.DRepresentationDescriptorQuery.DRepresentationDescriptorValidityAdapter.triggerRepresentationValidation(boolean)</code> were also created. These new methods (with a parameter value true) can be used in tests, but should not be used by the “Model explorer” view otherwise there would be no more lazy loading of representations.
</li>
</ul>
<h4 id="Changesinorg.eclipse.sirius4">Changes in
<code>org.eclipse.sirius</code>
</h4>
<ul>
<li><span class="label label-success">Added</span> The classes
<code>org.eclipse.sirius.business.api.image.ImageManager</code> and
<code>org.eclipse.sirius.business.api.image.Base64ImageHelper</code> have been added to support image management such as image creation from base64 string or image path serialization.
</li>
<li><span class="label label-success">Added</span> The class
<code>org.eclipse.sirius.business.api.query.SiriusReferenceFinderCache</code> has been added. This cache allows to avoid redundant computing to find impacted DRepresentationDescriptors returned by
<code>org.eclipse.sirius.business.api.query.SiriusReferenceFinder.getImpactedRepresentationDescriptors</code>.
</li>
<li><span class="label label-success">Added</span>
<code>org.eclipse.sirius.business.api.query.SiriusReferenceFinder.CACHE</code> is a convenience to use
<code>org.eclipse.sirius.business.api.query.SiriusReferenceFinderCache</code>.
</li>
<li><span class="label label-info">Modified</span>
<code>org.eclipse.sirius.viewpoint.SiriusPlugin</code> has been renamed to
<code>org.eclipse.sirius.tools.api.SiriusPlugin</code>
</li>
<li><span class="label label-info">Modified</span>
<code>org.eclipse.sirius.viewpoint.Messages</code> has been renamed to
<code>org.eclipse.sirius.tools.api.Messages</code>
</li>
<li><span class="label label-info">Modified</span>
<code>org.eclipse.sirius.business.api.helper.ViewpointUtil</code> has been deprecated,
<code>org.eclipse.sirius.model.business.api.helper.ViewpointUtil</code> from plugin
<code>org.eclipse.sirius.model</code> should be used instead.
</li>
<li><span class="label label-info">Modified</span>
<code>org.eclipse.sirius.business.api.resource.ResourceDescriptor</code> has been moved to
<code>org.eclipse.sirius.model</code> plugin alongside with code generated from Sirius metamodel as it is one of its data type.
</li>
<li><span class="label label-info">Modified</span> The package
<code>org.eclipse.sirius.business.api.resource</code> has been renamed to
<code>org.eclipse.sirius.business.api.resource.support</code>. Impacted classes are
<code>org.eclipse.sirius.business.api.resource.support.LoadEMFResource</code> and
<code>org.eclipse.sirius.business.api.resource.support.WorkspaceDragAndDropSupport</code>.
</li>
<li><span class="label label-info">Modified</span>
<code>org.eclipse.sirius.tools.api.ui.color.EnvironmentSystemColorFactory</code> has been moved to
<code>org.eclipse.sirius.model</code> plugin.
</li>
<li><span class="label label-info">Modified</span> Methods
<code>org.eclipse.sirius.business.api.session.danalysis.DAnalysisSelector.selectSmartlyAnalysisForAddedResource(Resource, Collection<DAnalysis>)</code> and
<code>org.eclipse.sirius.business.api.session.danalysis.DAnalysisSessionHelper.selectAnalysis(Resource, Collection<DAnalysis>, DAnalysisSelector)</code> have been deprecated for removal in a future version.
</li>
</ul>
<h4 id="Changesinorg.eclipse.sirius.common2">Changes in
<code>org.eclipse.sirius.common</code>
</h4>
<ul>
<li><span class="label label-success">Added</span> The method
<code>org.eclipse.sirius.common.tools.api.resource.FileProvider.exists(IPath)</code> and
<code>org.eclipse.sirius.common.tools.api.resource.IFileGetter.exists(IPath)</code> have been added to know if a path leads to an existing file.
</li>
</ul>
<h4 id="Changesinorg.eclipse.sirius.diagram2">Changes in
<code>org.eclipse.sirius.diagram</code>
</h4>
<ul>
<li><span class="label label-info">Modified</span>
<code>org.eclipse.sirius.diagram.DiagramPlugin</code> has been renamed to
<code>org.eclipse.sirius.diagram.tools.api.DiagramPlugin</code>.
</li>
<li><span class="label label-info">Modified</span>
<code>org.eclipse.sirius.diagram.Messages</code> has been renamed to
<code>org.eclipse.sirius.diagram.tools.api.Messages</code>.
</li>
<li><span class="label label-success">Added</span>
<code>eventShouldTriggerArrange(OperationHistoryEvent)</code> in
<code>org.eclipse.sirius.diagram.business.api.diagramtype.IDiagramDescriptionProvider</code> This method is used to avoid an arrange to be launch for a specific event if it is not necessary for a specific diagram description.
</li>
<li><span class="label label-success">Added</span>
<code>org.eclipse.sirius.diagram.business.api.helper.graphicalfilters.HideFilterHelper.hideLabel(DDiagramElement, Map<EObject, List<Integer>>)</code> has been added in order to hide a list of labels of a diagram element. This is dedicated to DEdge that can have up to 3 labels. The list of Integer correspond to the VisualID of the corresponding edge label edit part.
</li>
<li><span class="label label-success">Added</span>
<code>org.eclipse.sirius.diagram.business.api.helper.graphicalfilters.HideFilterHelper.revealLabel(DDiagramElement, Map<EObject, List<Integer>>)</code> has been added in order to reveal a list of labels of a diagram element. This is dedicated to DEdge that can have up to 3 labels. The list of Integer correspond to the VisualID of the corresponding edge label edit part.
</li>
<li><span class="label label-success">Added</span>
<code>org.eclipse.sirius.diagram.tools.api.command.IDiagramCommandFactory.buildHideLabelSelectionCommand(Set<EObject>, Map<EObject, List<Integer>>)</code> has been added to forward the labels of an edge to hide to the command.
</li>
<li><span class="label label-success">Added</span>
<code>org.eclipse.sirius.diagram.tools.api.command.IDiagramCommandFactory.buildRevealLabelSelectionCommand(DDiagramElement, Map<EObject, List<Integer>>)</code> has been added to forward the labels of an edge to reveal to the command.
</li>
<li><span class="label label-success">Added</span>
<code>org.eclipse.sirius.diagram.tools.api.command.view.HideDDiagramElementLabel.HideDDiagramElementLabel(TransactionalEditingDomain, Set<?>, Map<EObject, List<Integer>>)</code> has a new constructor in order to give the list of labels of an edge to hide.
</li>
<li><span class="label label-success">Added</span>
<code>org.eclipse.sirius.diagram.tools.api.command.view.RevealDDiagramElementsLabel.RevealDDiagramElementsLabel(TransactionalEditingDomain, Set<DDiagramElement>, Map<EObject, List<Integer>>)</code> has a new constructor in order to give the list of labels of an edge to reveal.
</li>
<li><span class="label label-success">Added</span>
<code>org.eclipse.sirius.diagram.business.api.query.DDiagramElementQuery.hasAnyHiddenLabel()</code> has been added in order to check if at least one label of a DDiagramElement is hidden.
</li>
<li><span class="label label-success">Added</span>
<code>org.eclipse.sirius.diagram.business.api.query.DDiagramElementQuery.areAllLabelsHidden()</code> has been added in order to check if at all labels of a DDiagramElement are hidden.
</li>
<li><span class="label label-success">Added</span>
<code>org.eclipse.sirius.diagram.business.api.query.DDiagramElementQuery.areAllLabelsHidden(List<Integer>)</code> has been added in order to check if at all labels of the given collection concerning a DDiagramElement are hidden.
</li>
<li><span class="label label-success">Added</span>
<code>org.eclipse.sirius.diagram.business.api.query.DDiagramElementQuery.isLabelHidden(int)</code> has been added in order to check if one label in particular of a DDiagramElement is hidden.
</li>
<li><span class="label label-success">Added</span>
<code>org.eclipse.sirius.diagram.business.api.query.DEdgeQuery.howManyLabels()</code> has been added in order to return how many labels an edge has.
</li>
<li><span class="label label-success">Added</span>
<code>org.eclipse.sirius.diagram.business.api.query.DEdgeQuery.areAllLabelsHidden()</code> has been added in order to check if at all labels of a DEdge are hidden.
</li>
</ul>
<h4 id="Changesinorg.eclipse.sirius.diagram.model">Changes in
<code>org.eclipse.sirius.diagram.model</code>
</h4>
<ul>
<li><span class="label label-danger">Removed</span> The
<code>DiagramDescription::allTools</code> operation has been removed from the Diagram metamodel. The corresponding method has been removed from generated code. Calls to
<code>org.eclipse.sirius.diagram.description.DiagramDescription.getAllTools()</code> should be replaced by
<code>new org.eclipse.sirius.diagram.business.api.query.DiagramDescriptionQuery(diagramDescription).getAllTools()</code>.
</li>
<li><span class="label label-danger">Removed</span> The
<code>DiagramDescription::allEdgeMappings</code> operation has been removed from the Diagram metamodel. The corresponding method has been removed from generated code. Calls to
<code>org.eclipse.sirius.diagram.description.DiagramDescription.getAllEdgeMappings()</code> should be replaced by
<code>org.eclipse.sirius.diagram.business.internal.metamodel.helper.ContentHelper.getAllEdgeMappings(diagramDescription, false)</code> alongside with the getAllNodeMappings and getAllContainerMappings methods.
</li>
</ul>
<h4 id="Changesinorg.eclipse.sirius.diagram.ui6">Changes in
<code>org.eclipse.sirius.diagram.ui</code>
</h4>
<ul>
<li><span class="label label-success">Added</span> The class
<code>org.eclipse.sirius.diagram.ui.business.api.image.WorkspaceImageHelper</code> has been added, it includes most of the methods that previously existed in
<code>org.eclipse.sirius.diagram.ui.business.api.image.ImageSelectorService</code>. The affected methods are:
<ul>
<li><span class="label label-success">Added</span>
<code>org.eclipse.sirius.diagram.ui.business.api.image.WorkspaceImageHelper.updateStyle(BasicLabelStyle, String)</code>, which was previously
<code>org.eclipse.sirius.diagram.ui.business.api.image.ImageSelectorService.updateStyle(BasicLabelStyle, String)</code>.
</li>
<li><span class="label label-success">Added</span>
<code>org.eclipse.sirius.diagram.ui.business.api.image.WorkspaceImageHelper.updateWorkspacePath(BasicLabelStyle, String)</code>, which was previously
<code>org.eclipse.sirius.diagram.ui.business.api.image.ImageSelectorService.updateWorkspacePath(BasicLabelStyle, String)</code>.
</li>
</ul>
</li>
<li><span class="label label-success">Added</span>
<code>org.eclipse.sirius.diagram.ui.business.api.image.ImageSelectionDialog</code> has been added to replace the
<code>org.eclipse.sirius.common.ui.tools.api.resource.WorkspaceResourceDialogWithFilter</code> dialog which was used to select a background image for a diagram element.
<code>org.eclipse.sirius.diagram.ui.business.api.image.ImageSelectionDialog</code> now provides a new simpler and more complete UI.
</li>
<li><span class="label label-success">Added</span>
<code>org.eclipse.sirius.diagram.ui.business.api.image.ITreeImagesContentProvider</code> has been added to allow the implementation of an
<code>org.eclipse.jface.viewers.ITreeContentProvider</code> that can be used by
<code>org.eclipse.sirius.diagram.ui.business.api.image.ImageSelectionDialog</code> to retrieve image information.
</li>
<li><span class="label label-success">Added</span>
<code>org.eclipse.sirius.diagram.ui.business.api.image.ImageFiltersUtils</code> provides the filter used by the TreeViewer in the
<code>ImageSelectionDialog</code> as well as various utility methods to identify the supported image formats.
</li>
<li><span class="label label-success">Added</span>
<code>org.eclipse.sirius.diagram.ui.business.api.image.GallerySelectable</code> provides an implementation of
<code>org.eclipse.sirius.diagram.ui.tools.internal.dialogs.widgets.gallery.Gallery</code> which allows to select items in the gallery. This is mostly used in tests.
<code>GallerySelectable</code> allows to use the
<code>org.eclipse.sirius.diagram.ui.tools.internal.dialogs.widgets.gallery.Gallery</code> in
<code>ImageSelectionDialog</code> implementations.
</li>
<li><span class="label label-success">Added</span> 2 methods have been added in
<code>org.eclipse.sirius.diagram.ui.tools.api.editor.DDiagramEditor</code>:
<code>enableFireNotification()</code> to enable the fire notification, ie it causes the editor to fire selection changed notification to all listeners when
<code>SelectionManager#fireSelectionChanged()</code> is called, and
<code>disableFireNotification()</code> to disable it. It is used internally, among others, to disable the notification during a drag’n’drop of an element or during the reconnection of an edge.
</li>
<li><span class="label label-info">Modified</span>
<code>org.eclipse.sirius.diagram.ui</code> now depends on GMF Runtime 1.14.0, which itself uses Apache Batik 1.14.0 to support SVG (both rendering SVG images on diagrams and exporting diagrams to SVG files). As a result, exporting diagrams to PDF is not supported anymore (as GMF Runtime 1.14.0 itself has dropped support for this).
</li>
<li><span class="label label-info">Modified</span>
<code>org.eclipse.sirius.diagram.ui.business.api.image.ImageSelector</code> has been modified to support multiple image selection. The enum
<code>org.eclipse.sirius.diagram.ui.business.api.image.ImageSelector.SelectionMode</code> can be used to define the selection mode supported:
<code>MONO_SELECTION</code> for a single selection or
<code>MULTI_SELECTION</code> for a multiple selection. The method
<code>org.eclipse.sirius.diagram.ui.business.api.image.ImageSelector.selectImages(EObject, SelectionMode)</code> has been updated to handle this selection mode as a parameter and now returns the list of selected images as a
<code>List<String></code>.
</li>
<li><span class="label label-info">Modified</span> The class
<code>org.eclipse.sirius.diagram.ui.business.api.image.WorkspaceImageSelector</code> has been modified to implement the interface
<code>ImageSelector</code> and the update of its
<code>ImageSelector.selectImages(EObject, SelectionMode)</code> method.
</li>
<li><span class="label label-info">Modified</span>
<code>org.eclipse.sirius.diagram.ui.business.api.image.ImageSelectorService</code> has been split in a new lighter
<code>ImageSelectorService</code> which aims to get an
<code>ImageSelector</code>. The other methods have been moved to
<code>org.eclipse.sirius.diagram.ui.business.api.image.WorkspaceImageHelper</code>.
</li>
<li><span class="label label-success">Added</span>
<code>org.eclipse.sirius.diagram.ui.tools.internal.util.EditPartQuery.getVisualID()</code> has been added in order to return the VisualID field value if there is one.
</li>
<li><span class="label label-success">Added</span>
<code>org.eclipse.sirius.diagram.ui.tools.api.figure.FigureQuery.edgeLabelViewConstantToVisualID(int)</code> has been added in order to convert LabelViewConstant values to the equivalent VisualID from the label edit parts.
</li>
<li><span class="label label-success">Added</span>
<code>org.eclipse.sirius.diagram.ui.tools.api.figure.SiriusWrapLabelWithAttachment.getLocationField()</code> was added in order to have a public access to the location value.