Move 6.4.x documentation into its own folder

Change-Id: Ief42d7830bac5474483956b581346eeb9daea80c
Signed-off-by: Pierre-Charles David <pierre-charles.david@obeo.fr>
diff --git a/doc/6.4.x/Glossary.html b/doc/6.4.x/Glossary.html
new file mode 100644
index 0000000..b4927d2
--- /dev/null
+++ b/doc/6.4.x/Glossary.html
@@ -0,0 +1,84 @@
+<?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>Glossary</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="Glossary" class="page-header">Glossary</h1>
+
+    <p>This document provides definitions for the technical terms and concepts used in
+      Sirius, and in particular in the rest of this documentation.</p><p>For concepts
+      which concern end-users, it assumes some basic knowledge of Eclipse terminology. If
+      you are not familiar with it, please refer to the Eclipse documentation itself. For
+      concepts targeted to specifier (and developers), it also assumes knowledge of EMF
+      and relegated technologies (including Java for developers). Again, refer to the
+      documentation of these frameworks or tools as needed.</p>
+
+  <dl>
+    <dt id="Dialect">Dialect</dt>
+    <dd>A kind of representation supported by Sirius. Out of the box, Sirius
+      supports three dialects: diagrams, tables, and trees. Sequence diagrams and
+      cross-tables, which are special kinds of diagrams (resp. tables) can also be though
+      of as dialects, although technically they are not.</dd>
+
+    <dt id="ModelingProject">Modeling Project</dt>
+    <dd>A special kind of project in your workspace which makes it easy to manipulate
+      representation files and semantic models in a consistent way.</dd>
+
+    <dt id="Representation">Representation</dt>
+    <dd>A particular diagram, table, or tree which you created on your semantic model. It
+      is simply a more general term than &#171;diagram&#187; which is also usable for
+      other dialects.</dd>
+
+    <dt id="RepresentationFile">Representation File</dt>
+    <dd>A file in which Sirius stores all informations related to which representations you created,
+      what appears on them, the positions and colors of the elements, etc. This files have a
+      <code>.aird</code> extension (typically <code>representations.aird</code>).
+      Representation files reference the semantic model(s) they contain representations
+      for, but you semantic models are kept unaware (and unpolluted) of any
+      Sirius-specific data.</dd>
+
+    <dt id="Resource">Resource</dt>
+    <dd>A generic term for a file (in your workspace or inside a plug-in) which contains a
+      model. The file extension (e.g. <code>.uml</code>) indicates what kind of semantic
+      model it contains.</dd>
+
+    <dt id="SemanticModel">Semantic Model</dt>
+    <dd>The model (or models) which contains your business data. It can be stored in one
+      of several resources (files) which can reference each other. The type of semantic
+      model can be different for each user. It can be based on a standard (for
+      example <code>.uml</code> files for UML models) or based on a <em>Domain Specific Model</em>
+      (sometimes called <em>Domain Specific Language</em>) which was specially
+      created for your needs.</dd>
+    
+    <dt id="Viewpoint">Viewpoint</dt>
+    <dd>A set of consistent representation descriptions which provide a specific point of
+      view on some kind of semantic model. For example we could have a <em>UML Structural</em>
+      viewpoint, which describes the sub-set of all the standard UML
+      diagrams which deal only with structural aspects of UML models (as opposed to
+      behavioral or requirements aspects). Viewpoints are defined in
+      <em>Viewpoint Specification Models</em> and packaged as Eclipse plug-ins. Once you install such a
+      plug-in, the viewpoints it defines will be available to you (with all the representations
+      they define) on all compatible semantic models.</dd>
+    
+    <dt id="VSM_">VSM</dt>
+    <dd>See <a href="#VSM">Viewpoint Specification Model</a>.</dd>
+
+    <dt id="VSM">Viewpoint Specification Model</dt>
+    <dd>The model, stored in resources with the <code>.odesign</code> extension, in which an architect
+      defines and configures viewpoints and their associated representations.</dd>
+
+    <dt id="VSP_">VSP</dt>
+    <dd>See <a href="#VSP">Viewpoint Specification Project</a>.</dd>
+
+    <dt id="VSP">Viewpoint Specification Project</dt>
+    <dd>An Eclipse plug-in project which contains a <a href="#VSM">VSM</a> and registers it using the
+      proper extension point so that it can be deployed correctly.</dd>
+  </dl>
+  
+  </body>
+</html>
diff --git a/doc/6.4.x/Release_Notes.html b/doc/6.4.x/Release_Notes.html
new file mode 100644
index 0000000..f438a0f
--- /dev/null
+++ b/doc/6.4.x/Release_Notes.html
@@ -0,0 +1,1720 @@
+<?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="ReleaseNotesforSirius">Release Notes for Sirius</h1>
+		<ol class="toc" style="list-style: disc;">
+			<li>
+				<a href="#ReleaseNotesforSirius">Release Notes for Sirius</a>
+				<ol style="list-style: disc;">
+					<li>
+						<a href="#sirius6.4.2">Changes in Sirius 6.4.2</a>
+					</li>
+					<li>
+						<a href="#sirius6.4.1">Changes in Sirius 6.4.1</a>
+					</li>
+					<li>
+						<a href="#sirius6.4.0">Changes in Sirius 6.4.0</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="#sirius6.3.2">Changes in Sirius 6.3.2</a>
+						<ol style="list-style: disc;">
+							<li>
+								<a href="#UserVisibleChanges2">User-Visible Changes</a>
+							</li>
+							<li>
+								<a href="#DeveloperVisibleChanges2">Developer-Visible Changes</a>
+							</li>
+						</ol>
+					</li>
+					<li>
+						<a href="#sirius6.3.1">Changes in Sirius 6.3.1</a>
+						<ol style="list-style: disc;">
+							<li>
+								<a href="#UserVisibleChanges3">User-Visible Changes</a>
+							</li>
+							<li>
+								<a href="#DeveloperVisibleChanges3">Developer-Visible Changes</a>
+							</li>
+						</ol>
+					</li>
+					<li>
+						<a href="#sirius6.3.0">Changes in Sirius 6.3.0</a>
+						<ol style="list-style: disc;">
+							<li>
+								<a href="#UserVisibleChanges4">User-Visible Changes</a>
+							</li>
+							<li>
+								<a href="#SpecifierVisibleChanges2">Specifier-Visible Changes</a>
+							</li>
+							<li>
+								<a href="#DeveloperVisibleChanges4">Developer-Visible Changes</a>
+							</li>
+						</ol>
+					</li>
+					<li>
+						<a href="#sirius6.2.2">Changes in Sirius 6.2.2</a>
+					</li>
+					<li>
+						<a href="#sirius6.2.1">Changes in Sirius 6.2.1</a>
+						<ol style="list-style: disc;">
+							<li>
+								<a href="#DeveloperVisibleChanges5">Developer-Visible Changes</a>
+							</li>
+						</ol>
+					</li>
+					<li>
+						<a href="#sirius6.2.0">Changes in Sirius 6.2.0</a>
+						<ol style="list-style: disc;">
+							<li>
+								<a href="#UserVisibleChanges5">User-Visible Changes</a>
+							</li>
+							<li>
+								<a href="#SpecifierVisibleChanges3">Specifier-Visible Changes</a>
+							</li>
+							<li>
+								<a href="#DeveloperVisibleChanges6">Developer-Visible Changes</a>
+							</li>
+						</ol>
+					</li>
+					<li>
+						<a href="#sirius6.1.2">Changes in Sirius 6.1.2</a>
+						<ol style="list-style: disc;">
+							<li>
+								<a href="#UserVisibleChanges6">User-Visible Changes</a>
+							</li>
+							<li>
+								<a href="#DeveloperVisibleChanges7">Developer-Visible Changes</a>
+							</li>
+						</ol>
+					</li>
+					<li>
+						<a href="#sirius6.1.1">Changes in Sirius 6.1.1</a>
+						<ol style="list-style: disc;">
+							<li>
+								<a href="#Changesinorg.eclipse.sirius.diagram5">Changes in  @org.eclipse.sirius.diagram@</a>
+							</li>
+						</ol>
+					</li>
+					<li>
+						<a href="#sirius6.1.0">Changes in Sirius 6.1.0</a>
+						<ol style="list-style: disc;">
+							<li>
+								<a href="#UserVisibleChanges7">User-Visible Changes</a>
+							</li>
+							<li>
+								<a href="#SpecifierVisibleChanges4">Specifier-Visible Changes</a>
+							</li>
+							<li>
+								<a href="#DeveloperVisibleChanges8">Developer-Visible Changes</a>
+							</li>
+						</ol>
+					</li>
+					<li>
+						<a href="#sirius6.0.0">Changes in Sirius 6.0.0</a>
+						<ol style="list-style: disc;">
+							<li>
+								<a href="#UserVisibleChanges8">User-Visible Changes</a>
+							</li>
+							<li>
+								<a href="#SpecifierVisibleChanges5">Specifier-Visible Changes</a>
+							</li>
+							<li>
+								<a href="#DeveloperVisibleChanges9">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="sirius6.4.2">Changes in Sirius 6.4.2</h2>
+		<p>This is service release with only bug fixes and minor improvements related to the new copy/paste format API introduced in 6.4.0.</p>
+		<h2 id="sirius6.4.1">Changes in Sirius 6.4.1</h2>
+		<p>This is service release to fix two issues which were not detected in time for 6.4.0. The issues only impact a new API which was introduced in 6.4.0 (Bug 563117 - 
+			<em>Copy format to existing/new diagram based on source to target semantic elements mapping</em>).
+		</p>
+		<p>Users who want to use this specific feature are encouraged to move to 6.4.1. The bugs have zero impact on the rest of Sirius so there is no need to update if you do not use this specific API.</p>
+		<h2 id="sirius6.4.0">Changes in Sirius 6.4.0</h2>
+		<p><span class="label label-info">Important</span> In order to reduce the maintenance burden of Sirius, we have decided to deprecate some older mechanisms for which there exist better alternatives. In Sirius 6.4.x all of these are still available, but they may be removed in future versions
+			<br/>(6.5 or 7.0) without further notice. If any of these planned removals are an issue for you, please 
+			<a href="https://bugs.eclipse.org/bugs/enter_bug.cgi?product=Sirius">open a ticket</a> so we can discuss options.
+		</p>
+		<p>The features which are deprecated starting from 6.4.0 are:</p>
+		<ul>
+			<li>
+				<b>Exporting diagrams as GIF, BMP or PDF</b>. We will focus on PNG and JPG support for raster formats, and SVG for vector formats. If you need another image format, use an external tool to do the conversion.
+			</li>
+			<li>
+				<b>OCL expressions in VSMs (
+					<code>odesign</code> files)
+				</b>, as supported by the 
+				<code>org.eclipse.sirius.common.ocl</code> plug-in. Use AQL expressions instead.
+			</li>
+			<li>
+				<b>The &#8220;Workflow&#8221; feature</b>. 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>
+				<b>The server parts which supported the Workflow feature</b>. 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>
+		</ul>
+		<p>Also note that Sirius 6.4 is still compatible with Java 8, but we may move to Java 11 (LTS) in 2021. Eclipse 2020-09 already requires Java 11 to start, and Java 8 is quite old at this point. When we move to Java 11 we will drop support for Eclipse versions older than 2020-09. Again, if that is an issue for you, please open a ticket so we can discuss it.</p>
+		<p>Sirius 6.4 is officially supported on Eclipse 2020-03 to 2020-12, with Eclipse 2020-06 being the reference platform (where the tests are run and verified). It most likely works fine with any Eclipse from 2019-06 onward, but this is not guaranteed.</p>
+		<h3 id="UserVisibleChanges">User-Visible Changes</h3>
+		<ul>
+			<li><span class="label label-success">Added</span> With a non modeling project (a.k.a. legacy project), a &#8220;Invalid representations&#8221; section is displayed under the aird node. It is displayed only if a representation is invalid in the Sirius Session.</li>
+		</ul>
+		<h3 id="SpecifierVisibleChanges">Specifier-Visible Changes</h3>
+		<p>Several improvements have been done concerning ELK integration. This feature is always considered as experimental (because several bugs remain). Additional documentation is available 
+			<a href="specifier/diagrams/Diagrams.html#useElk">here</a> .
+		</p>
+		<h3 id="DeveloperVisibleChanges">Developer-Visible Changes</h3>
+		<ul>
+			<li><span class="label label-success">Added</span> 
+				<code>org.eclipse.sirius.ui.tools.api.dialogs.AnalysisSelectorFilteredItemsSelectionDialog</code> has been created in order to have custom analysis selector provider able to modify the analysis selector dialog.
+			</li>
+			<li><span class="label label-success">Added</span> The method 
+				<code>org.eclipse.sirius.tools.api.command.ui.UICallBack.askUserToRefreshTheDiagram()</code> has been added. It is used to ask the user to refresh the representation when something wrong happens when opening the editor. This method allows to skip the UI part.
+			</li>
+			<li><span class="label label-success">Added</span> The method 
+				<code>org.eclipse.sirius.ui.business.api.dialect.DialectEditor.isLastRepresentationRefreshSucceeded()</code> to know if the last refresh done in the editor has succeeded.
+			</li>
+			<li><span class="label label-info">Modified</span> Upgraded ELK version from 0.6.1 to 0.7.0, see the 
+				<a href="https://projects.eclipse.org/projects/modeling.elk/releases/0.7.0">ELK documentation</a> for the list of changes in that version (and previous).
+			</li>
+		</ul>
+		<h4 id="Changesinorg.eclipse.sirius">Changes in  
+			<code>org.eclipse.sirius</code>
+		</h4>
+		<ul>
+			<li><span class="label label-info">Modified</span> The method  
+				<code>org.eclipse.sirius.business.api.session.danalysis.DAnalysisSelectorProvider.getPriority()</code> has been added. It is used in 
+				<code>org.eclipse.sirius.business.api.session.danalysis.DAnalysisSelectorService.getSelector(DAnalysisSession)</code> to ensure that the right DAnalysisSelector is used. The DAnalysisSelector is searched first with the DAnalysisSelectorProvider with higher priority.
+			</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> A new method, 
+				<code>org.eclipse.sirius.common.tools.api.util.CommandStackUtil.flushOperations(CommandStack)</code> has been added to flush the command stack. By default the 
+				<code>CommandStack.flush()</code> &#8220;disposes all the commands in the stack&#8221;. Concretely, it removes the default context from the list of contexts of all operations. And operations without context, after this, are removed from history. In several cases, it is not enough. The 
+				<code>ResourceUndoContext</code> must also be removed. This is what this method done to really removed operations from IOperationHistory. This method was already used in 
+				<code>org.eclipse.sirius.business.internal.session.danalysis.DAnalysisSessionImpl</code>, it has been extracted from here.
+			</li>
+			<li><span class="label label-success">Added</span> A new query, 
+				<code>org.eclipse.sirius.common.tools.api.query.IllegalStateExceptionQuery.isAConnectionLostException()</code>, has been added to detect a specific kind of 
+				<code>IllegalStateException</code>. In a collaborative environment, Obeo Designer Team Edition or Team For Capella for example, when the data is hosted on a server, the connection with the server can be lost. Sirius is not ready to handle this context. If Sirius tries to access to data, for example with an async refresh of the UI that needs information from data to be refreshed, a 
+				<code>org.eclipse.net4j.util.lifecycle.LifecycleException</code> is thrown with the message 
+				<code>"Not active: CDOTransactionImpl"</code>. This kind of errors is showed to the end-user instead of silently be caught. Indeed, in this situation, the UI should be refreshed with &#8220;blank data&#8221; instead of displaying an &#8220;incomprehensible&#8221; popup to the end-user. This new query allows to detect this specific case. The template to use it is:
+			</li>
+		</ul>
+		<pre><code>try {
+    //code to protect
+} catch (IllegalStateException e) {
+	if (new IllegalStateExceptionQuery(e).isAConnectionLostException()) {
+	    // Generally catch silently the exception
+	} else {
+	    throw e;
+	}
+}
+
+</code></pre>
+		<h4 id="Changesinorg.eclipse.sirius.diagram.ui">Changes in  
+			<code>org.eclipse.sirius.diagram.ui</code>
+		</h4>
+		<ul>
+			<li><span class="label label-success">Added</span> A new method, 
+				<code>getDefaultDimension()</code> has been added in 
+				<code>org.eclipse.sirius.diagram.ui.edit.api.part.AbstractDiagramElementContainerEditPart()</code>. This method was already used previously in Sirius but was private. It is now public and is used for example for having information during ELK layout.
+			</li>
+			<li><span class="label label-success">Added</span> A new method, 
+				<code>layoutEditParts(List, IAdaptable, boolean)</code> has been added in 
+				<code>org.eclipse.sirius.diagram.ui.tools.api.layout.provider.AbstractLayoutProvider</code>. It allows for implementations to do specific code according to the arrangeAll or arrangeSelection aspect when layoutEditParts is called. By default, the code called is the same than the 
+				<code>org.eclipse.gmf.runtime.diagram.ui.services.layout.AbstractLayoutEditPartProvider.layoutEditParts(List, IAdaptable)</code> implementation.
+			</li>
+			<li><span class="label label-success">Added</span> A new method, 
+				<code>useStandardArrangeSelectionMechanism()</code> has been added in 
+				<code>org.eclipse.sirius.diagram.ui.api.layout.CustomLayoutAlgorithm</code> to know if a specific layout algorithm relies on the behavior of 
+				<code>org.eclipse.sirius.diagram.ui.tools.internal.layout.provider.ArrangeSelectionLayoutProvider</code>. Previously, this was the case for all layout algorithm but it can be useful to disable it (for ELK layout for example). This method is associated with 
+				<code>org.eclipse.sirius.diagram.ui.api.layout.CustomLayoutAlgorithm.CustomLayoutAlgorithmBuilder.setStandardArrangeSelectionMechanism(boolean)</code>
+			</li>
+			<li><span class="label label-success">Added</span> A new API in 
+				<code>org.eclipse.sirius.diagram.ui.tools.api.format.MappingBasedSiriusFormatManagerFactory</code> has been added to make it possible to apply a copy-paste format to an existing or a new diagram with different semantic targets. This API receives a mapping between the source and target semantic elements to retrieve which graphical element in the target diagram corresponds to the one in source diagram. See the 
+				<a href="developer/copy_paste_format_new_semantic.html">developer</a> documentation for more details. 
+				<strong>NOTE:</strong> The initial version of this new API available in Sirius 6.4.0 has a few issues that have been fixed in 6.4.1. If you wan to leverage this new API you are encouraged to use Sirius 6.4.1.
+			</li>
+		</ul>
+		<h4 id="Changesinorg.eclipse.sirius.ui">Changes in  
+			<code>org.eclipse.sirius.ui</code>
+		</h4>
+		<ul>
+			<li><span class="label label-success">Added</span> A new method, 
+				<code>preClose()</code> has been added in 
+				<code>org.eclipse.sirius.ui.business.api.dialect.DialectEditor</code>. This method is called in sync when the editor is asking to be closed (the real closure is done in async). This allows to dispose actions, for example, as soon as the closure is requested. There is a default implementation, that does nothing, for all dialect editors.
+			</li>
+		</ul>
+		<h4 id="Changesinorg.eclipse.sirius.tests.junit.support">Changes in  
+			<code>org.eclipse.sirius.tests.junit.support</code>
+		</h4>
+		<ul>
+			<li><span class="label label-success">Added</span> New methods have been added to 
+				<code>org.eclipse.sirius.tests.support.api.TestsUtil</code> to check the current Java runtime version. The parameter is the expected version of Java, i.e: ...7, 8, 9, ..., 13, 14, ...
+				<ul>
+					<li>
+						<code>isJavaVersion(int)</code>
+					</li>
+					<li>
+						<code>isJavaVersionOrOlder(int)</code>
+					</li>
+					<li>
+						<code>isJavaVersionOrNewer(int)</code>
+					</li>
+				</ul>
+			</li>
+			<li><span class="label label-success">Added</span> The method 
+				<code>org.eclipse.sirius.tests.support.api.SiriusTestCase.waitSaveSessionJob()</code> has been added to ensure that the SaveSessionJob, potentially triggered by 
+				<code>org.eclipse.sirius.ui.business.internal.session.SaveSessionWhenNoDialectEditorsListener.statusChangedInternal(Collection&lt;ResourceStatusChange&gt;)</code> is finished before continue. It can be call, for example, after changing the list of selected viewpoints, without any editor opened.
+			</li>
+		</ul>
+		<h2 id="sirius6.3.2">Changes in Sirius 6.3.2</h2>
+		<h3 id="UserVisibleChanges2">User-Visible Changes</h3>
+		<ul>
+			<li><span class="label label-info">Modified</span> In diagrams, the display of the label of the compartments has been improved. When there is not enough space to display the label of the compartment container or the contained compartments, it is displayed on multiple lines. Refer to 
+				<a href="user/diagrams/Diagrams.html#Compartments">Compartment section</a> for more information.
+			</li>
+		</ul>
+		<p>A consequence is that the display of existing compartments in diagrams may be changed. When refreshing the existing diagram, the project may become dirty.</p>
+		<ul>
+			<li><span class="label label-info">Modified</span> In Sirius 6.3.1, the behavior for the labels of operands, in sequence diagrams, has been changed. Since Sirius 6.3.1, they are drawn on top of the rest of the diagram elements so that they are always completely visible. Since Sirius 6.3.2, this is now the same for labels of combined fragment. Indeed, the problem was the same:</li>
+		</ul> 
+		<img border="0" src="images/combined_fragment_label_before.png"/> With Sirius 6.3.2, the label is now on the top of execution: 
+		<img border="0" src="images/combined_fragment_label_after.png"/>
+		<h3 id="DeveloperVisibleChanges2">Developer-Visible Changes</h3>
+		<h4 id="Changesinorg.eclipse.sirius.common2">Changes in  
+			<code>org.eclipse.sirius.common</code>
+		</h4>
+		<ul>
+			<li><span class="label label-success">Added</span> In the 
+				<code>org.eclipse.sirius.common.package_meta_data</code> extension point, it is now possible for a given metamodel (nsURI) to declare some EClasses as potential DocumentRoots. This is needed with some XSD-derived metamodels which normally declare some of their containment references as transient to make sure Sirius will properly consider these classes (and their contents) as needing to be serialized. 
+			</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 class 
+				<code>org.eclipse.sirius.diagram.ui.graphical.figures.OverlayLabelsDrawerFigure</code> is a &#8220;virtual&#8221; figure that should be added to the 
+				<code>DDiagramRootEditPart#OVERLAY_LAYER</code> and which paints all the overlay labels (instance of 
+				<code>OverlayLabel</code>) on top of the rest of the diagram to make sure they are always readable. This figure is currently only used by sequence diagrams for operand labels(
+				<code>org.eclipse.sirius.diagram.sequence.ui.tool.internal.edit.part.OperandEditPart</code>) and combined fragment labels (
+				<code>org.eclipse.sirius.diagram.sequence.ui.tool.internal.edit.part.CombinedFragmentEditPart</code>). 
+			</li>
+			<li><span class="label label-success">Added</span> The class 
+				<code>org.eclipse.sirius.diagram.ui.graphical.figures.OverlayLabel</code> is a special label that can be painted or not, on the OVERLAY layer, depending on the current context/layer.
+			</li>
+			<li><span class="label label-success">Added</span> A new field, 
+				<code>useOverlayLabel</code>, has been added in 
+				<code>org.eclipse.sirius.diagram.ui.edit.api.part.AbstractDiagramElementContainerEditPart</code>. Its value can be changed with 
+				<code>setUseOverlayLabel(boolean)</code> and accessed through 
+				<code>useOverlayLabel()</code>. This new field allows to use an 
+				<code>OverlayLabel</code> for the figure of this edit part.
+			</li>
+			<li><span class="label label-success">Added</span> A new constructor has been added for class 
+				<code>org.eclipse.sirius.diagram.ui.tools.api.figure.GradientRoundedRectangle</code> to allow the use of 
+				<code>OverlayLabel</code> for this kind of figure (
+				<code>GradientRoundedRectangle(Dimension, int, View, boolean)</code>).
+			</li>
+		</ul>
+		<h2 id="sirius6.3.1">Changes in Sirius 6.3.1</h2>
+		<p>
+			<strong>IMPORTANT NOTE:</strong> Sirius 6.3.1 includes a change in internal data structures used to store diagrams which is not backward-compatible with previous versions, including Sirius 6.3.0. In practice this means that once opened and saved with Sirius 6.3.1, 
+			<code>aird</code> files can no longer be opened with Sirius 6.3.0 or earlier.
+		</p>
+		<h3 id="UserVisibleChanges3">User-Visible Changes</h3>
+		<ul>
+			<li><span class="label label-success">Added</span> A new type of jump link has been added in Sirius 6.3.1. As reminder, a jump link is a way to graphically improve the way how 2 edges intersect. This new type is graphically represented by a blank line instead of the classical &#8220;jump&#8221;. This new type is documented in the 
+				<a href="user/diagrams/Diagrams.html#Appearance">Appearance</a> section of edge Properties view.
+			</li>
+			<li><span class="label label-success">Added</span> New preferences have been added to allow to override the default values of jump links properties. They are documented in the 
+				<a href="user/diagrams/Diagrams.html#Connections">Connections</a> section of the Preferences.
+			</li>
+			<li><span class="label label-info">Modified</span> When the end-user changes the routing style of an edge into Oblique style (from a different style), the edge is now transformed into an oblique line without intermediate bendpoints.</li>
+			<li><span class="label label-info">Modified</span> In sequence diagrams, the labels of operands (sections inside combined fragments) could be partially hidden by other diagram elements, for exemple executions:</li>
+		</ul> 
+		<img border="0" src="images/operand_label_before.png"/> They are now drawn on top of the rest of the diagram elements so that they are always completely visible: 
+		<img border="0" src="images/operand_label_after.png"/>
+		<ul>
+			<li><span class="label label-danger">Removed</span> The feature concerning the capability to move labels on border of node, or border node, all around the node, added in 6.3.0, has been reverted. There are unexpected side effects (wrong location after a rename of a label for example).</li>
+		</ul>
+		<h3 id="DeveloperVisibleChanges3">Developer-Visible Changes</h3>
+		<ul>
+			<li><span class="label label-info">Modified</span> Upgraded ELK version from 0.5.0 to 0.6.1, see the 
+				<a href="https://projects.eclipse.org/projects/modeling.elk/releases/0.6.1">ELK documentation</a> for the list of changes in that version (and previous).
+			</li>
+			<li><span class="label label-info">Modified</span> Sirius now requires GMF Notation &amp; Runtime 1.13.0.</li>
+			<li><span class="label label-info">Modified</span> 
+				<code>org.eclipse.sirius.diagram.ui.tools.api.graphical.edit.styles.SimpleStyleConfiguration.isShowIcon(DDiagramElement, IGraphicalEditPart)</code> is now protected instead of private.
+			</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> New preferences key have been added in 
+				<code>org.eclipse.sirius.diagram.tools.api.preferences.SiriusDiagramCorePreferences</code>:
+				<ul>
+					<li>
+						<code>PREF_JUMP_LINK_ENABLE_OVERRIDE</code>: Id of the preference that says if the override of jump links preferences is enabled or not.
+					</li>
+					<li>
+						<code>PREF_JUMP_LINK_ENABLE_OVERRIDE_DEFAULT_VALUE</code>: Default value for override of jump link preference, equals to 
+						<code>false</code>.
+					</li>
+					<li>
+						<code>PREF_JUMP_LINK_STATUS</code>: Id of the preference used to know the default jump link status if the override of connection jump links preferences is enabled.
+					</li>
+					<li>
+						<code>PREF_JUMP_LINK_STATUS_DEFAULT_VALUE</code>: Default value of above preference, equals to 
+						<code>JumpLinkStatus#NONE</code>.
+					</li>
+					<li>
+						<code>PREF_JUMP_LINK_TYPE</code>:  Id of the preference used to know the default jump link type if the override of connection jump links preferences is enabled.
+					</li>
+					<li>
+						<code>PREF_JUMP_LINK_TYPE_DEFAULT_VALUE</code>: Default value of above preference, equals to 
+						<code>JumpLinkType#SEMICIRCLE</code>.
+					</li>
+					<li>
+						<code>PREF_REVERSE_JUMP_LINK</code>: Id of the preference used to know if reverse of the jump link is enabled or not,  if the override of connection jump links preferences is enabled.
+					</li>
+					<li>
+						<code>PREF_REVERSE_JUMP_LINK_DEFAULT_VALUE</code>: Default value for reverse jump link preference, equals to 
+						<code>false</code>.
+					</li>
+				</ul>
+			</li>
+		</ul>
+		<h4 id="Migrations">Migrations</h4>
+		<ul>
+			<li><span class="label label-success">Added</span> A migration participant has been added only to change the version of the model. Indeed, if the new value &#8220;Tunnel&#8221; of GMF jump link type is used, see &#8220;User-Visible Changes&#8221; in 
+				<a href="Release_Notes.html#sirius6.3.1">Sirius 6.1.3</a>, the model will be invalid for an older version of Sirius. The corresponding version, stored in attribute version of viewpoint:DAnalysis of the aird file, is 
+				<em>14.3.1.202003101500</em>.
+			</li>
+			<li><span class="label label-info">Modified</span> The migration participant 
+				<code>LabelOnBorderMigrationParticipant</code> has been updated to revert the effect of itself. This migration participant has been added in Sirius 6.3.0 according to buzgilla 
+				<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=550382">550382</a>. The new feature added in this bugzilla was imperfect so it is decided to revert it. The new corresponding version, stored in attribute version of viewpoint:DAnalysis of the aird file, is 
+				<em>14.3.1.202003261200</em>.
+			</li>
+		</ul>
+		<h4 id="TranslationKeysChanges">Translation Keys Changes</h4>
+		<p>See 
+			<a href="i18n_changes.html#sirius631">this document</a> for the complete list of message keys added or removed in Sirius 6.3.1.
+		</p>
+		<h2 id="sirius6.3.0">Changes in Sirius 6.3.0</h2>
+		<h3 id="UserVisibleChanges4">User-Visible Changes</h3>
+		<ul>
+			<li><span class="label label-success">Added</span> It is now possible to move labels on border of node, or border node, all around the node. Before, for label larger than the node, only centered location was authorized on North or South side.</li>
+			<li><span class="label label-info">Modified</span> The GIF and BMP formats which are currently supported when exporting diagrams as images should be considered 
+				<em>deprecated</em>. Their support may be removed in a future version, as they cause various issues depending on the platform and increase the maintenance costs for little value. If you really need diagram images in these formats, you can export in PNG (which is lossless), and convert the image into the required format using an external tool.
+			</li>
+		</ul>
+		<h3 id="SpecifierVisibleChanges2">Specifier-Visible Changes</h3>
+		<ul>
+			<li><span class="label label-success">Added</span> A new column 
+				<code>Target</code> has been added in the dialog allowing to choose layout options to override for ELK layout algorithms. It describes the element to which the option applies. The filter textfield in that dialog also applies on columns&amp; 
+				<code>Name</code>, 
+				<code>Targets</code> and 
+				<code>Type</code>.
+			</li>
+		</ul>
+		<h3 id="DeveloperVisibleChanges4">Developer-Visible Changes</h3>
+		<ul>
+			<li><span class="label label-info">Modified</span> Upgraded ELK version from 0.4.1 to 0.5.0, see the <a href="https://projects.eclipse.org/projects/modeling.elk/releases/0.5.0" target="_blank">ELK documentation</a> for the list of changes in that version.</li>
+			<li><span class="label label-info">Modified</span> Upgraded EEF version from 2.1.2 to 2.1.3 (which contains a single bugfix, for <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=550436" target="_blank">#550436</a>).</li>
+		</ul>
+		<h4 id="Changesinorg.eclipse.sirius2">Changes in  
+			<code>org.eclipse.sirius</code>
+		</h4>
+		<ul>
+			<li><span class="label label-success">Added</span> A new EAttribute 
+				<code>changeId</code> has been added in 
+				<code>DRepresentationDescriptor</code>. It allows to know if two 
+				<code>DRepresentation</code>(each associated to one DRepresentationDescriptor) are the same and have the exact same content. It can be useful to not load the representation if not needed. The methods 
+				<code>updateChangeId(DRepresentationDescriptor)</code> and 
+				<code>areRepresentationIdentical(DRepresentationDescriptor, DRepresentationDescriptor)</code> have been added in 
+				<code>org.eclipse.sirius.business.api.helper.RepresentationHelper</code> to get change id information and to update it if needed in DRepresentationDescriptor.
+			</li>
+		</ul>
+		<p>In case of migration the method 
+			<code>org.eclipse.sirius.business.api.migration.AbstractRepresentationsFileMigrationParticipant.updateChangeId(DAnalysis, DRepresentation)</code> is available to update change id. New migration participants created after this Sirius version must update the change id of the DRepresentationDescriptor of the DRepresentation they change. The API to do that is described in MigrationParticpant 
+			<a href="developer/extensions-provide_migrate_contribution.html#MigrationParticipantsImplem">documentation:</a> .
+		</p>
+		<ul>
+			<li><span class="label label-success">Added</span> The method 
+				<code>org.eclipse.sirius.business.api.query.DViewQuery.getLoadedRepresentationsDescriptors()</code> has been added and allows to retrieve all loaded 
+				<code>DRepresentationDescriptor</code> in a 
+				<code>DView</code>.
+			</li>
+			<li><span class="label label-success">Added</span> The method 
+				<code>org.eclipse.sirius.business.api.session.AbstractSavingPolicy.hasDifferentSerialization(Resource, Map)</code> has been extracted from internal subclasses. It is able to tell whether a save operation on a resource can succeed or not, and if the resulting file will change. It should be used with care as it basically saves the resource in a temporary resource to know whether it will change the file or not.
+			</li>
+			<li><span class="label label-success">Added</span> The method 
+				<code>org.eclipse.sirius.business.api.query.DRepresentationQuery.findDescriptorFromAnalysis(DAnalysis)</code> has been added to provide a way to look up for a 
+				<code>DRepresentationDescriptor</code> in a given 
+				<code>DAnalysis</code>.
+			</li>
+			<li><span class="label label-info">Modified</span> The method 
+				<code>org.eclipse.sirius.business.api.dialect.DialectServices.copyRepresentation(DRepresentation, String, Session, IProgressMonitor)</code> is now deprecated. It is recommended to use the  new alternative, 
+				<code>org.eclipse.sirius.business.api.dialect.DialectServices.copyRepresentation(DRepresentationDescriptor, String, Session, IProgressMonitor)</code> which is identical except that it take a 
+				<code>DRepresentationDescriptor</code> instead of a 
+				<code>DRepresentation</code>. Also the constructor of 
+				<code>org.eclipse.sirius.business.api.dialect.command.CopyRepresentationCommand</code> has been modified. Its parameter 
+				<code>Collection&lt;DRepresentation&gt; representations</code> has been replaced by 
+				<code>Collection&lt;DRepresentationDescriptor&gt; representationDescriptors</code>. Theses changes were made  to be able to copy the name that is now only in 
+				<code>DRepresentationDescriptor</code>.
+			</li>
+			<li><span class="label label-info">Modified</span> The 
+				<code>DocumentedElement</code> interface providing a description for the representation implemented by 
+				<code>DRepresentation</code> is now implemented by 
+				<code>DRepresentationDescriptor</code>. Also the 
+				<code>name</code> EAttribute in 
+				<code>DRepresentation</code> has been added to 
+				<code>DRepresentationDescriptor</code>. These changes allows to use these information without loading associated representation. The 
+				<code>name</code> and 
+				<code>description</code> attributes on 
+				<code>DREpresentation</code> are now transient and volatile and computed from 
+				<code>DRepresentationDescriptor</code>
+			</li>
+			<li><span class="label label-info">Modified</span>The class 
+				<code>org.eclipse.sirius.business.api.helper.SiriusHelper</code> has been renamed into 
+				<code>org.eclipse.sirius.business.api.helper.RepresentationHelper</code>.
+			</li>
+			<li><span class="label label-danger">Removed</span> In 
+				<code>org.eclipse.sirius.business.api.session.CustomDataConstants</code>, the constants 
+				<code>DREPRESENTATION</code> and 
+				<code>DREPRESENTATION_DESCRIPTOR</code> has been removed because they are not available anymore in custom data.
+			</li>
+		</ul>
+		<h4 id="Changesinorg.eclipse.sirius.common3">Changes in  
+			<code>org.eclipse.sirius.common</code>
+		</h4>
+		<ul>
+			<li><span class="label label-success">Added</span> A cache has been added to optimize the way the uri fragments are computed in 
+				<code>org.eclipse.sirius.common.tools.api.util.EqualityHelper</code>, it is managed with the 
+				<code>setUriFragmentCacheEnabled(boolean)</code> method. The cache is currently used in three locations: 
+				<code>org.eclipse.sirius.diagram.business.internal.sync.DDiagramSynchronizer.refreshOperation(IProgressMonitor)</code>, 
+				<code>org.eclipse.sirius.diagram.business.internal.helper.display.DisplayServiceImpl.refreshAllElementsVisibility(DDiagram)</code> and in the hidden elements lookup phase of 
+				<code>org.eclipse.sirius.diagram.ui.edit.api.part.AbstractDDiagramEditPart.activate()</code>. This optimization is enabled by default, it can be disabled by setting the system property 
+				<code>org.eclipse.sirius.common.enableUriFragmentOptimization</code> to 
+				<code>false</code>.
+			</li>
+			<li><span class="label label-danger">Removed</span> The classes 
+				<code>org.eclipse.sirius.common.tools.api.util.LazyCrossReferencer</code>, 
+				<code>org.eclipse.sirius.common.tools.api.util.ECrossReferenceAdapterWithUnproxyCapability</code> have been merged in 
+				<code>org.eclipse.sirius.business.internal.session.danalysis.SessionLazyCrossReferencer</code> to reduce complexity.
+			</li>
+			<li><span class="label label-danger">Removed</span> The class 
+				<code>org.eclipse.sirius.common.tools.api.util.SiriusCrossReferenceAdapterImpl</code> has been merged in 
+				<code>org.eclipse.sirius.common.tools.api.util.SiriusCrossReferenceAdapter</code>.
+			</li>
+			<li><span class="label label-danger">Removed</span> The 
+				<code>org.eclipse.sirius.business.internal.session.danalysis.LocalResourceCollector</code> has been merged in 
+				<code>SiriusCrossReferenceAdapter</code> to have only one instance of a cross referencer for a Sirius session. This implies that resource collector is no more installed on all resourceSet resources by default but only on those managed by the Sirius session semantic cross reference. But if the getRefencing/ed services are used, it will install itself on a non managed resource and then return the references for all resources on which it is installed.
+			</li>
+		</ul>
+		<h4 id="Changesinorg.eclipse.sirius.diagram2">Changes in  
+			<code>org.eclipse.sirius.diagram</code>
+		</h4>
+		<ul>
+			<li><span class="label label-success">Added</span> A cache has been added to optimize the way Sirius checks that a mapping is in the activated layers of a diagram. The cache is currently used in three locations: 
+				<code>org.eclipse.sirius.diagram.business.internal.sync.DDiagramSynchronizer.refreshOperation(IProgressMonitor)</code>, 
+				<code>org.eclipse.sirius.diagram.business.internal.helper.display.DisplayServiceImpl.refreshAllElementsVisibility(DDiagram)</code> and in the hidden elements lookup phase of 
+				<code>org.eclipse.sirius.diagram.ui.edit.api.part.AbstractDDiagramEditPart.activate()</code>. This optimization is enabled by default, it can be disabled by setting the system property 
+				<code>org.eclipse.sirius.diagram.enableActiveParentLayerOptimization</code> to 
+				<code>false</code>.
+			</li>
+		</ul>
+		<h4 id="Changesinorg.eclipse.sirius.diagram.elk">Changes in  
+			<code>org.eclipse.sirius.diagram.elk</code>
+		</h4>
+		<ul>
+			<li><span class="label label-success">Added</span> The 
+				<code>org.eclipse.sirius.diagram.elk.layout.extension</code> experimental extension-point has been added to make it possible to extend the ELK layout with pre end post operations. See the extension-point associated documentation and 
+				<code>org.eclipse.sirius.diagram.elk.IELKLayoutExtension</code> interface for more details.
+			</li>
+		</ul>
+		<h4 id="Migrations2">Migrations</h4>
+		<ul>
+			<li><span class="label label-success">Added</span> A migration participant has been added to move the name and documentation from the representations to their descriptors (see 
+				<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=548631">bugzilla #548631</a> for more details). The corresponding version, stored in attribute version of viewpoint:DAnalysis of the aird file, is 
+				<em>14.3.0.201908071200</em>.
+			</li>
+			<li><span class="label label-success">Added</span> A migration participant has been added to change the GMF coordinates of the labels that are:</li>
+		</ul>   * on border of its node or border node
+		    * larger that its node or border node
+		    * on the North or South side.
+		The goal of this migration participant is to keep centered labels visually fixed compared to previous version (see 
+		<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=549887">bugzilla #550382</a> for more details). The corresponding version, stored in attribute version of viewpoint:DAnalysis of the aird file, is 
+		<em>14.3.0.201908231800</em>.
+		<ul>
+			<li><span class="label label-success">Added</span> A migration participant has been added to sort the already activated filters. The activated filters list is now sorted on each filter activation, the sorted result is stored in the model whereas in older version the list was sorted on almost each use of those activated filters (see 
+				<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=550663">bugzilla #550663</a> for more details). The corresponding version, stored in attribute version of viewpoint:DAnalysis of the aird file, is 
+				<em>14.3.0.201909031200</em>.
+			</li>
+		</ul>
+		<h2 id="sirius6.2.2">Changes in Sirius 6.2.2</h2>
+		<p>There are no user-visible changes in Sirius 6.2.2 compared to 6.2.1. The only changes are internal and related either to the build process or to the automated tests.</p>
+		<h2 id="sirius6.2.1">Changes in Sirius 6.2.1</h2>
+		<h3 id="DeveloperVisibleChanges5">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> Added a constructor 
+				<code>org.eclipse.sirius.business.api.query.DRepresentationQuery.DRepresentationQuery(DRepresentation, Session)</code> to compute queries directly from the given session instead of computing it.
+			</li>
+			<li><span class="label label-success">Added</span> In 
+				<code>viewpoint.ecore</code>, the 
+				<code>UIState</code> class has a new 
+				<code>subDiagramDecorationDescriptors</code> attribute. It is used as a cache to speed up sub diagram decorations computing.
+			</li>
+			<li><span class="label label-success">Added</span> It is now possible to consider that some specific graphical changes need a refresh of the representation. Before Sirius 6.1.3, only semantic changes triggers a refresh. Now you can use 
+				<code>RefreshHelper.registerImpactingNotification(Predicate&lt;Notification&gt;)</code> to consider a specific graphical changes. An example is the possibility to launch a refresh when the region container is collapsed or expanded. See 
+				<a href="developer/trigger-refresh-graphical-changes.html">Trigger a Sirius refresh on specific graphical changes</a> in the developer documentation for more details.
+			</li>
+			<li><span class="label label-success">Added</span> The method 
+				<code>org.eclipse.sirius.tools.api.ui.RefreshHelper.isAutoRefresh()</code> has been added to know if Sirius is in automatic refresh mode or in manual mode.
+			</li>
+			<li><span class="label label-success">Added</span> The methods 
+				<code>org.eclipse.sirius.tools.api.ui.RefreshHelper.registerImpactingNotification(Predicate&lt;Notification&gt;)</code> and 
+				<code>org.eclipse.sirius.tools.api.ui.RefreshHelper.unregisterImpactingNotification(Predicate&lt;Notification&gt;)</code> have been added to allow to consider some graphical modifications as requiring a refresh. By default, only semantic changes are considered as requiring a refresh.  
+			</li>
+			<li><span class="label label-danger">Removed</span> The 
+				<code>org.eclipse.sirius.business.api.helper.task.NotificationTask</code> class has been removed. It was not used anywhere.
+			</li>
+		</ul>
+		<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 
+				<code>org.eclipse.sirius.diagram.ui.business.api.image.ImageSelector.IMAGES_RESOURCE_NAME</code> constant has been deprecated. It was present in the initial commit of Sirius but has never been used in its open source components.
+			</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>  The methods 
+				<code>org.eclipse.sirius.tests.swtbot.support.api.widget.SWTBotSiriusFigureCanvas.mouseMoveLeftClick(int, int, boolean, int[])</code>, 
+				<code>org.eclipse.sirius.tests.swtbot.support.api.editor.SWTBotSiriusGefViewer.click(int, int, boolean, int[])</code>, 
+				<code>org.eclipse.sirius.tests.swtbot.support.api.editor.SWTBotSiriusDiagramEditor.clickWithKeys(String, int...)</code>, have been added to make a mouse click with key modifiers for a multi selection for example.
+			</li>
+		</ul>
+		<ul>
+			<li><span class="label label-success">Added</span>  The method 
+				<code>org.eclipse.sirius.tests.swtbot.support.api.editor.SWTBotSiriusHelper.selectPropertyTabItem(String, SWTBot)</code> has been added. It allows to look for property tab from a given bot. The bot corresponding to the property view should be given otherwise the search could fail starting from Eclipse 2019-06.
+			</li>
+		</ul>
+		<ul>
+			<li><span class="label label-success">Added</span>The method 
+				<code>org.eclipse.sirius.tests.swtbot.support.api.editor.SWTBotSiriusHelper.getShellBot(String)</code> has been added and allows to retrieve a bot related to a shell with the given label.
+			</li>
+		</ul>
+		<ul>
+			<li><span class="label label-success">Added</span>The method 
+				<code>org.eclipse.sirius.tests.swtbot.support.api.editor.SWTBotSiriusHelper.menu(SWTBot, String)</code> has been added and allows to retrieve a menu even when the active shell is null. Should be used over 
+				<code>SWTBot.menu(String)</code> method.
+			</li>
+		</ul>
+		<h2 id="sirius6.2.0">Changes in Sirius 6.2.0</h2>
+		<h3 id="UserVisibleChanges5">User-Visible Changes</h3>
+		<ul>
+			<li><span class="label label-success">Added</span> On sequence diagrams, it is now possible to remove vertical blank spaces on standard edition mode by dragging the mouse from bottom to top anywhere in the canvas with the Ctrl+Shift keys pressed. This 
+				<a href="user/sequences/Sequence%20Diagrams.html#remove_vertical_blank_space">feature</a> was here since version 6.0.0 but was only accessible through the ruler.
+			</li>
+		</ul>
+		<h3 id="SpecifierVisibleChanges3">Specifier-Visible Changes</h3>
+		<ul>
+			<li><span class="label label-success">Added</span> It is now possible to add action/group in the &#8220;New&#8221; contextual menu of diagram elements. This menu was missed in Sirius 6.1.0. It is now documented in the 
+				<a href="specifier/diagrams/Diagrams.html#group">corresponding documentation</a> .
+			</li>
+		</ul>
+		<h3 id="DeveloperVisibleChanges6">Developer-Visible Changes</h3>
+		<h4 id="Changesinorg.eclipse.sirius.common4">Changes in 
+			<code>org.eclipse.sirius.common</code>
+		</h4>
+		<ul>
+			<li><span class="label label-success">Added</span> A new interface 
+				<code>org.eclipse.sirius.common.tools.api.interpreter.IConverter</code> has been added: it encapsulates the coercion rules used to convert raw results returned by interpreted expressions into the types expected by Sirius (depending on the context of use of the expression).
+			</li>
+			<li><span class="label label-success">Added</span> In interface 
+				<code>org.eclipse.sirius.common.tools.api.interpreter.IInterpreter</code>, a new method 
+				<code>getConverter()</code> has been added to obtain the 
+				<code>IConverter</code> for a given interpreter.
+			</li>
+			<li><span class="label label-success">Added</span> A new class 
+				<code>org.eclipse.sirius.common.tools.api.interpreter.EvaluationResult</code> has been added. It serves as a default implementation of 
+				<code>IEvaluationResult</code>. It provides static factory methods for common cases (successful evaluation or failure).
+			</li>
+			<li><span class="label label-info">Modified</span> In 
+				<code>org.eclipse.sirius.common.tools.api.interpreter.TypeName</code>, the methods 
+				<code>getJavaClass()</code> and 
+				<code>getPackagePrefix()</code> which used to return a 
+				<code>org.eclipse.sirius.ext.base.Option&lt;T&gt;</code> now return standard 
+				<code>java.util.Optional&lt;T&gt;</code> instead.
+			</li>
+			<li><span class="label label-info">Modified</span> In 
+				<code>org.eclipse.sirius.common.tools.api.profiler.ProfilerTaskRegistry</code>, the method 
+				<code>get(String)</code> which used to return a 
+				<code>org.eclipse.sirius.ext.base.Option&lt;T&gt;</code> now return standard 
+				<code>java.util.Optional&lt;T&gt;</code> instead.
+			</li>
+			<li><span class="label label-info">Modified</span> In 
+				<code>org.eclipse.sirius.common.tools.api.query.NotifierQuery</code>, the method 
+				<code>getAdapter(Class&lt;?&gt;)</code> which used to return a 
+				<code>org.eclipse.sirius.ext.base.Option&lt;T&gt;</code> now return standard 
+				<code>java.util.Optional&lt;T&gt;</code> instead.
+			</li>
+			<li><span class="label label-info">Modified</span> In 
+				<code>org.eclipse.sirius.common.tools.api.resource.ResourceSetSync</code>, the method 
+				<code>getResourceSetSync(TransactionalEditingDomain)</code> which used to return a 
+				<code>org.eclipse.sirius.ext.base.Option&lt;T&gt;</code> now return standard 
+				<code>java.util.Optional&lt;T&gt;</code> instead.
+			</li>
+			<li><span class="label label-info">Modified</span> In 
+				<code>org.eclipse.sirius.common.tools.api.util.MarkerUtil</code>, the method 
+				<code>addMarkerFor(IResource, String, int, String)</code> which used to return a 
+				<code>org.eclipse.sirius.ext.base.Option&lt;T&gt;</code> now return standard 
+				<code>java.util.Optional&lt;T&gt;</code> instead.
+			</li>
+			<li><span class="label label-info">Modified</span> In 
+				<code>org.eclipse.sirius.common.tools.api.util.ReflectionHelper</code>, all the following methods which used to return a 
+				<code>org.eclipse.sirius.ext.base.Option&lt;T&gt;</code> now return standard 
+				<code>java.util.Optional&lt;T&gt;</code> instead: 
+				<code>setConstructorVisibleWithoutException(Class&lt;? extends Object&gt;, Class&lt;?&gt;...)</code>
+			</li>
+		</ul>
+		<p>
+			<code>setFieldVisibleWithoutException(Class&lt;? extends Object&gt;, String)</code>, 
+			<code>getClassForNameWithoutException(String)</code>, 
+			<code>instantiateWithoutException(String, Class&lt;?&gt;[], Object[])</code>, 
+			<code>getFieldValueWithoutException(Object, String)</code>, 
+			<code>getFieldValueWithoutException(Class&lt;? extends Object&gt;, String)</code>, and 
+			<code>getFieldValueWithoutException(Object, String, Class&lt;? extends Object&gt;)</code>.
+		</p>
+		<ul>
+			<li><span class="label label-info">Modified</span> The interface 
+				<code>org.eclipse.sirius.common.tools.api.interpreter.IInterpreterWithDiagnostic.IEvaluationResult</code> has been promoted as a top-level type as 
+				<code>org.eclipse.sirius.common.tools.api.interpreter.IEvaluationResult</code>. In the process it has gained several methods to check for success and coerce the raw evaluation result into any of the types that are used by Sirius (depending on the usage context).
+			</li>
+			<li><span class="label label-danger">Removed</span> In interface 
+				<code>org.eclipse.sirius.common.tools.api.interpreter.IInterpreter</code> (and all its implementations shipped with Sirius), the methods 
+				<code>addVariableStatusListener()</code> and 
+				<code>removeVariableStatusListener()</code> have been removed, along with the corresponding type 
+				<code>org.eclipse.sirius.common.tools.api.interpreter.IVariableStatusListener</code>. These correspond to obsolete and unused mechanisms.
+			</li>
+			<li><span class="label label-danger">Removed</span> The 
+				<code>interface org.eclipse.sirius.common.tools.api.interpreter.IInterpreterWithDiagnostic</code> has been removed. The single method it defined, 
+				<code>evaluateExpression()</code>, is now implemented directly by the main 
+				<code>IInterpreter</code> interface. In effect, all 
+				<code>IInterpreter</code> are now &#8220;with diagnostic&#8221;. 
+			</li>
+			<li><span class="label label-danger">Removed</span> The interface 
+				<code>org.eclipse.sirius.tools.api.interpreter.context.SiriusInterpreterContextFactory</code> has been removed from the API (it has been moved into an internal package): it should only be needed by Sirius itself and has no reason to be exposed as public API.
+			</li>
+		</ul>
+		<h4 id="Changesinorg.eclipse.sirius.common.ui">Changes in 
+			<code>org.eclipse.sirius.common.ui</code>
+		</h4>
+		<ul>
+			<li><span class="label label-info">Modified</span> In 
+				<code>org.eclipse.sirius.common.ui.tools.api.dialog.quickoutline.QuickOutlineDescriptor</code>, the methods 
+				<code>getFirstPage()</code> and 
+				<code>getNextPage(QuickOutlinePageDescriptor)</code> which used to return a 
+				<code>org.eclipse.sirius.ext.base.Option&lt;T&gt;</code> now return standard 
+				<code>java.util.Optional&lt;T&gt;</code> instead.
+			</li>
+		</ul>
+		<h4 id="Changesinorg.eclipse.sirius.diagram.layoutdata">Changes in  
+			<code>org.eclipse.sirius.diagram.layoutdata</code>
+		</h4>
+		<ul>
+			<li><span class="label label-danger">Removed</span> This plugin has been removed and fully replaced by  
+				<code>org.eclipse.sirius.diagram.formatdata</code>
+			</li>
+		</ul>
+		<h4 id="Changesinorg.eclipse.sirius.diagram3">Changes in  
+			<code>org.eclipse.sirius.diagram</code>
+		</h4>
+		<ul>
+			<li><span class="label label-success">Added</span> The message 
+				<code>org.eclipse.sirius.diagram.Messages.SynchronizeGMFModelCommand_label</code> has been added. It replaces 
+				<code>org.eclipse.sirius.diagram.ui.provider.Messages.SynchronizeGMFModelCommand_label</code>.
+			</li>
+			<li><span class="label label-success">Added</span> In 
+				<code>org.eclipse.sirius.diagram.business.api.query.DragAndDropTargetQuery</code>, a new method 
+				<code>getLogicalChildren()</code> has been added. It makes it easy to iterate over the logical structure of diagram elements. A static factory method 
+				<code>on()</code> was also added to provide a more fluent API, e.g. 
+				<code>DragAndDropTargetQuery.on(container).getLogicalChildren()</code>.
+			</li>
+			<li><span class="label label-success">Added</span> The extension point org.eclipse.sirius.diagram.customBundledImageShape has been created in order to provide custom shape to the bundled image style. This extension point offers more flexibility on the specification of the svg tags and attributes holding the color, border color and border size information than the extension point org.eclipse.sirius.diagram.bundledImageShape.</li>
+			<li><span class="label label-info">Modified</span> The extension point org.eclipse.sirius.diagram.bundledImageShape has been marked as deprecated. Shapes provided by this extension point still work.</li>
+			<li><span class="label label-info">Modified</span> The method 
+				<code>org.eclipse.sirius.diagram.tools.api.command.IDiagramCommandFactory.buildInsertVerticalBlankSpaceCommand(DDiagram, int, int)</code> has been renamed to 
+				<code>org.eclipse.sirius.diagram.tools.api.command.IDiagramCommandFactory.buildInsertOrRemoveVerticalBlankSpaceCommand(DDiagram, int, int)</code> because it handles now both addition and removal.
+			</li>
+			<li><span class="label label-info">Modified</span> Method 
+				<em>getAllEdgeMappings</em> defined in 
+				<code>org.eclipse.sirius.diagram.business.internal.metamodel.helper.ContentHelper</code> has been moved in a new class called 
+				<code>org.eclipse.sirius.diagram.business.internal.metamodel.helper.ContentLayerHelper</code> to ensure method to be independent from pure Sirius code. 
+			</li>
+			<li><span class="label label-danger">Removed</span> EOperations and features have been removed from the metamodel 
+				<code>diagram.ecore</code>. This is the ones that are computed outside of EMF environment with dependencies to IInterpreter or that are deprecated. The following EOperations have been removed/replaced: 
+				<ul>
+					<li>
+						<code>DEdge.isRootFolding</code> has been removed
+					</li>
+					<li>
+						<code>DDiagram.getNodesFromMapping</code> has been replaced by 
+						<code>DDiagramSpecOperations.getNodesFromMapping</code>
+					</li>
+					<li>
+						<code>DDiagram.getEdgesFromMapping</code> has been replaced by 
+						<code>DDiagramSpecOperations.getEdgesFromMapping</code>
+					</li>
+					<li>
+						<code>DDiagram.getContainersFromMapping</code> has been replaced by 
+						<code>DDiagramSpecOperations.getEdgesFromMapping</code>
+					</li>
+					<li>
+						<code>DiagramElementMapping.checkPrecondition</code> has been replaced by 
+						<code>SiriusElementMappingSpecOperations.checkPrecondition</code>
+					</li>
+					<li>
+						<code>DiagramElementMapping.getAllMappings</code> has been replaced by 
+						<code>MappingHelper.getAllMappings</code>
+					</li>
+					<li>
+						<code>DiagramElementMapping.isFrom</code> has been replaced by 
+						<code>SiriusElementMappingSpecOperations.isFrom</code>
+					</li>
+					<li>
+						<code>AbstractNodeMapping.clearDNodesDone</code> has been replaced by 
+						<code>NodeMappingHelper.clearDNodesDone</code>
+					</li>
+					<li>
+						<code>AbstractNodeMapping.addDoneNode</code> has been replaced by 
+						<code>NodeMappingHelper.addDoneNode</code>
+					</li>
+					<li>
+						<code>AbstractNodeMapping.getAllBorderedNodeMappings</code> has been replaced by 
+						<code>MappingHelper.getAllBorderedNodeMappings</code>
+					</li>
+					<li>
+						<code>NodeMapping.createNode</code> has been replaced by 
+						<code>NodeMappingHelper.createNode</code>. You must verify that 
+						<code>NodeMapping</code> is an 
+						<code>INodeMappingExt</code> before calling this method. Previously, in other cases, when a 
+						<code>NodeMapping</code> is not 
+						<code>INodeMappingExt</code>, an 
+						<code>UnsupportedOperationException</code> was thrown.
+					</li>
+					<li>
+						<code>NodeMapping.updateNode</code> has been replaced by 
+						<code>NodeMappingHelper.updateNode</code>
+					</li>
+					<li>
+						<code>NodeMapping.updateListElement</code> has been replaced by 
+						<code>NodeMappingHelper.updateListElement</code>
+					</li>
+					<li>
+						<code>NodeMapping.getNodesCandidates(semanticOrigin,container)</code> has been replaced by 
+						<code>NodeMappingHelper.getNodesCandidates(semanticOrigin,container)</code>
+					</li>
+					<li>
+						<code>NodeMapping.getNodesCandidates(semanticOrigin,container,containerView)</code> has been replaced by 
+						<code>NodeMappingHelper.getNodesCandidates(semanticOrigin,container,containerView)</code>
+					</li>
+					<li>
+						<code>ContainerMapping.getBestStyle</code> has been replaced by 
+						<code>ContainerMappingWithInterpreterHelper.getBestStyle</code>
+					</li>
+					<li>
+						<code>EdgeMapping.createEdge(source,target,semanticTarget)</code> has been replaced by 
+						<code>EdgeMappingHelper.createEdge(EdgeMapping, EdgeTarget, EdgeTarget, EObject, EObject)</code>
+					</li>
+					<li>
+						<code>EdgeMapping.createEdge(source,target,container,semanticTarget)</code> has been replaced by 
+						<code>EdgeMappingHelper.createEdge(EdgeMapping, EdgeTarget, EdgeTarget, EObject, EObject)</code>
+					</li>
+					<li>
+						<code>EdgeMapping.getBestStyle</code> has been replaced by 
+						<code>MappingWithInterpreterHelper.getBestStyle</code>
+					</li>
+					<li>
+						<code>EdgeMapping.updateEdge</code> has been replaced by 
+						<code>EdgeMappingHelper.updateEdge</code>
+					</li>
+					<li>
+						<code>EdgeMapping.getEdgeTargetCandidates(semanticOrigin,viewPoint)</code> has been replaced by 
+						<code>EdgeMappingHelper.getEdgeTargetCandidates</code>
+					</li>
+					<li>
+						<code>EdgeMapping.getEdgeSourceCandidates</code> has been replaced by 
+						<code>EdgeMappingHelper.getEdgeSourceCandidates</code>
+					</li>
+					<li>
+						<code>EdgeMapping.getEdgeTargetCandidates(semanticOrigin,container,containerView)</code> has been replaced by 
+						<code>EdgeMappingHelper.getEdgeTargetCandidates</code>
+					</li>
+					<li>
+						<code>EdgeCreationDescription.getBestMapping</code> has been removed because it is never used.
+					</li>
+					<li>
+						<code>ContainerDropDescription.getBestMapping</code> has been replaced by 
+						<code>ContainerMappingWithInterpreterHelper.getBestMapping</code>
+					</li>
+					<li>
+						<code>Filter.isVisible</code> has been replaced by 
+						<code>FilterService.isVisible(Filter, DDiagramElement)</code>
+					</li>
+					<li>
+						<code>VariableFilter.resetVariables</code> has been replaced by 
+						<code>VariableFilterWrapper.resetVariables</code>
+					</li>
+				</ul>
+			</li>
+			<li><span class="label label-info">Modified</span> The following features have been removed/replaced:
+				<ul>
+					<li>
+						<code>DiagramDescription.allNodeMappings</code> has been replaced by 
+						<code>ContentHelper.getAllNodeMappings</code> (with 
+						<code>false</code> value for parameter 
+						<code>withoutOptionalLayers</code>)
+					</li>
+					<li>
+						<code>DiagramDescription.allContainerMappings</code> has been replaced by 
+						<code>ContentHelper.getAllContainerMappings</code> (with 
+						<code>false</code> value for parameter 
+						<code>withoutOptionalLayers</code>)
+					</li>
+					<li>
+						<code>DiagramDescription.allLayers</code> has been replaced by 
+						<code>LayerHelper.getAllLayers</code>
+					</li>
+					<li>
+						<code>ContainerMapping.allNodeMappings</code> has been replaced by 
+						<code>ContainerMappingHelper.getAllNodeMappings</code>
+					</li>
+					<li>
+						<code>ContainerMapping.allContainerMappings</code> has been replaced by 
+						<code>ContainerMappingHelper.getAllContainerMappings</code>
+					</li>
+					<li>
+						<code>Layer.allEdgeMappings</code> has been replaced by 
+						<code>ContentLayerHelper.getAllEdgeMappings</code>
+					</li>
+				</ul>
+			</li>
+		</ul>
+		<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> The method 
+				<code>org.eclipse.sirius.diagram.ui.business.api.query.EditPartQuery.getDDiagram()</code> has been added to retrieve the  
+				<code>DDiagram</code> associated to the edit part or to one of its ancestor.
+			</li>
+			<li><span class="label label-danger">Removed</span> The message 
+				<code>org.eclipse.sirius.diagram.ui.provider.Messages.SynchronizeGMFModelCommand_label</code> has been removed. It has been replaced in 
+				<code>org.eclipse.sirius.diagram.Messages</code>.
+			</li>
+			<li><span class="label label-danger">Removed</span> The extension point 
+				<code>layoutDataManager</code>, deprecated since Sirius 4.1.0, has been removed. The corresponding plug-in 
+				<code>org.eclipse.sirius.diagram.layoutdata</code> has also been removed.
+			</li>
+			<li><span class="label label-success">Added</span> The method 
+				<code>org.eclipse.sirius.diagram.ui.business.api.query.ConnectionEditPartQuery.getCenteredAnchorsAbsoluteLocation(Rectangle)</code> has been added in order to compute the location of the anchor of a connection centered on its target or source.
+			</li>
+			<li><span class="label label-success">Added</span> The method 
+				<code>org.eclipse.sirius.diagram.ui.business.api.query.ConnectionQuery.getAbsolutePointList(RelativeBendpoints, PrecisionPoint, PrecisionPoint)</code> has been added to compute the absolute coordinates of the bendpoints of a connection.
+			</li>
+		</ul>
+		<h4 id="Changesinorg.eclipse.sirius.ui.editor">Changes in 
+			<code>org.eclipse.sirius.ui.editor</code>
+		</h4>
+		<ul>
+			<li><span class="label label-info">Modified</span> The method 
+				<code>org.eclipse.sirius.ui.editor.api.pages.PageProvider.provides()</code> now takes the 
+				<code>SessionEditor</code> as an additional parameter to allow implementation to decide if it should provide an additional page or not.
+			</li>
+		</ul>
+		<h4 id="Changesinorg.eclipse.sirius.diagram.sequence">Changes in 
+			<code>org.eclipse.sirius.diagram.sequence</code>
+		</h4>
+		<ul>
+			<li><span class="label label-success">Added</span> A new translatable message 
+				<code>org.eclipse.sirius.diagram.sequence.Messages.VerticalSpaceReduction_operationName</code> has been added. It&#8217;s key is 
+				<code>VerticalSpaceReduction_operationName</code> and its default value is 
+				<code>Auto-reduction of {0}</code>. It is used when reducing spaces in sequence diagram.
+			</li>
+			<li><span class="label label-success">Added</span> A new translatable message 
+				<code>org.eclipse.sirius.diagram.ui.provider.Messages.RemoveBlankSpace_cmdName</code> has been added. It&#8217;s key is 
+				<code>RemoveBlankSpace_cmdName</code> and its default value is 
+				<code>Remove blank space</code>. It is used when removing spaces in sequence diagram.
+			</li>
+			<li><span class="label label-success">Added</span>  The methods 
+				<code>org.eclipse.sirius.tests.swtbot.support.api.editor.SWTBotSiriusDiagramEditor.dragWithKeys(int, int, int, int, AtomicBoolean, int...)</code>, 
+				<code>org.eclipse.sirius.tests.swtbot.support.api.editor.SWTBotSiriusGefViewer.dragWithKeys(int, int, int, int, AtomicBoolean, int...)</code>, 
+				<code>org.eclipse.sirius.tests.swtbot.support.api.widget.SWTBotSiriusFigureCanvas.mouseDragWithKeys(int, int, int, int, AtomicBoolean, int...)</code>, have been added to make a drag an drop with more than one key modifier.
+			</li>
+		</ul>
+		<h4 id="Changesinorg.eclipse.sirius.ecore.extender">Changes in 
+			<code>org.eclipse.sirius.ecore.extender</code>
+		</h4>
+		<ul>
+			<li><span class="label label-info">Modified</span> In 
+				<code>org.eclipse.sirius.ecore.extender.business.internal.accessor.ModelAccessorAdapter</code>, the methods 
+				<code>getAdapter(ResourceSet resourceSet)</code> and 
+				<code>removeAdapter(ResourceSet resourceSet)</code> now return 
+				<code>java.util.Optional&lt;T&gt;</code> instead of instance of Sirius&#8217;s custom 
+				<code>org.eclipse.sirius.ext.base.Option&lt;T&gt;</code>.
+			</li>
+		</ul>
+		<h4 id="Changesinorg.eclipse.sirius.ext.gmf.runtime">Changes in 
+			<code>org.eclipse.sirius.ext.gmf.runtime</code>
+		</h4>
+		<ul>
+			<li><span class="label label-info">Modified</span> In 
+				<code>org.eclipse.sirius.ext.gmf.runtime.editparts.GraphicalHelper</code>, all the methods which used to take or return an 
+				<code>org.eclipse.sirius.ext.base.Option&lt;T&gt;</code> not take or return a standard 
+				<code>java.util.Optional&lt;T&gt;</code> instead.
+			</li>
+		</ul>
+		<h4 id="Changesinorg.eclipse.sirius.tests.swtbot.support2">Changes in 
+			<code>org.eclipse.sirius.tests.swtbot.support</code>
+		</h4>
+		<ul>
+			<li><span class="label label-success">Added</span> The methods 
+				<code>org.eclipse.sirius.tests.swtbot.support.api.editor.SWTBotSiriusDiagramEditor.dragWithKeys(int, int, int, int, AtomicBoolean, int...)</code>, 
+				<code>org.eclipse.sirius.tests.swtbot.support.api.editor.SWTBotSiriusGefViewer.dragWithKeys(int, int, int, int, AtomicBoolean, int...)</code> and 
+				<code>org.eclipse.sirius.tests.swtbot.support.api.widget.SWTBotSiriusFigureCanvas.mouseDragWithKeys(int, int, int, int, AtomicBoolean, int...)</code> have been added and allows to do a drag and drop with any key modifier you want.
+			</li>
+			<li><span class="label label-info">Modified</span> The methods 
+				<code>org.eclipse.sirius.tests.swtbot.support.api.editor.SWTBotSiriusDiagramEditor.dragWithKey(int, int, int, int, int, AtomicBoolean)</code>, 
+				<code>org.eclipse.sirius.tests.swtbot.support.api.editor.SWTBotSiriusGefViewer.dragWithKey(int, int, int, int, int, AtomicBoolean)</code> and 
+				<code>org.eclipse.sirius.tests.swtbot.support.api.widget.SWTBotSiriusFigureCanvas.mouseDragWithKey(int, int, int, int, int, AtomicBoolean)</code> have been marked as deprecated. The method 
+				<code>org.eclipse.sirius.tests.swtbot.support.api.editor.SWTBotSiriusDiagramEditor.dragWithKeys(int, int, int, int, AtomicBoolean, int...)</code>, 
+				<code>org.eclipse.sirius.tests.swtbot.support.api.editor.SWTBotSiriusGefViewer.dragWithKeys(int, int, int, int, AtomicBoolean, int...)</code> and 
+				<code>org.eclipse.sirius.tests.swtbot.support.api.widget.SWTBotSiriusFigureCanvas.mouseDragWithKeys(int, int, int, int, AtomicBoolean, int...)</code> should be used instead.C
+			</li>
+		</ul>
+		<h2 id="sirius6.1.2">Changes in Sirius 6.1.2</h2>
+		<h3 id="UserVisibleChanges6">User-Visible Changes</h3>
+		<ul>
+			<li><span class="label label-info">Modified</span> Invalid representations, that are either representations which semantic target does not exist anymore or representations that can not be retrieved anymore, are grayed in the Model Explorer and the only available action is 
+				<em>Delete</em>. It was previously the case only for representations which semantic target does not exist anymore.
+			</li>
+		</ul>
+		<h3 id="DeveloperVisibleChanges7">Developer-Visible Changes</h3>
+		<ul>
+			<li><span class="label label-success">Added</span> If the 
+				<code>org.eclipse.sirius.diagam.ui.hidePrintingOfPermissionAuthorityDecoration</code> system property is set to true and if there is no other printable decoration provided at the same location (South-West), the permission authority decorations displayed on diagrams are not printed nor exported in images (export as image actions).
+			</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 methods 
+				<code>org.eclipse.sirius.business.api.query.DRepresentationDescriptorQuery.isRepresentationReachable()</code> and 
+				<code>org.eclipse.sirius.business.api.query.DRepresentationDescriptorQuery.isRepresentationValid()</code> have been added. The former allows to know if the 
+				<code>DRepresentation</code> can be retrieved from the 
+				<code>DRepresentationDescriptor.repPath</code>: the repPath is correctly set and the representation effectively exists. The latter returns true if the 
+				<code>DRepresentationDescriptor</code> is either dangling (
+				<code>DRepresentationDescriptor.repPath</code> can not be found) or can not by retrieved.
+			</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>  A new field 
+				<code>CustomLayoutConfiguration layoutConfiguration</code> has been added to 
+				<code>org.eclipse.sirius.diagram.ui.tools.api.layout.provider.DefaultLayoutProvider</code> and its setter method 
+			</li>
+		</ul>
+		<p>
+			<code>setLayoutConfiguration(CustomLayoutConfiguration)</code>. It allows any layout provider to be aware of any VSM layout configuration that should be used.
+		</p>
+		<ul>
+			<li><span class="label label-info">Modified</span> The method 
+				<code>getDiagramLayoutProvider(DiagramEditPart, IAdaptable)</code> in package  
+				<code>org.eclipse.sirius.diagram.ui.tools.api.layout.provider.AbstractLayoutProvider</code> has been made protected to allow to provide layout provider from other mechanism than LayoutService.
+			</li>
+		</ul>
+		<h4 id="Changesinorg.eclipse.sirius.diagram4">Changes in  
+			<code>org.eclipse.sirius.diagram</code>
+		</h4>
+		<ul>
+			<li><span class="label label-success">Added</span> The getter and setter methods have been added for the new attribute 
+				<code>org.eclipse.sirius.diagram.ui.tools.api.decoration.DecorationDescriptor.isPrintable</code>. This attribute is used to know if the decoration should be hidden when printing or exporting the diagram. The behavior is applied only if there is no printable decoration in its diagram element location (South, West, South-West etc).
+			</li>
+		</ul>
+		<h4 id="Changesinorg.eclipse.sirius.common5">Changes in  
+			<code>org.eclipse.sirius.common</code>
+		</h4>
+		<ul>
+			<li><span class="label label-danger">Removed</span> The class 
+				<code>org.eclipse.sirius.common.tools.api.util.SiriusCopier</code> has been replaced by the internal class 
+				<code>org.eclipse.sirius.tools.internal.SiriusCopierHelper</code>. 
+				<code>SiriusCopier.Helper.copy(T)</code> and 
+				<code>SiriusCopier.Helper.copyAll(Collection&lt;? extends T&gt;)</code> have been replaced by 
+				<code>SiriusCopierHelper.copyWithNoUidDuplication(T)</code>, 
+				<code>SiriusCopierHelper.copyAllWithNoUidDuplication(Collection&lt;? extends T&gt;)</code> and 
+				<code>SiriusCopierHelper.copyAllWithNoUidDuplication(Collection&lt;? extends EObject&gt;, boolean, boolean, boolean)</code>. It provides the ability to copy an object without copying the EAttribute 
+				<code>IDENTIFIED_ELEMENT__UID</code>. For all these methods, this id is not set by the factory or during object creation, it is set during the copy using 
+				<code>org.eclipse.emf.ecore.util.EcoreUtil.generateUUID()</code>.
+			</li>
+		</ul>
+		<h2 id="sirius6.1.1">Changes in Sirius 6.1.1</h2>
+		<h4 id="Changesinorg.eclipse.sirius.diagram5">Changes in  
+			<code>org.eclipse.sirius.diagram</code>
+		</h4>
+		<ul>
+			<li><span class="label label-success">Added</span> Add method 
+				<code>allowsVisibilityModeActivation()</code> in 
+				<code>org.eclipse.sirius.diagram.business.api.diagramtype.IDiagramDescriptionProvider</code> This method is used to know if the visibility mode is supported by a specific diagram description.
+			</li>
+		</ul>
+		<h2 id="sirius6.1.0">Changes in Sirius 6.1.0</h2>
+		<ul>
+			<li><span class="label label-info">IMPORTANT</span>  The new (and still experimental) 
+				<em>Workflow</em> and 
+				<em>Server</em> features depend on a specific version of Eclipse Jetty which is available in the main Eclipse Photon repository. They can not be used under Oxygen (which include older and incompatible versions of Jetty).
+			</li>
+			<li><span class="label label-info">IMPORTANT</span> Please note that starting from version 6.1, Sirius is now licensed under <a href="https://www.eclipse.org/legal/epl-2.0/" target="_blank">version 2.0 of the Eclipse Public License</a>, which updates some wording and clarifies some points but neither changes the open-source nature of Sirius nor the implications of using or embedding it. See <a href="https://www.eclipse.org/legal/epl-2.0/faq.php" target="_blank">the official FAQ</a> for details about the difference between EPL v1.0 (which was used before) and v2.0.</li>
+		</ul>
+		<h3 id="UserVisibleChanges7">User-Visible Changes</h3>
+		<ul>
+			<li><span class="label label-success">Added</span> A new preference has been added in the Sirius preference panel. It allows Sirius to ask the user if he wants to save session resources after an automatic migration. If the new preference is ticked, the pop-up will only appear for session opening caused by a direct action of the user (i.e. opening a diagram or unfolding the resources in the model explorer). You can refer to the 
+				<a href="user/general/Modeling%20Project.html#Migration">user documentation </a> for more details.
+			</li>
+			<li><span class="label label-success">Added</span> On sequence diagrams, it is now possible to add vertical blank spaces on standard edition mode by dragging the mouse anywhere in the canvas with the Ctrl+Shift keys pressed.  This 
+				<a href="user/sequences/Sequence%20Diagrams.html#insert_vertical_blank_space">feature:</a> was here since version 6.0.0 but was only accessible through the ruler.
+			</li>
+			<li><span class="label label-success">Added</span> The preference 
+				<code>org.eclipse.sirius.ui.business.api.preferences.SiriusUIPreferencesKeys.PREF_DISPLAY_VSM_USER_FIXED_COLOR_IN_PALETTE</code> has been added and can be managed in Preferences/Sirius/Sirius Diagram/Appearance/Display viewpoint colors. It allows to display, in the color palette, the user fixed color(defined in the activated viewpoints) in addition to standard colors. The color palette is available in Appearance tab of the Properties view.
+			</li>
+			<li><span class="label label-success">Added</span> A new visibility diagram edit 
+				<a href="user/diagrams/Diagrams.html#edit_modes">mode</a> is available. It allows to see diagram elements hidden manually with some transparency. In this mode the visibility can be changed by a double click on the target diagram element.
+			</li>
+		</ul>
+		<p>
+			<img border="0" src="user/diagrams/images/show_hide_mode_example.png"/>
+		</p>
+		<ul>
+			<li><span class="label label-success">Added</span> A new dropdown menu gathering the layouting, visibility and standard mode is now available in the tabbar of diagram editors to activate the chosen edit mode. The standard mode corresponds to a diagram editor without the layouting and visibility mode activated.</li>
+		</ul>
+		<p>
+			<img border="0" src="user/diagrams/images/show_hide_mode_tabbar_activate.png"/>
+		</p>
+		<ul>
+			<li><span class="label label-success">Added</span> A quick fix is now available on the error marker signaling a modeling project without a representations file. Processing this quick fix will create a new empty representation file.</li>
+			<li><span class="label label-info">Modified</span> The tool &#8220;Link Note&#8221;, introduced in Sirius 6.0.0, has been renamed into &#8220;Representation Link&#8221;.</li>
+			<li><span class="label label-info">Modified</span> A &#8220;Representation Link&#8221; is no longer deleted automatically when the targeted representation is deleted. Instead, the note header changes to &#8220;Broken Representation Link&#8221; and the note icon changes to a small red diagonal cross. You can refer to the 
+				<a href="user/diagrams/Diagrams.html#notes">user documentation</a> for more details.
+			</li>
+		</ul>
+		<h3 id="SpecifierVisibleChanges4">Specifier-Visible Changes</h3>
+		<ul>
+			<li><span class="label label-success">Added</span> 
+				<a href="specifier/workflows/Workflows.html">Initial documentation</a> has been added for the &#8220;Workflow&#8221; feature introduced in 6.0.0 (which is still experimental).
+			</li>
+			<li><span class="label label-success">Added</span> The contribution of 
+				<code>PopupMenu</code> in diagram has been improved. It is now possible to define 
+				<code>Group</code> in 
+				<code>PopupMenu</code>. A group allows to group several actions. It appears like a separator between groups of actions. It is also possible to reuse existing menu or group.
+			</li>
+		</ul>
+		<p>Previously, it was possible to add new menus and actions at the end of the contextual menu:
+			<br/>
+			<img border="0" src="images/popupMenuBefore.png"/>
+			<br/>Now, it is possible to:
+		</p>
+		<ul>
+			<li>group actions (actions in MySpecificPopupMenu2 for example),</li>
+			<li>add new menus and actions in a new group of an existing menu (action MyActionF1 and menu MySpecificPopupMenu2 for example)</li>
+			<li>add new menus and actions in an existing group of an existing menu (action MyActionH1 and menu MySpecificPopupMenu3 for example):</li>
+		</ul>
+		<p>
+			<img border="0" src="images/popupMenuAfter.png"/>
+		</p>
+		<ul>
+			<li>add new actions in the &#8220;Select All&#8221; menu of the 
+				<a href="user/diagrams/Diagrams.html#ref_tabbar">tab-bar</a>. Some services have been directly provided in Sirius in class 
+				<code>org.eclipse.sirius.diagram.ui.tools.api.interpreter.StandardDiagramServices</code>: see 
+				<a href="#DeveloperVisibleChanges">org.eclipse.sirius.diagram.ui developer visible changes</a> for the list of services or chapter 
+				<a href="specifier/general/ToolsSpecification.html#selectionAfterToolExecution">Selection after tool execution</a> of documentation to see how to use them.
+			</li>
+		</ul>
+		<p>Refer to the 
+			<a href="specifier/diagrams/Diagrams.html#group">specifier documentation</a> for details.
+		</p>
+		<ul>
+			<li><span class="label label-info">Modified</span> Specifier can now hide header column of Edition Table (the left-most column of the table). It is possible by specifying value -1 in the 
+				<em>Initial Header Column Width</em> field of Edition table representation. See 
+				<a href="specifier/tables/Tables.html#edition_tables">the documentation</a> for details.
+			</li>
+		</ul>
+		<h3 id="DeveloperVisibleChanges8">Developer-Visible Changes</h3>
+		<p><span class="label label-info">IMPORTANT</span> Note that all plug-ins in the 
+			<em>Sirius Server</em> feature (
+			<code>org.eclipse.sirius.server.*</code> and 
+			<code>org.eclipse.sirius.services.*</code>) are still considered experimental in this version. In particular, all APIs (Java, HTTP, WebSocket) they provide should be treated as provisional even if they are exposed publicly in 
+			<code>*.api.*</code> packages. We reserve the right to modify them in incompatible ways even in future maintenance versions.
+		</p>
+		<ul>
+			<li><span class="label label-success">Added</span> Mechanism to ask user input on opening of a session with migrated resources if the session opening comes from a direct user action
+				<ul>
+					<li>New available UI callback (
+						<code>org.eclipse.sirius.tools.api.command.ui.UICallBack.askUserAndSaveMigratedSession(session)</code>) used to ask user if he wants to save the resources after migration and save them if necessary.
+					</li>
+					<li>New method to open session when this is due to a direct user action (
+						<code>org.eclipse.sirius.business.api.session.SessionManager.openSession(sessionResourceURI, monitor, uiCallback, isDirectUserActionLoading)</code>). Previous version calls this new version with the value false for 
+						<code>isDirectUserActionLoading</code> parameter
+					</li>
+					<li>New system preference to know if user want to be asked to save resources after automatic migration 
+						<code>org.eclipse.sirius.common.tools.api.constant.CommonPreferencesConstants.PREF_ASK_TO_SAVE_RESOURCE_AFTER_MIGRATION</code>
+					</li>
+				</ul>
+			</li>
+			<li><span class="label label-success">Added</span> 
+				<code>org.eclipse.sirius.migrationHandler</code> extension point has been added. It allows to contribute migration process, mainly handle migration options.
+			</li>
+			<li><span class="label label-info">Modified</span> Upgraded ELK version from 0.3.0 to 0.4.0, see the 
+				<a href="https://projects.eclipse.org/projects/modeling.elk/releases/0.4.0">ELK documentation</a> for the list of changes in that version.
+			</li>
+			<li><span class="label label-info">Modified</span> The Acceleo version has been changed from 3.7.2 to 3.7.4.</li>
+			<li><span class="label label-info">Modified</span> The class 
+				<code>SiriusFormatDataManagerForSemanticElements</code> has been moved from package 
+				<code>org.eclipse.sirius.diagram.ui.tools.internal.format.semantic</code> to 
+				<code>org.eclipse.sirius.diagram.ui.tools.api.format.semantic</code>.
+			</li>
+			<li><span class="label label-danger">Removed</span> 
+				<em>EOperations</em> 
+				<code>checkRule</code> and 
+				<code>getMessage</code> of 
+				<code>ValidationRule</code> 
+				<em>EClass</em> have been removed from 
+				<code>viewpoint</code> metamodel. These operations were deprecated and useless since we used method of 
+				<code>org.eclipse.sirius.business.internal.metamodel.description.validation.operations.ValidationRuleOperations</code> class.
+			</li>
+		</ul>
+		<h4 id="Changesinorg.eclipse.sirius.ui2">Changes in 
+			<code>org.eclipse.sirius.ui</code>
+		</h4>
+		<ul>
+			<li><span class="label label-success">Added</span> 
+				<code>org.eclipse.sirius.ui.business.api.preferences.SiriusUIPreferencesKeys.PREF_DISPLAY_VSM_USER_FIXED_COLOR_IN_PALETTE</code> has been added. Its default value is true. It allows to display, in the color palette, the user fixed color(defined in the activated viewpoints) in addition to standard colors. The color palette is available in Appearance tab of the Properties view.
+			</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> Some specific services exist natively in Sirius and can be used to contribute new select all actions. Theses services are all in the class 
+				<code>org.eclipse.sirius.diagram.ui.tools.api.interpreter.StandardDiagramServices</code>:
+				<ul>
+					<li>
+						<code>stdGetViewsRepresentingSameEType(DSemanticDiagram, List&lt;DSemanticDecorator&gt;)</code>: Return the list of 
+						<code>DSemanticDecorator</code> representing semantic element with same EType as the current selected diagram elements.
+					</li>
+					<li>
+						<code>stdGetViewsWithSameMapping(DSemanticDiagram, List&lt;DSemanticDecorator&gt;)</code>: Return the list of 
+						<code>DSemanticDecorator</code> having the same mappings as the current selected diagram elements.
+					</li>
+					<li>
+						<code>stdGetViewsRepresentingSelectedType(DSemanticDiagram)</code>: Return the list of 
+						<code>DSemanticDecorator</code> in the current diagram representing semantic element having the EType provided by the end-user through a dialog box. This dialog box can be improved. There is currently no completion, neither validation.
+					</li>
+					<li>
+						<code>stdGetViewsOfExpression(DSemanticDiagram)</code>: Return the list of 
+						<code>DSemanticDecorator</code> corresponding to the evaluation of an expression written by the end-user in a dialog box. This dialog box can be improved. There is currently no completion, neither validation.
+					</li>
+				</ul>
+			</li>
+			<li><span class="label label-success">Added</span> The query 
+				<code>isRepresentationLink()</code> has been added in 
+				<code>org.eclipse.sirius.diagram.ui.business.api.query.ViewQuery</code> to know if the view is a representation link or a normal note.
+			</li>
+			<li><span class="label label-success">Added</span> The query 
+				<code>isRepresentationLinkBroken()</code> has been added in 
+				<code>org.eclipse.sirius.diagram.ui.business.api.query.ViewQuery</code> to know, for a representation link, if it refers to a deleted representation descriptor. Invocations should be guarded by 
+				<code>isRepresentationLink()</code>.
+			</li>
+			<li><span class="label label-info">Modified</span> The interface 
+				<code>org.eclipse.sirius.diagram.ui.tools.api.figure.ViewNodeContainerFigureDesc</code> has been moved to 
+				<code>org.eclipse.sirius.ext.gmf.runtime.gef.ui.figures</code> package.
+			</li>
+			<li><span class="label label-info">Modified</span> The interface 
+				<code>org.eclipse.sirius.diagram.ui.tools.api.figure.StyledFigure</code> has been moved to 
+				<code>org.eclipse.sirius.ext.draw2d.figure</code> package.
+			</li>
+			<li><span class="label label-info">Modified</span> The interface 
+				<code>org.eclipse.sirius.diagram.ui.tools.api.figure.ITransparentFigure</code> has been moved to 
+				<code>org.eclipse.sirius.ext.draw2d.figure</code> package.
+			</li>
+			<li><span class="label label-info">Modified</span> The interface 
+				<code>org.eclipse.sirius.diagram.ui.tools.api.figure.IRoundedCorner</code> has been moved to 
+				<code>org.eclipse.sirius.ext.draw2d.figure</code> package.
+			</li>
+			<li><span class="label label-info">Modified</span> The interface 
+				<code>org.eclipse.sirius.diagram.ui.tools.api.figure.ImageFigureWithAlpha</code> has been moved to 
+				<code>org.eclipse.sirius.ext.draw2d.figure</code> package.
+			</li>
+			<li><span class="label label-info">Modified</span> The interface 
+				<code>org.eclipse.sirius.diagram.ui.tools.api.figure.anchor.ZoomDependantAnchor</code> has been moved to 
+				<code>org.eclipse.sirius.ext.gmf.runtime.gef.ui.figures.util</code> package.
+			</li>
+			<li><span class="label label-info">Modified</span> The interface 
+				<code>org.eclipse.sirius.diagram.ui.tools.api.figure.anchor.AnchorProvider</code> has been moved to 
+				<code>org.eclipse.sirius.ext.gmf.runtime.gef.ui.figures.util</code> package.
+			</li>
+			<li><span class="label label-info">Modified</span> The class 
+				<code>org.eclipse.sirius.diagram.ui.tools.api.figure.ViewGradientFigureDesc</code> has been moved to 
+				<code>org.eclipse.sirius.ext.draw2d.figure</code> package.
+			</li>
+			<li><span class="label label-info">Modified</span> The class 
+				<code>org.eclipse.sirius.diagram.ui.tools.api.figure.TransparentFigureGraphicsModifier</code> has been moved to 
+				<code>org.eclipse.sirius.ext.draw2d.figure</code> package.
+			</li>
+			<li><span class="label label-info">Modified</span> The class 
+				<code>org.eclipse.sirius.diagram.ui.tools.api.figure.SiriusWrapLabel</code> has been moved to 
+				<code>org.eclipse.sirius.ext.gmf.runtime.gef.ui.figures</code> package.
+			</li>
+			<li><span class="label label-info">Modified</span> The class 
+				<code>org.eclipse.sirius.diagram.ui.tools.api.figure.PolygoneAndPolylineDecoraction</code> has been moved to 
+				<code>org.eclipse.sirius.ext.draw2d.figure</code> package.
+			</li>
+			<li><span class="label label-info">Modified</span> The class 
+				<code>org.eclipse.sirius.diagram.ui.tools.api.figure.ParallelogramFigure</code> has been moved to 
+				<code>org.eclipse.sirius.ext.gmf.runtime.gef.ui.figures</code> package.
+			</li>
+			<li><span class="label label-info">Modified</span> The class 
+				<code>org.eclipse.sirius.diagram.ui.tools.api.figure.OneLineMarginBorder</code> has been moved to 
+				<code>org.eclipse.sirius.ext.gmf.runtime.gef.ui.figures</code> package.
+			</li>
+			<li><span class="label label-info">Modified</span> The class 
+				<code>org.eclipse.sirius.diagram.ui.tools.api.figure.ODesignEllipseFigure</code> has been moved to 
+				<code>org.eclipse.sirius.ext.draw2d.figure</code> package.
+			</li>
+			<li><span class="label label-info">Modified</span> The class 
+				<code>org.eclipse.sirius.diagram.ui.tools.api.figure.GaugeSectionFigure</code> has been moved to 
+				<code>org.eclipse.sirius.ext.gmf.runtime.gef.ui.figures</code> package.
+			</li>
+			<li><span class="label label-info">Modified</span> The class 
+				<code>org.eclipse.sirius.diagram.ui.tools.api.figure.GaugeCompositeFigure</code> has been moved to 
+				<code>org.eclipse.sirius.ext.gmf.runtime.gef.ui.figures</code> package.
+			</li>
+			<li><span class="label label-info">Modified</span> The class 
+				<code>org.eclipse.sirius.diagram.ui.tools.api.figure.DBorderedNodeFigure</code> has been moved to 
+				<code>org.eclipse.sirius.ext.gmf.runtime.gef.ui.figures</code> package.
+			</li>
+			<li><span class="label label-info">Modified</span> The class 
+				<code>org.eclipse.sirius.diagram.ui.tools.api.figure.anchor.AirSlidableImageAnchor</code> has been moved to 
+				<code>org.eclipse.sirius.ext.gmf.runtime.gef.ui.figures.util</code> package.
+			</li>
+			<li><span class="label label-info">Modified</span> The class 
+				<code>org.eclipse.sirius.diagram.ui.tools.api.figure.AlphaDropShadowBorder</code> has been moved to 
+				<code>org.eclipse.sirius.ext.gmf.runtime.gef.ui.figures</code> package.
+			</li>
+			<li><span class="label label-info">Modified</span> The class 
+				<code>org.eclipse.sirius.diagram.ui.tools.api.figure.AirStyleDefaultSizeNodeFigure</code> has been moved to 
+				<code>org.eclipse.sirius.ext.gmf.runtime.gef.ui.figures</code> package.
+			</li>
+			<li><span class="label label-info">Modified</span> The class 
+				<code>org.eclipse.sirius.diagram.ui.tools.api.figure.AirNoteFigure</code> has been moved to 
+				<code>org.eclipse.sirius.ext.gmf.runtime.gef.ui.figures</code> package.
+			</li>
+			<li><span class="label label-info">Modified</span> The class 
+				<code>org.eclipse.sirius.diagram.ui.tools.api.figure.AirDefaultSizeNodeFigure</code> has been moved to 
+				<code>org.eclipse.sirius.ext.gmf.runtime.gef.ui.figures</code> package.
+			</li>
+			<li><span class="label label-info">Modified</span> The class 
+				<code>org.eclipse.sirius.diagram.ui.tools.api.figure.AbstractTransparentRectangle</code> has been moved to 
+				<code>org.eclipse.sirius.ext.draw2d.figure</code> package.
+			</li>
+			<li><span class="label label-info">Modified</span> The class 
+				<code>org.eclipse.sirius.diagram.ui.tools.api.figure.AbstractTransparentRectangle</code> has been moved to 
+				<code>org.eclipse.sirius.ext.draw2d.figure</code> package.
+			</li>
+			<li><span class="label label-info">Modified</span> The class 
+				<code>org.eclipse.sirius.diagram.ui.tools.api.figure.AbstractTransparentNode</code> has been moved to 
+				<code>org.eclipse.sirius.ext.gmf.runtime.gef.ui.figures</code> package.
+			</li>
+			<li><span class="label label-info">Modified</span> The class 
+				<code>org.eclipse.sirius.diagram.ui.tools.api.figure.AbstractTransparentImage</code> has been moved to 
+				<code>org.eclipse.sirius.ext.gmf.runtime.gef.ui.figures</code> package.
+			</li>
+			<li><span class="label label-info">Modified</span> The class 
+				<code>org.eclipse.sirius.diagram.ui.tools.api.figure.AbstractTransparentEllipse</code> has been moved to 
+				<code>org.eclipse.sirius.ext.draw2d.figure</code> package.
+			</li>
+			<li><span class="label label-info">Modified</span> The class 
+				<code>org.eclipse.sirius.diagram.ui.tools.api.figure.AbstractGeoShapePolygonFigure</code> has been moved to 
+				<code>org.eclipse.sirius.ext.gmf.runtime.gef.ui.figures</code> package.
+			</li>
+			<li><span class="label label-info">Modified</span> An int parameter replace now the BackgroundStyle parameter into the class 
+				<code>org.eclipse.sirius.diagram.ui.tools.api.figure.GradientRoundedRectangle</code>. This parameter represents still the backgroundStyle in int format.
+			</li>
+		</ul>
+		<h4 id="Changesinorg.eclipse.sirius.diagram.sequence.ui">Changes in 
+			<code>org.eclipse.sirius.diagram.sequence.ui</code>
+		</h4>
+		<ul>
+			<li><span class="label label-info">Modified</span> The class 
+				<code>org.eclipse.sirius.diagram.sequence.ui.tool.internal.figure.HorizontalGuide</code> has been moved to 
+				<code>org.eclipse.sirius.ext.draw2d.figure</code> package.
+			</li>
+			<li><span class="label label-info">Modified</span> The class 
+				<code>org.eclipse.sirius.diagram.sequence.ui.tool.internal.figure.CombinedFragmentInvisibleResizableCompartmentFigure</code> has been moved to 
+				<code>org.eclipse.sirius.ext.gmf.runtime.gef.ui.figures</code> package.
+			</li>
+			<li><span class="label label-info">Modified</span> The class 
+				<code>org.eclipse.sirius.diagram.sequence.ui.tool.internal.figure.SequenceSlidableAnchor</code> has been moved to 
+				<code>org.eclipse.sirius.ext.gmf.runtime.gef.ui.figures</code> package.
+			</li>
+		</ul>
+		<h4 id="Changesinorg.eclipse.sirius.common6">Changes in  
+			<code>org.eclipse.sirius.common</code>
+		</h4>
+		<ul>
+			<li><span class="label label-success">Added</span> The new preference 
+				<code>PREF_ASK_TO_SAVE_RESOURCE_AFTER_MIGRATION</code> has been added in 
+				<code>CommonPreferencesConstants</code>. If true users will be asked to save the VSM or aird if it has been automatically migrated after a user action.
+			</li>
+			<li><span class="label label-success">Added</span> The new 
+				<code>org.eclipse.sirius.common.tools.api.util.SiriusCopier</code> has been added to provide the ability to copy an object without copying the attribute seen as id by EMF. If this id is not set by the factory or during object creation and if its concrete expected type is 
+				<code>String</code>, it is set during the copy using 
+				<code>org.eclipse.emf.ecore.util.EcoreUtil.generateUUID()</code>.
+			</li>
+		</ul>
+		<h4 id="Changesinorg.eclipse.sirius.tests.swtbot.support3">Changes in 
+			<code>org.eclipse.sirius.tests.swtbot.support</code>
+		</h4>
+		<ul>
+			<li><span class="label label-success">Added</span> The new method 
+				<code>AbstractSiriusSwtBotGefTestCase.changeSiriusCommonPreference(String, Boolean)</code> has been added. It allows to change a preference defined in 
+				<code>oes.common</code> plugin.
+			</li>
+		</ul>
+		<h4 id="Migrations3">Migrations</h4>
+		<ul>
+			<li><span class="label label-success">Added</span> A migration participant has been added to convert the serialized xmi:id to the technical id (uid attribut) for Sirius model elements of the .aird files (see 
+				<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=525261">bugzilla #525261</a> for more details). The corresponding version, stored in attribute version of viewpoint:DAnalysis of the aird file, is 
+				<em>14.1.0.201808300808</em>.
+			</li>
+			<li><span class="label label-success">Added</span> A migration participant has been added to fix diagrams with corrupted Note, Text or Note Attachment (see 
+				<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=539550">bugzilla #539550</a> for more details). The corresponding version, stored in attribute version of viewpoint:DAnalysis of the aird file, is 
+				<em>14.1.0.201809271200</em>.
+			</li>
+			<li><span class="label label-success">Added</span> A migration participant has been added to update existing representation link. (see 
+				<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=535648">bugzilla #533175</a> for more details). The corresponding version, stored in attribute version of viewpoint:DAnalysis of the aird file, is 
+				<em>14.1.0.201810111800</em>.
+			</li>
+			<li><span class="label label-success">Added</span> A migration participant has been added to fix edge with multiple connector style (see 
+				<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=539944">bugzilla #539944</a> for more details). The corresponding version, stored in attribute version of viewpoint:DAnalysis of the aird file, is 
+				<em>14.1.0.201810161215</em>.
+			</li>
+		</ul>
+		<h4 id="TranslationKeysChanges2">Translation Keys Changes</h4>
+		<p>See 
+			<a href="i18n_changes.html#sirius61">this document</a> for the complete list of message keys added or removed in Sirius 6.1.0.
+		</p>
+		<h2 id="sirius6.0.0">Changes in Sirius 6.0.0</h2>
+		<h3 id="UserVisibleChanges8">User-Visible Changes</h3>
+		<ul>
+			<li><span class="label label-success">Added</span> A new feature allows user to insert vertical blank space in sequence diagram. You can refer to the 
+				<a href="user/sequences/Sequence%20Diagrams.html#insert_vertical_blank_space">user documentation </a> for more details. 
+			</li>
+			<li><span class="label label-success">Added</span> A new feature called &#8220;Generic Edge Creation Tool&#8221; allows to create an edge by starting to select the source and the target before choosing the concrete edge creation tool. That allows to restrict the list of possible edge creation tools (possibly only one edge or no one) according to the selected source and target.</li>
+		</ul>
+		<p>
+			<img border="0" src="images/genericEdgeCreationTool.png"/>
+		</p>
+		<ul>
+			<li> <span class="label label-success">Added</span> A new feature called &#8220;Link Note&#8221; has been added. It is a special kind of note which references any existing representation in the project. It is possible to navigate to the target representation by double clicking on a link note. You can refer to the 
+				<a href="user/diagrams/Diagrams.html#notes">user documentation</a> for more details.
+			</li>
+			<li><span class="label label-success">Added</span> The color palette for text, line and fill buttons, in appearance tab in properties view, has been enhanced. Before, when clicking on text, line or fill buttons, the available colors were only 12 arbitrary colors. Now, there are 50 maximum colors distributed in 10 columns. The displayed colors are
+				<ul>
+					<li>a shading of black to white then,</li>
+					<li>all fixed colors defined in VSM of all selected viewpoints and </li>
+					<li>the Sirius fixed colors following the colors of the rainbow.</li>
+				</ul>
+			</li>
+		</ul>
+		<p>
+			<img border="0" src="images/color_palette.png"/>
+		</p>
+		<h3 id="SpecifierVisibleChanges5">Specifier-Visible Changes</h3>
+		<ul>
+			<li><span class="label label-success">Added</span> An action is added in main toolbar to reload the VSM of installed plug-ins that may have changed. Refer to the 
+				<a href="specifier/general/Specifying_Viewpoints.html#reloadVSM">specifier documentation</a> for details.
+			</li>
+			<li><span class="label label-success">Added</span> In the VSM editor, when the cursor is inside an interpreted expression at a location which corresponds to a Java service invocation, hitting 
+				<strong>F3</strong> will navigate to the service implementation in a Java editor. See 
+				<a href="specifier/general/Writing_Queries.html#service_navigation">the documentation</a> for more details.
+			</li>
+			<li><span class="label label-success">Added</span> Specifier can now define a background color for a diagram representation. It is possible by specifying color in the 
+				<em>Background</em> property section of the 
+				<em>Diagram Description</em>. Pre-defined system colors and colors from the 
+				<em>User Color Palette</em> are supported. See 
+				<a href="specifier/diagrams/Diagrams.html#diagram_description">the documentation</a> for details.
+			</li>
+			<li><span class="label label-success">Added</span> A new experimental feature regarding layouting is available. It brings you the capabilities of ELK layouting framework. If installed you can specify in your VSM the layout algorithm triggered by arrange all button among the ELK algorithms. To get an overview of what is possible with ELK you can read this 
+				<a href="https://blog.obeosoft.com/a-picture-is-worth-a-thousand-words">article</a>. To know how to use the ELK algorithms, read the 
+				<a href="specifier/diagrams/Diagrams.html#useElk">documentation</a>
+			</li>
+			<li><span class="label label-info">Modified</span> Warning: Java service throwing an 
+				<code>OperationCanceledException</code> with a message containing the specific key word "
+				<code>-RT-</code>" has now a specific behavior. In this case, the 
+				<code>OperationCanceledException</code> is rethrown to rollback the command if this Java service is called from an AQL expression or through the service interpreter. You can refer to 
+				<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=531487">bugzilla 531487</a> for more details.
+			</li>
+		</ul>
+		<h3 id="DeveloperVisibleChanges9">Developer-Visible Changes</h3>
+		<ul>
+			<li><span class="label label-info">Modified</span> The SWTBot test framework version has been upgraded toward SWTBot 2.6. The main impacts are described below:
+				<ul>
+					<li>The way we retrieved some views by using 
+						<code>bot.viewByTitle</code> (like &#8220;Problems&#8221; or &#8220;Error Log&#8221;) may not work anymore. Use 
+						<code>bot.viewByPartName</code> instead.
+					</li>
+					<li>
+						<code>org.eclipse.swtbot.swt.finder.widgets.AbstractSWTBot.contextMenu(String)</code> raise a 
+						<code>WidgetNotFoundException</code> instead of a 
+						<code>TimeoutException</code>.
+					</li>
+					<li>The 
+						<code>org.eclipse.sirius.tests.swtbot.support.utils.dnd.DndUtil</code> has been updated to be compatible with Oxygen and Photon platforms. Some methods may not work anymore on Neon platform.
+					</li>
+				</ul>
+			</li>
+			<li><span class="label label-info">Modified</span> Some changes have been done in the image export tooling. Main impacts are described below:
+				<ul>
+					<li>The export of images, methods 
+						<code>org.eclipse.sirius.ui.tools.api.actions.export.ExportAction.execute</code> and 
+						<code>org.eclipse.sirius.ui.tools.api.actions.export.ExportAction.createImageFiles</code>, do not open UI Dialogs anymore. It throws an 
+						<code>java.lang.reflect.InvocationTargetException</code> that wraps the real cause of the error (
+						<code>org.eclipse.sirius.ui.tools.api.actions.export.SizeTooLargeException</code> or 
+						<code>java.lang.OutOfMemoryError</code>). Callers have to handle properly the exception.
+					</li>
+					<li>The mechanism allowing to authorize or forbid the export of an image, method 
+						<code>org.eclipse.sirius.diagram.ui.tools.api.part.DiagramEditPartService.isTooBig</code>, can now handle very large images that previously leads to incorrect exports.
+					</li>
+				</ul>
+			</li>
+			<li><span class="label label-danger">Removed</span> Since Sirius 5.0.0, 
+				<code>org.eclipse.sirius.ext.jface.viewers.IToolTipProvider</code> is not used anymore to provide a tooltip on diagram element decorations defined in the VSM. The tooltip is defined directly with an interpreted expression on 
+				<code>GenericDecorationDescription</code>, 
+				<code>MappingBasedDecoration</code> and 
+				<code>SemanticBasedDecoration</code>.
+			</li>
+		</ul>
+		<h4 id="Changesinorg.eclipse.sirius.common7">Changes in 
+			<code>org.eclipse.sirius.common</code>
+		</h4>
+		<ul>
+			<li><span class="label label-danger">Removed</span> The interface 
+				<code>org.eclipse.sirius.common.tools.api.interpreter.IExpressionProposal</code> and its only implementation 
+				<code>DefaultExpressionProposal</code> (in the same package) have been removed. They were not used anywhere, expression completion API is actually defined in package 
+				<code>org.eclipse.sirius.common.tools.api.contentassist</code> which has its own types.
+			</li>
+		</ul>
+		<h4 id="Changesinorg.eclipse.sirius5">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.componentization.ViewpointRegistry.reloadAllFromPlugins()</code> has been added to reload, from the runtime, all the VSMs of installed plug-ins and have the effect dynamically in the runtime.
+			</li>
+			<li><span class="label label-info">Modified</span> The class 
+				<code>org.eclipse.sirius.business.api.componentization.ViewpointRegistryImpl()</code> has been moved to 
+				<code>org.eclipse.sirius.business.internal.componentization</code> package.
+			</li>
+			<li><span class="label label-danger">Removed</span> The whole 
+				<code>contribution</code> metamodel, which lived in package 
+				<code>org.eclipse.sirius.description.contribution</code>, has been removed. It corresponded to an experimental feature which has been abandonned long ago.
+			</li>
+			<li><span class="label label-danger">Removed</span> The whole 
+				<code>DRefreshable.refresh()</code> EOperation has been removed from the metamodel, along with all its implementations. Client code that needs the functionality can use either 
+				<code>DialectManager.refresh()</code> for 
+				<code>DRepesentations</code> or the new 
+				<code>org.eclipse.sirius.diagram.tools.api.command.view.RefreshSiriusElement.refresh(DRefreshable)</code> static method for diagram elements (
+				<code>DRefreshable.refresh()</code> was a no-op for elements of other dialects). 
+			</li>
+			<li><span class="label label-danger">Removed</span> The 
+				<code>org.eclipse.sirius.viewpointSpecificationModel</code> extension point has been removed. It was part of the same experimental feauture and not actually used in practice.
+			</li>
+			<li><span class="label label-danger">Removed</span> In 
+				<code>org.eclipse.sirius.business.api.session.danalysis.DAnalysisSessionHelper</code>, the method 
+				<code>getViewpointSelection()</code> has been removed. It used an internal type as argument which has also been removed.
+			</li>
+			<li><span class="label label-danger">Removed</span> In 
+				<code>org.eclipse.sirius.business.api.helper.SiriusResourceHelper</code>, the method 
+				<code>getCorrespondingViewpoint(Session session, URI, boolean)</code> has been removed. It was not used anywhere, the real one is 
+				<code>getCorrespondingViewpoint(Session, Viewpoint)</code> in the same class.
+			</li>
+			<li><span class="label label-danger">Removed</span> In 
+				<code>org.eclipse.sirius.business.api.dialect.DialectServices</code> (and all its implementations), the method 
+				<code>refreshEffectiveRepresentationDescription(DRepresentation, IProgressMonitor)</code> has been removed. It corresponded to an experimental feature which has been abandonned long ago. 
+			</li>
+			<li><span class="label label-success">Added</span> A new 
+				<code>ToolSection</code>, 
+				<code>ToolGroup</code>  and 
+				<code>ToolInstance</code> model element have been added in 
+				<code>viewpoint</code> metamodel. These elements are used to represent tools available for a 
+				<code>DDiagram</code> with their visibility, enabling and filtering status. 
+				<code>ToolSectionInstance</code> are available in the 
+				<code>UIState</code> of a 
+				<code>DDiagram</code> by using the 
+				<code>toolSections</code> reference. 
+			</li>
+			<li><span class="label label-danger">Removed</span> the class 
+				<code>ToolFilterDescriptionListener</code> has been removed because of the new 
+				<code>ToolMangament</code> mechanism used to handle tools and layer changes.
+			</li>
+		</ul>
+		<h4 id="Changesinorg.eclipse.sirius.diagram6">Changes in 
+			<code>org.eclipse.sirius.diagram</code>
+		</h4>
+		<ul>
+			<li><span class="label label-success">Added</span> 
+				<code>org.eclipse.sirius.diagram.tools.api.preferences.SiriusDiagramPreferencesKeys.PREF_DISPLAY_GENERIC_EDGE_CREATION_TOOL</code> has been added to make to possible to hide the new generic edge creation tool. See the 
+				<em>User-Visible Changes</em> or the user documentation for more details.
+			</li>
+			<li><span class="label label-success">Added</span> A component 
+				<code>ToolManagement</code> has been created to manage tool availability and status for a given 
+				<code>DDiagram</code>. It comes with the listener interface 
+				<code>ToolChangeListener</code> that can be used to be warned about tool changes.
+			</li>
+			<li><span class="label label-success">Added</span>  An interface 
+				<code>ToolConstants</code> has been created to gather constants relative to tool management.
+			</li>
+			<li><span class="label label-info">Modified</span> The constants 
+				<code>SiriusDiagramPaletteFactory#GENERIC_CONNECTION_CREATION_TOOL</code> and 
+				<code>SiriusDiagramPaletteFactory#TOOL_NOTEATTACHMENT</code> have been moved in 
+				<code>ToolConstants</code>
+			</li>
+			<li><span class="label label-info">Modified</span> The classes 
+				<code>ToolFilter</code> and 
+				<code>ToolFilterFromDescription</code> have been moved from the plugin 
+				<code>oes.diagram.ui</code> to 
+				<code>oes.diagram</code> in package 
+				<code>org.eclipse.sirius.diagram.tools.api.managment</code>
+			</li>
+		</ul>
+		<h4 id="Changesinorg.eclipse.sirius.diagram.ui7">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.tools.api.editor.tabbar.AbstractTabbarContributor.createStraightenContribution()</code> has been added to make accessible the creation of the Straighten To tabbar contribution item.
+			</li>
+		</ul>
+		<ul>
+			<li><span class="label label-success">Added</span> 
+				<code>org.eclipse.sirius.diagram.ui.customLayoutAlgorithmProvider</code> extension point has been added. It allows to contribute layout algorithms that can be configured directly in the VSM. This extension point comes with the following classes as API: 
+				<code>org.eclipse.sirius.diagram.ui.api.layout.CustomLayoutAlgorithmProvider</code>, 
+				<code>org.eclipse.sirius.diagram.ui.api.layout.CustomLayoutAlgorithm</code>, 
+				<code>org.eclipse.sirius.diagram.ui.api.layout.EnumChoice</code> and 
+				<code>org.eclipse.sirius.diagram.ui.api.layout.LayoutOptionFactory</code>.
+			</li>
+		</ul>
+		<ul>
+			<li><span class="label label-info">Modified</span> The methods 
+				<code>hideLayer(Layer)</code>, 
+				<code>showLayer(Layer)</code>, 
+				<code>addToolFilter(ToolFilter)</code> and 
+				<code>removeToolFilter(ToolFilter)</code> of 
+				<code>org.eclipse.sirius.diagram.ui.tools.api.graphical.edit.palette.PaletteManager</code> have been made deprecated. They are not used anymore. The API 
+				<code>ToolManagement</code> is now the entry point to make palette update regarding tools and layer changes.
+			</li>
+		</ul>
+		<ul>
+			<li><span class="label label-info">Modified</span> The 
+				<code>Diagram</code> parameter of the methods 
+				<code>oes.update(Diagram)</code> and 
+				<code>oes.update(Diagram,boolean)</code> has been changed to 
+				<code>DDiagram</code>.
+			</li>
+		</ul>
+		<h4 id="Changesinorg.eclipse.sirius.ui3">Changes in 
+			<code>org.eclipse.sirius.ui</code>
+		</h4>
+		<ul>
+			<li><span class="label label-danger">Removed</span> The class 
+				<code>org.eclipse.sirius.ui.business.api.viewpoint.ViewpointSelectionDialog</code> has been removed.
+			</li>
+		</ul>
+		<h4 id="Changesinorg.eclipse.sirius.tests.junit.support2">Changes in 
+			<code>org.eclipse.sirius.tests.junit.support</code>
+		</h4>
+		<ul>
+			<li><span class="label label-success">Added</span> 
+				<code>org.eclipse.sirius.tests.support.api.TestsUtil.isBeforeOxygenPlatform()</code> has been added to detect if the current platform corresponds to a version before Oxygen.
+			</li>
+			<li><span class="label label-info">Modified</span> A 
+				<code>String</code> parameter has been added to the method 
+				<code>org.eclipse.sirius.tests.support.api.TestsUtil.setTargetPlatform()</code>. This new parameter corresponds to the plug-in name from where the tests are currently launched (for example 
+				<code>org.eclipse.sirius.tests.swtbot.Activator.PLUGIN_ID</code>). It avoids to build a wrong target platform containing each Sirius plug-ins twice. 
+			</li>
+		</ul>
+		<h4 id="Changesinorg.eclipse.sirius.tests.swtbot.support4">Changes in 
+			<code>org.eclipse.sirius.tests.swtbot.support</code>
+		</h4>
+		<ul>
+			<li><span class="label label-danger">Removed</span> The method 
+				<code>org.eclipse.sirius.tests.swtbot.support.utils.dnd.DndUtil#dragAndDrop(AbstractSWTBot&lt;? extends Widget&gt;, AbstractSWTBot&lt;? extends Widget&gt;)</code> has been removed. When explicit drop coordinates are not needed, use the standard SWTbot 
+				<code>org.eclipse.swtbot.swt.finder.widgets.AbstractSWTBot.dragAndDrop(AbstractSWTBot&lt;? extends Widget&gt;)</code> method instead. 
+			</li>
+		</ul>
+		<h4 id="Migrations4">Migrations</h4>
+		<ul>
+			<li><span class="label label-success">Added</span> A migration participant has been added to fix diagram with note attachment corrupted (see 
+				<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=533177">bugzilla #533177</a> for more details). The corresponding version, stored in attribute version of viewpoint:DAnalysis of the aird file, is 
+				<em>13.0.0.201804031646</em>.
+			</li>
+		</ul>
+		<h4 id="TranslationKeysChanges3">Translation Keys Changes</h4>
+		<p>See 
+			<a href="i18n_changes.html#sirius60">this document</a> for the complete list of message keys added or removed in Sirius 6.0.
+		</p>
+	</body>
+</html>
\ No newline at end of file
diff --git a/doc/6.4.x/Release_Notes_Previous.html b/doc/6.4.x/Release_Notes_Previous.html
new file mode 100644
index 0000000..0e0d900
--- /dev/null
+++ b/doc/6.4.x/Release_Notes_Previous.html
@@ -0,0 +1,5712 @@
+<?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_Previous</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="ReleaseNotesforOlderVersionofSirius">Release Notes for Older Version of Sirius</h1>
+		<ol class="toc" style="list-style: disc;">
+			<li>
+				<a href="#ReleaseNotesforOlderVersionofSirius">Release Notes for Older Version of Sirius</a>
+				<ol style="list-style: disc;">
+					<li>
+						<a href="#sirius5.1.1">Changes in Sirius 5.1.1</a>
+						<ol style="list-style: disc;">
+							<li>
+								<a href="#UserVisibleChanges">User-Visible Changes</a>
+							</li>
+							<li>
+								<a href="#DeveloperVisibleChanges">Developer-Visible Changes</a>
+							</li>
+						</ol>
+					</li>
+					<li>
+						<a href="#sirius5.1.0">Changes in Sirius 5.1.0</a>
+						<ol style="list-style: disc;">
+							<li>
+								<a href="#UserVisibleChanges2">User-Visible Changes</a>
+							</li>
+							<li>
+								<a href="#SpecifierVisibleChanges">Specifier-Visible Changes</a>
+							</li>
+							<li>
+								<a href="#DeveloperVisibleChanges2">Developer-Visible Changes</a>
+							</li>
+						</ol>
+					</li>
+					<li>
+						<a href="#sirius5.0.1">Changes in Sirius 5.0.1</a>
+					</li>
+					<li>
+						<a href="#sirius5.0.0">Changes in Sirius 5.0.0</a>
+						<ol style="list-style: disc;">
+							<li>
+								<a href="#UserVisibleChanges3">User-Visible Changes</a>
+							</li>
+							<li>
+								<a href="#DeveloperVisibleChanges3">Developer-Visible Changes</a>
+							</li>
+							<li>
+								<a href="#SpecifierVisibleChanges2">Specifier-Visible Changes</a>
+							</li>
+						</ol>
+					</li>
+					<li>
+						<a href="#sirius4.1.2">Changes in Sirius 4.1.2</a>
+						<ol style="list-style: disc;">
+							<li>
+								<a href="#UserVisibleChanges4">User-Visible Changes</a>
+							</li>
+							<li>
+								<a href="#DeveloperVisibleChanges4">Developer-Visible Changes</a>
+							</li>
+						</ol>
+					</li>
+					<li>
+						<a href="#sirius4.1.1">Changes in Sirius 4.1.1</a>
+						<ol style="list-style: disc;">
+							<li>
+								<a href="#UserVisibleChanges5">User-Visible Changes</a>
+							</li>
+							<li>
+								<a href="#DeveloperVisibleChanges5">Developer-Visible Changes</a>
+							</li>
+						</ol>
+					</li>
+					<li>
+						<a href="#sirius4.1.0">Changes in Sirius 4.1.0</a>
+						<ol style="list-style: disc;">
+							<li>
+								<a href="#UserVisibleChanges6">User-Visible Changes</a>
+							</li>
+							<li>
+								<a href="#SpecifierVisibleChanges3">Specifier-Visible Changes</a>
+							</li>
+							<li>
+								<a href="#DeveloperVisibleChanges6">Developer-Visible Changes</a>
+							</li>
+						</ol>
+					</li>
+					<li>
+						<a href="#sirius4.0.0">Changes in Sirius 4.0.0</a>
+						<ol style="list-style: disc;">
+							<li>
+								<a href="#UserVisibleChanges7">User-Visible Changes</a>
+							</li>
+							<li>
+								<a href="#SpecifierVisibleChanges4">Specifier-Visible Changes</a>
+							</li>
+							<li>
+								<a href="#DeveloperVisibleChanges7">Developer-Visible Changes</a>
+							</li>
+						</ol>
+					</li>
+					<li>
+						<a href="#sirius3.1.0">Changes in Sirius 3.1.0</a>
+						<ol style="list-style: disc;">
+							<li>
+								<a href="#UserVisibleChanges8">User-Visible Changes</a>
+							</li>
+							<li>
+								<a href="#SpecifierVisibleChanges5">Specifier-Visible Changes</a>
+							</li>
+							<li>
+								<a href="#DeveloperVisibleChanges8">Developer-Visible Changes</a>
+							</li>
+						</ol>
+					</li>
+					<li>
+						<a href="#sirius3.0.0">Changes in Sirius 3.0.0</a>
+						<ol style="list-style: disc;">
+							<li>
+								<a href="#UserVisibleChanges9">User-Visible Changes</a>
+							</li>
+							<li>
+								<a href="#SpecifierVisibleChanges6">Specifier-Visible Changes</a>
+							</li>
+							<li>
+								<a href="#DeveloperVisibleChanges9">Developer-Visible Changes</a>
+							</li>
+						</ol>
+					</li>
+					<li>
+						<a href="#sirius2.0.0">Changes in Sirius 2.0.0</a>
+						<ol style="list-style: disc;">
+							<li>
+								<a href="#UserVisibleChanges10">User-Visible Changes</a>
+							</li>
+							<li>
+								<a href="#SpecifierVisibleChanges7">Specifier-Visible Changes</a>
+							</li>
+							<li>
+								<a href="#APIChanges">API Changes</a>
+							</li>
+						</ol>
+					</li>
+					<li>
+						<a href="#sirius1.0.0">Changes in Sirius 1.0.0 (from Sirius 1.0.0M7)</a>
+						<ol style="list-style: disc;">
+							<li>
+								<a href="#UserVisibleChanges11">User-Visible Changes</a>
+							</li>
+							<li>
+								<a href="#SpecifierVisibleChanges8">Specifier-Visible Changes</a>
+							</li>
+							<li>
+								<a href="#APIChanges2">API Changes</a>
+							</li>
+						</ol>
+					</li>
+					<li>
+						<a href="#sirius1.0M7">Changes in Sirius 1.0.0M7 (from Sirius 1.0M6)</a>
+						<ol style="list-style: disc;">
+							<li>
+								<a href="#SpecifierVisibleChanges9">Specifier-Visible Changes</a>
+							</li>
+							<li>
+								<a href="#APIChanges3">API Changes</a>
+							</li>
+						</ol>
+					</li>
+					<li>
+						<a href="#sirius1.0M6">Changes in Sirius 1.0.0M6 (from Sirius 1.0M5)</a>
+						<ol style="list-style: disc;">
+							<li>
+								<a href="#APIChanges4">API Changes</a>
+							</li>
+						</ol>
+					</li>
+					<li>
+						<a href="#sirius1.0M5">Changes in Sirius 1.0.0M5 (from Sirius 1.0M4)</a>
+						<ol style="list-style: disc;">
+							<li>
+								<a href="#UserVisibleChanges12">User-Visible Changes</a>
+							</li>
+							<li>
+								<a href="#APIChanges5">API Changes</a>
+							</li>
+						</ol>
+					</li>
+					<li>
+						<a href="#sirius1.0M4">Changes in Sirius 1.0.0M4 (from Sirius 0.9)</a>
+						<ol style="list-style: disc;">
+							<li>
+								<a href="#UserVisibleChanges13">User-Visible Changes</a>
+							</li>
+							<li>
+								<a href="#APIChanges6">API Changes</a>
+							</li>
+						</ol>
+					</li>
+					<li>
+						<a href="#sirius0.9">Changes in Sirius 0.9.0</a>
+						<ol style="list-style: disc;">
+							<li>
+								<a href="#MigratingfromObeoDesignerorViewpointtoSirius">Migrating from Obeo Designer or Viewpoint to Sirius</a>
+							</li>
+							<li>
+								<a href="#Pluginsversionnumbers.">Plug-ins version numbers.</a>
+							</li>
+							<li>
+								<a href="#Majornamespacechanges">Major namespace changes</a>
+							</li>
+							<li>
+								<a href="#NatureID">Nature ID</a>
+							</li>
+							<li>
+								<a href="#OtherAPIChanges">Other API Changes</a>
+							</li>
+							<li>
+								<a href="#SpecifierVisibleChanges10">Specifier-Visible Changes</a>
+							</li>
+							<li>
+								<a href="#UserVisibleChanges14">User-Visible Changes</a>
+							</li>
+						</ol>
+					</li>
+				</ol>
+			</li>
+		</ol>
+		<p>This document contains the release notes for older versions of of Sirius.</p>
+		<h2 id="sirius5.1.1">Changes in Sirius 5.1.1</h2>
+		<h3 id="UserVisibleChanges">User-Visible Changes</h3>
+		<ul>
+			<li><span class="label label-info">Modified</span> When exporting a diagram as an image, it is now possible to choose an image size level. Before this, a preference called 
+				<em>AutoScale</em> was available and when it was enable, the diagram was scaled to the maximum size safely allowed by the system. Now, a new preference named 
+				<em>Size of exported images</em> is available in the 
+				<em>Sirius &gt; Sirius Diagram</em> preference page and offer this possibility. Setting size to 
+				<em>Max</em> generates same diagrams as by using the previous preference 
+				<em>AutoScale</em>. This can produce image with big size in long generation time. If 
+				<em>Size of exported images</em> is set to level 
+				<em>Nominal</em>, diagram will be exported with nominal size (quality will be lower but export time will be shorter). This new preference allows you to choose the tradeoff you want. The 
+				<a href="user/diagrams/Diagrams.html#Exportingimages">user documentation </a> details this change with an example. 
+			</li>
+			<li><span class="label label-info">Modified</span> The "
+				<em>Auto Size</em>" action can now be applied on region container. Before that, the action was available only for regions.
+			</li>
+			<li><span class="label label-info">Modified</span> The "
+				<em>Make Same Size</em>" action can now be applied on region container. If selected region containers have the same number of regions, the regions will have the same size. If the region container used for reference has more regions than the other(s), the last region of others will have the size of all remaining regions in the one used for reference.
+			</li>
+			<li><span class="label label-info">Modified</span> In diagrams, the selection by drawing a rectangle on container (using ALT key) now has the same behaviors than selection by drawing a rectangle on the diagram&#8217;s background. You can refer to 
+				<em>Selection</em> section of the 
+				<a href="user/diagrams/Diagrams.html#standardToolId">Standard Tools</a> chapter for more details on this tool.
+			</li>
+		</ul>
+		<h3 id="DeveloperVisibleChanges">Developer-Visible Changes</h3>
+		<h4 id="Changesinorg.eclipse.sirius">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.query.SiriusReferenceFinder.of(EObject)</code> has been added to provide an easy way to get the 
+				<code>SiriusReferenceFinder</code> from an 
+				<code>EObject</code> in the Sirius 
+				<code>Session</code>. 
+			</li>
+			<li><span class="label label-info">Modified</span> (experimental) The method 
+				<code>org.eclipse.sirius.business.api.query.SiriusReferenceFinder.getReferencingSiriusElements(Collection&lt;EObject&gt;, SearchScope)</code>. The SearchScope.LOADED_REPRESENTATIONS_SCOPE scope covers the search and result scope. Then, no additional resource will be loaded using this scope.
+			</li>
+		</ul>
+		<h4 id="Changesinorg.eclipse.sirius.diagram.ui">Changes in 
+			<code>org.eclipse.sirius.diagram.ui</code>
+		</h4>
+		<ul>
+			<li><span class="label label-warning">Deprecated</span> Preference 
+				<code>PREF_SCALE_DIAGRAMS_ON_EXPORT</code> from 
+				<code>org.eclipse.sirius.diagram.ui.tools.api.preferences.SiriusDiagramUiPreferencesKeys</code> is now deprecated. User should use new preference 
+				<code>org.eclipse.sirius.ui.business.api.preferences.SiriusUIPreferencesKeys</code>: 
+				<code>PREF_SCALE_LEVEL_DIAGRAMS_ON_EXPORT</code>.
+			</li>
+			<li><span class="label label-success">Added</span> A new attribute 
+				<code>margin</code> has been added in 
+				<code>org.eclipse.sirius.diagram.ui.business.api.DiagramExportResult</code>. This attribute indicates what margin has been used to produce a white frame during diagram export. This attribute is available from the getter 
+				<code>getMargin()</code>. A new constructor is also available to pass on the margin 
+				<code>org.eclipse.sirius.diagram.ui.business.api.DiagramExportResult.DiagramExportResult(DDiagram, double, int, Collection&lt;IPath&gt;)</code>. 
+			</li>
+			<li><span class="label label-info">Modified</span> If you previously override the default Sirius value for 
+				<code>SiriusDiagramUiPreferencesKeys.PREF_SCALE_DIAGRAMS_ON_EXPORT</code>, you must replace this override by an override of the new preference 
+				<code>SiriusUIPreferencesKeys.PREF_SCALE_LEVEL_DIAGRAMS_ON_EXPORT</code>. Example: 
+			</li>
+		</ul>
+		<pre>SiriusEditPlugin.getPlugin().getPreferenceStore().setDefault(SiriusUIPreferencesKeys.PREF_SCALE_LEVEL_DIAGRAMS_ON_EXPORT.name(),0); 
+
+</pre>
+		<h4 id="Changesinorg.eclipse.sirius.ui">Changes in 
+			<code>org.eclipse.sirius.ui</code>
+		</h4>
+		<ul>
+			<li><span class="label label-success">Added</span> A new preference has been added to 
+				<code>org.eclipse.sirius.ui.business.api.preferences.SiriusUIPreferencesKeys</code>: 
+				<code>PREF_SCALE_LEVEL_DIAGRAMS_ON_EXPORT</code>. It is used to control the scaling level behavior when exporting diagrams. Refer to the JavaDoc for the details. 
+			</li>
+			<li><span class="label label-success">Added</span> The type 
+				<code>org.eclipse.sirius.ui.business.api.dialect.ExportFormat</code> has a new attribute representing the scaling level to use for diagram export. It is defined by an integer type. Refer to the JavaDoc for details on its meaning.
+			</li>
+		</ul>
+		<h4 id="Changesinorg.eclipse.sirius.tests.junit.support">Changes in 
+			<code>org.eclipse.sirius.tests.junit.support</code>
+		</h4>
+		<ul>
+			<li><span class="label label-success">Added</span> The method 
+				<code>SiriusTestCase.loadModeler(URI, EditingDomain)</code> allows to load the VSM at the specified URI and register all its Viewpoints in the current testcase. There is a new method, 
+				<code>org.eclipse.sirius.tests.support.api.SiriusTestCase.loadModeler(URI, EditingDomain, boolean)</code>, to allow to load the VSM at the specified URI without registering its viewpoints. It can be useful to load a VSM for an editing domain of another session than the current session of the
+			</li>
+		</ul>
+		<p>testcase.</p>
+		<h2 id="sirius5.1.0">Changes in Sirius 5.1.0</h2>
+		<h3 id="UserVisibleChanges2">User-Visible Changes</h3>
+		<ul>
+			<li><span class="label label-success">Added</span> When exporting a diagram as an image, it is now possible to choose whether or not the diagram should be scaled. If disabled, the diagram will be exported with its normal size (equivalent to a 100% zoom level). If auto-scaling is enabled, the diagram will be scaled to the maximum size safely allowed by the system (this can be different on different OSes). Note that when auto-scaling is enabled, the image files produced may be larger than without. When exporting very large diagrams it is also possible that the diagram will be scaled 
+				<em>down</em> (i.e. with a zoom level smaller than 100%). Enabling auto-scaling can be chosen on a case by case basis from the export dialog; the initial value in the dialog can be controlled by a new preference available in the 
+				<em>Sirius &gt; Sirius Diagram</em> preference page.
+			</li>
+			<li><span class="label label-success">Added</span> The end user can now 
+				<a href="user/diagrams/Diagrams.html#RemoveBendpoints">remove all bend-points</a> on rectilinear edges. It was only possible on oblique edges before. This action is available on edge context menu &#8220;Remove Bend-points&#8221; or by using the shortcut &#8220;Ctrl&#8221; + &#8220;Shift&#8221; + &#8220;-&#8221;. If number of bend-points can not be reduced, remove action will be inefficient.
+			</li>
+			<li><span class="label label-success">Added</span> The status Synchronized/Unsynchronized of the diagram is now displayed in the status bar when the diagram editor has the focus or can be directly displayed 
+				<a href="user/diagrams/Diagrams.html#synchronized_diagram">in the diagram</a> with a decorator.
+			</li>
+			<li><span class="label label-success">Added</span> The user now have a drop down menu in the tabbar with all available straighten to edge actions. </li>
+			<li><span class="label label-success">Added</span> Straighten to actions on edge are now available even if the selection contains incompatible elements (edge labels for example). Their execution affects only compatible edges.</li>
+			<li><span class="label label-success">Added</span> Four new straighten actions are available (with top pinned, with bottom pinned, with left pinned, with right pinned) and allow to straighten edges from the opposed straightening axis point of view.</li>
+			<li><span class="label label-info">Modified</span> In a diagram, when selecting an edge or a node that are not fully displayed in the editor, now, the reveal is not done anymore, that is, the displayed content of the editor is not moved anymore. If the user want to fully see the selected element, he may drag the editor content using center mouse button. </li>
+			<li><span class="label label-info">Modified</span> In a diagram with 
+				<em>snapToGrid</em> enabled:
+				<ul>
+					<li>When performing a drag and drop from the model explorer or a palette tool to the diagram, the new created element is now snapped to the grid.</li>
+					<li>When performing an 
+						<em>Arrange all</em> or an 
+						<em>Arrange Linked Border Node</em> action, all diagram elements are now snapped to the grid.
+					</li>
+					<li>When performing a drag and drop or a tool that will create multiple elements, all created elements are still visible but now snapped to the grid. </li>
+					<li>When creating an edge with a tool that also create the associated border nodes, the border nodes are now snapped near the click location. Before, they were created to respect a shortest path.</li>
+				</ul>
+			</li>
+		</ul>
+		<p>
+			<img border="0" src="./images/borderNodesWithSnapToGrid.png"/> 
+		</p>
+		<ul>
+			<li><span class="label label-info">Modified</span> In a sequence diagram, it is now possible to resize the combined fragment when the first or the last operand is selected (increase the size of the first operand to the top, or increase the size of the last operand to the bottom). Before, it was necessary to select the combined fragment itself to resize it. </li>
+			<li><span class="label label-info">Modified</span> In a sequence diagram, it is now possible to resize an 
+				<em>Execution</em> contained in an 
+				<em>Operand</em> without previously resize its 
+				<em>Operand</em> if more space is needed. The 
+				<em>Operand</em>, and if necessary the 
+				<em>Combined Fragment</em>, is resized too.
+			</li>
+			<li><span class="label label-info">Modified</span> In a diagram, the action 
+				<em>Show/Hide label</em> is now visible even if the selection contains invalid elements (ie elements without label). The action is applied only on valid elements of the selection.
+			</li>
+			<li><span class="label label-info">Modified</span> In a diagram, the Line Style actions (Tree, Oblique or Rectilinear Routing Style) is now visible in the contextual menu even if the selection contains invalid elements (other elements than edges). The action is applied only on valid elements of the selection.</li>
+			<li><span class="label label-info">Modified</span> When an user defines a custom bundled image shape for a figure (
+				<a href="developer/extensions-provide_custom_bundled_image_shape.html#bundleImageShape">bundleImageShape</a> ), opening or refreshing a diagram will not display exception anymore when the bundleImageShape extension is not valid. A warning is now displayed in the Error Log view to inform user of which attribute of the extension is not correct.
+			</li>
+		</ul>
+		<h3 id="SpecifierVisibleChanges">Specifier-Visible Changes</h3>
+		<ul>
+			<li><span class="label label-success">Added</span> An 
+				<a href="./user/general/Modeling%20Project.html#Migration">automatic migration</a> has been added in this version to fix diagram with edge labels corrupted (see 
+				<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=518870">bugzilla #518870</a> for more details). Contrary to all previous migrations, this one logs an information in the 
+				<em>Error Log</em> view to inform how many labels have been fixed in concerned diagrams. If detected as &#8220;corrupted label&#8221;, the label is reset to its default location (as if you launch the &#8220;Snap Back&#8221; action of it). If at least one label is detected as &#8220;corrupted label&#8221;, the layout is also potentially corrupted (nodes, children of the diagram, with x or y coordinate very big). In this case, the concerned nodes are moved near 5000 (or -5000) as new coordinate. A message is added in this case: 
+				<em>Some nodes have also been moved as the layout of this diagram is corrupted. A Reset Origin and/or manual layout is probably needed for this diagram.</em> The rules applied to detect a corrupted label are the following:
+				<ul>
+					<li>If the label is less than 250 pixels away from the reference point on its corresponding edge, the label is not considered as distant.</li>
+					<li>If the label is more than 1000 pixels away from the reference point on its corresponding edge, the label is considered as distant.</li>
+					<li>Between these 2 limits, the label is considered as distant if the distance between the center of the label and the edge is higher than &#8220;four times the size of the nearest segment&#8221;.</li>
+				</ul>
+			</li>
+			<li><span class="label label-info">Modified</span> In manual refresh mode (
+				<em>Automatic Refresh</em> Sirius preference disabled), when the 
+				<em>Force Refresh</em> option of a tool is enabled in your VSM, only the current representation is refreshed when the tool is applied. Before this version, all open representations were refreshed.
+			</li>
+			<li><span class="label label-info">Modified</span> The filtering expression variables available in the properties view definition in the &#8216;Extends&#8217; tab were renamed to match the following pattern: featureName+&#8216;Description&#8217;.</li>
+			<li><span class="label label-info">Modified</span> The 
+				<em>Reference Name</em> field of 
+				<em>Create instance</em> completion will display only features with a consistent type with the one specified in 
+				<em>Type Name</em> field (if a type has been specified).
+			</li>
+			<li><span class="label label-info">Modified</span> The 
+				<em>Type Name</em> field of 
+				<em>Create instance</em> completion will display only types consistent with the feature type specified in 
+				<em>Reference Name</em> field (if a valid feature has been specified).
+			</li>
+		</ul>
+		<h3 id="DeveloperVisibleChanges2">Developer-Visible Changes</h3>
+		<h4 id="Migrations">Migrations</h4>
+		<ul>
+			<li><span class="label label-success">Added</span> A migration has been added to fix diagram with edge labels corrupted (see 
+				<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=518870">bugzilla #518870</a> for more details). The corresponding version, stored in attribute version of viewpoint:DAnalysis of the aird file, is 
+				<em>12.1.0.201706291600</em>.
+			</li>
+			<li><span class="label label-success">Added</span> A new class 
+				<code>org.eclipse.sirius.ext.gmf.runtime.gef.ui.figures.SiriusDefaultSizeNodeFigure</code> has been added in plugin 
+				<code>org.eclipse.sirius.ext.gmf.runtime</code>. The goal of the class is to workaround a 
+				<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=519250">GMF bug</a>. So if you have created class which inherits from 
+				<code>org.eclipse.gmf.runtime.gef.ui.figures.DefaultSizeNodeFigure</code>, you must now use the new 
+				<code>SiriusDefaultSizeNodeFigure</code> instead.
+			</li>
+			<li><span class="label label-success">Added</span> A migration has been added to add an 
+				<code>uid</code> to all instances of type DRepresentation. This 
+				<code>uid</code> is used to reference the DRepresentation from the DRepresentationDescriptor. 
+				<code>DRepresentationDescriptor.repPath</code> has been changed to have 
+				<code>uid</code> as fragment. The corresponding version, stored in attribute version of viewpoint:DAnalysis of the aird file, is 
+				<em>12.1.0.201707281200</em>.
+			</li>
+			<li><span class="label label-success">Added</span> A migration has been added to fix diagram with edge bend-points corrupted (see 
+				<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=519044">bugzilla #519044</a> for more details). The corresponding version, stored in attribute version of viewpoint:DAnalysis of the aird file, is 
+				<em>12.1.0.201708031200</em>.
+			</li>
+		</ul>
+		<h4 id="TranslationKeysChanges">Translation Keys Changes</h4>
+		<p>See 
+			<a href="i18n_changes.html#sirius51">this document</a> for the complete list of message keys added or removed in Sirius 5.0.
+		</p>
+		<h4 id="replazyloading">Representations lazy loading (experimental).</h4>
+		<p>A new mode (currently experimental) is available to load representations on demand and not during session opening. This feature implies to serialize Sirius representations in separate resources. This mode can be activated by setting the system property 
+			<code>createLocalRepresentationInSeparateResource</code> at true. For more detail, see the developer documentation: 
+			<a href="./developer/representations_lazy_loading.html">Representations lazy loading (experimental)</a>.
+		</p>
+		<h4 id="Changesinorg.eclipse.sirius2">Changes in 
+			<code>org.eclipse.sirius</code>
+		</h4>
+		<ul>
+			<li><span class="label label-success">Added</span> A new convenience static method has been added on the 
+				<code>org.eclipse.sirius.business.api.session.Session</code> interface to retrieve the session an arbitrary 
+				<code>EObject</code> is part of: 
+				<code>Optional&lt;Session&gt; s = Session.of(myObject);</code>. It returns a 
+				<code>java.util.Optional&lt;Session&gt;</code> so all the usual patterns apply, e.g. 
+				<code>Session.of(obj).ifPresent(s -&gt; doSomething(s));</code>.
+			</li>
+			<li><span class="label label-success">Added</span> 
+				<code>org.eclipse.sirius.viewpoint.DRepresentationDescriptor.isLoadedRepresentation()</code> has been added to know if the representation linked with this {@link DRepresentationDescriptor} is loaded. By default, all representations are held in the same resource than the DRepresentationDescriptor, in that case the method will always return true.
+			</li>
+			<li><span class="label label-success">Added</span> 
+				<code>org.eclipse.sirius.business.api.session.danalysis.DAnalysisSession.allAnalyses()</code> has been added in the interface to reflect the already existing 
+				<code>org.eclipse.sirius.business.internal.session.danalysis.DAnalysisSessionImpl.allAnalyses()</code> implementation.
+			</li>
+			<li><span class="label label-success">Added</span> 
+				<code>org.eclipse.sirius.business.api.dialect.DialectManager.getLoadedRepresentations(EObject, Session)</code> has been added to get all loaded representations in the given session with the given EObject as target.
+			</li>
+			<li><span class="label label-success">Added</span> 
+				<code>org.eclipse.sirius.business.api.dialect.DialectServices.getAllLoadedRepresentations(Session)</code> has been added to get all loaded representations in the given session.
+			</li>
+			<li><span class="label label-success">Added</span> 
+				<code>org.eclipse.sirius.business.api.helper.SiriusUtil.REPRESENTATIONS_FOLDER_NAME</code> constant has been added. This is the default folder where representations file (*.srm) are located if the system property &#8220;createLocalRepresentationInSeparateResource&#8221; is set at true.
+			</li>
+			<li><span class="label label-success">Added</span> 
+				<code>org.eclipse.sirius.tools.api.command.ui.UICallBack.shouldDeleteRepresentation(Set&lt;DRepresentationDescriptor&gt;)</code> has been added to be called when the user interface should prompt for a choice about the representation deletion.
+			</li>
+			<li><span class="label label-success">Added</span> (experimental) The new API 
+				<code>org.eclipse.sirius.business.api.query.SiriusReferenceFinder</code> and 
+				<code>org.eclipse.sirius.business.api.query.EObjectQuery.getSiriusReferenceFinder()</code> method to get it have been added. This API allows getting the DRepresentations or DRepresentationElements that reference the provided semantic object. It also allows getting the DRepresentationDescriptor which associated DRepresentation is or contains elements that reference the provided semantic object. This API will be useful for 
+				<a href="#replazyloading">representation lazy loading</a> as it may, in the future, not need to load all not yet loaded representations. For now, the use of this API will load all not loaded representations.
+			</li>
+			<li><span class="label label-danger">Removed</span> 
+				<code>org.eclipse.sirius.business.api.dialect.DialectServices.getRepresentationDescriptors(EObject, Session)</code> has been moved to 
+				<code>org.eclipse.sirius.business.api.dialect.DialectManager</code>.
+			</li>
+			<li><span class="label label-danger">Removed</span> 
+				<code>org.eclipse.sirius.business.api.dialect.DialectServices.getAllRepresentationDescriptors(Session)</code> has been moved to 
+				<code>org.eclipse.sirius.business.api.dialect.DialectManager</code>.
+			</li>
+			<li><span class="label label-danger">Removed</span> 
+				<code>org.eclipse.sirius.business.api.dialect.DialectServices.getRepresentationDescriptors(RepresentationDescription, Session)</code> has been moved to 
+				<code>org.eclipse.sirius.business.api.dialect.DialectManager</code>.
+			</li>
+			<li><span class="label label-danger">Removed</span> The implementations of 
+				<code>getRepresentationDescriptors(EObject, Session)</code>, 
+				<code>getAllRepresentationDescriptors(Session)</code> and 
+				<code>getRepresentationDescriptors(RepresentationDescription, Session)</code> have been removed from 
+				<code>AbstractRepresentationDialectServices</code>. They are implemented in 
+				<code>DialectManagerImpl</code>.
+			</li>
+			<li><span class="label label-danger">Removed</span> 
+				<code>org.eclipse.sirius.business.api.dialect.DialectServices.getRepresentations(EObject, Session)</code> has been moved to 
+				<code>org.eclipse.sirius.business.api.dialect.DialectManager</code>
+			</li>
+			<li><span class="label label-danger">Removed</span> 
+				<code>org.eclipse.sirius.business.api.dialect.DialectServices.getAllRepresentations(Session)</code> has been moved to 
+				<code>org.eclipse.sirius.business.api.dialect.DialectManager</code>
+			</li>
+			<li><span class="label label-danger">Removed</span> 
+				<code>org.eclipse.sirius.business.api.dialect.DialectServices.getRepresentations(RepresentationDescription, Session)</code> has been moved to 
+				<code>org.eclipse.sirius.business.api.dialect.DialectManager</code>
+			</li>
+			<li><span class="label label-danger">Removed</span> The implementations of 
+				<code>getRepresentations(EObject, Session)</code>, 
+				<code>getAllRepresentations(Session)</code> and 
+				<code>getRepresentations(RepresentationDescription, Session)</code> have been removed from 
+				<code>AbstractRepresentationDialectServices</code>. They are implemented in 
+				<code>DialectManagerImpl</code>.
+			</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> 
+				<code>org.eclipse.sirius.common.tools.api.util.LazyCrossReferencer.setEObjectToBeIgnored(Predicate&lt;EObject&gt;)</code> has  been added to filter inverse references to prevent some references resolution.
+			</li>
+			<li><span class="label label-info">Modified</span> 
+				<code>org.eclipse.sirius.common.tools.api.util.WorkspaceUtil.getFilesFromWorkspace(Collection&lt;IProject&gt;, String)</code> signature has been modified in 
+				<code>getFilesFromWorkspace(Collection&lt;IContainer&gt;, String)</code> to be more generic.
+			</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> A new query has been added in 
+				<code>org.eclipse.sirius.diagram.business.api.query.DDiagramQuery</code>. This query, 
+				<code>getAllActivatedLayers</code>, returns all the activated layers (transient or not) of the given diagram. It should replace 
+				<code>DDiagram.getActivatedLayers</code> in several cases if you directly use it.
+			</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> Three new preferences have been added to 
+				<code>org.eclipse.sirius.diagram.ui.tools.api.preferences.SiriusDiagramUiPreferencesKeys</code>: 
+				<code>PREF_SCALE_DIAGRAMS_ON_EXPORT</code>, 
+				<code>PREF_MAXIMUM_EXPORT_BUFFER_SIZE</code>, 
+				<code>PREF_MAXIMUM_EXPORT_BUFFER_SIZE_WINDOWS</code>. They are used to control the auto-scaling behavior when exporting diagrams. Refer to the JavaDoc for the details.
+			</li>
+			<li><span class="label label-success">Added</span> In 
+				<code>org.eclipse.sirius.diagram.ui.tools.api.part.DiagramEditPartService</code>, two new methods have been added:
+				<ul>
+					<li>
+						<code>setAllowDownScaling(boolean)</code>: when auto-scaling is enabled (which is controlled by the already existing 
+						<code>setAutoScalingEnabled()</code>), this is used to control if down-scaling is allowed or not. 
+					</li>
+					<li>
+						<code>getScalingFactor()</code>: after the export has been performed, this can be used to obtain the scaling factor that was effectively used.
+					</li>
+				</ul>
+			</li>
+			<li><span class="label label-success">Added</span> The class 
+				<code>org.eclipse.sirius.diagram.ui.business.api.DiagramExportResult</code> has been added, which inherits from 
+				<code>ExportResult</code>. It is returned by the 
+				<code>DialectManager.exportWithResult()</code> methods when the representation exported is a diagram, and in addition to the information provided by 
+				<code>ExportResult</code> gives access to the scaling factor that was used when exporting the diagram.
+			</li>
+			<li><span class="label label-success">Added</span> The new preference 
+				<code>org.eclipse.sirius.diagram.ui.tools.api.preferences.SiriusDiagramUiPreferencesKeys.PREF_SHOW_SYNCHRONIZE_STATUS_DECORATOR</code> has been added to say if the 
+				<a href="user/diagrams/Diagrams.html#synchronized_diagram">synchronize status</a> decorator must be shown or not.
+			</li>
+			<li><span class="label label-success">Added</span> A new method 
+				<code>checkShapesIntersect()</code> has been added in 
+				<code>org.eclipse.sirius.diagram.ui.business.api.query.ConnectionEditPartQuery</code> to check if source and target of the connection intersect (only intersect &#8211; not one contained in another).
+			</li>
+		</ul>
+		<h4 id="Changesinorg.eclipse.sirius.ext.emf.edit">Changes in 
+			<code>org.eclipse.sirius.ext.emf.edit</code>
+		</h4>
+		<ul>
+			<li><span class="label label-info">Modified</span> 
+				<code>org.eclipse.sirius.ext.emf.edit.EditingDomainServices</code> does not use 
+				<code>Collection</code> anymore as return type or parameter type in its services. 
+				<code>java.util.Collection</code> has been replaced by 
+				<code>java.util.List</code>. As mentioned in the 
+				<a href="./specifier/general/Writing_Queries.html#service_methods">specifier documentation</a>, it is recommended to use List or Set instead of Collection in java services signature.
+			</li>
+		</ul>
+		<h4 id="Changesinorg.eclipse.sirius.ui2">Changes in 
+			<code>org.eclipse.sirius.ui</code>
+		</h4>
+		<ul>
+			<li><span class="label label-success">Added</span> In 
+				<code>org.eclipse.sirius.ui.tools.api.dialogs.AbstractExportRepresentationsAsImagesDialog</code> a new method 
+				<code>isAutoScaleDiagram()</code> has been added to indicate (once the dialog has been closed) if the user has requested to enable auto-scaling on diagram export. 
+			</li>
+			<li><span class="label label-success">Added</span> In 
+				<code>org.eclipse.sirius.ui.tools.api.actions.export.ExportAction</code>, a new method 
+				<code>setAutoScaleDiagram(boolean)</code> to ask for automatic scaling of diagrams on export.
+			</li>
+			<li><span class="label label-success">Added</span> In 
+				<code>org.eclipse.sirius.ui.business.api.dialect.DialectUIServices</code>, two new methods 
+				<code>exportWithResult()</code> have been added. They are equivalent to the existing 
+				<code>export()</code> methods (which return 
+				<code>void</code>) except that they return an instance of the new type 
+				<code>org.eclipse.sirius.ui.business.api.dialect.ExportResult</code>. This gives access to the list of all the actual files produced by the export operation. Note that in the case of the diagram dialect, 
+				<code>exportWithResult()</code> actually returns a more specific 
+				<code>DiagramExportResult</code> with additional diagram-specific information.
+			</li>
+			<li><span class="label label-success">Added</span> The type 
+				<code>org.eclipse.sirius.ui.business.api.dialect.ExportFormat</code> has a new attribute representing the scaling policy to use for diagram. It is defined by a new enumerated type 
+				<code>ExportFormat.ScalingPolicy</code> which can have four different values: 
+				<code>WORKSPACE_DEFAULT</code>, 
+				<code>AUTO_SCALING</code>, 
+				<code>NO_SCALING</code>, 
+				<code>AUTO_SCALING_IF_LARGER</code>. Refer to the JavaDoc for details on their meanings.
+			</li>
+			<li><span class="label label-success">Added</span> 
+				<code>org.eclipse.sirius.ui.tools.api.wizards.CreateEMFModelWizard</code> is a new wizard that can be invoked to create instances of any metamodel. It will ask the end-user for a metamodel (
+				<code>EPackage</code>), a concrete type to instanciate as root element, and finally the local path of the file to create. See the class Javadoc for sample usage. Note that the first two pages of the wizard (EPackage and root type selection) can be customized through the 
+				<code>org.eclipse.sirius.common.package_meta_data</code> extension point to provide user-oriented name and documentation for an EPackage, and to suggest specific EClasses as good root candidates.
+			</li>
+			<li><span class="label label-success">Added</span> 
+				<code>org.eclipse.sirius.ui.tools.api.command.AbstractSWTCallback.shouldDeleteRepresentation(Set&lt;DRepresentationDescriptor&gt;)</code> default implementation has been added to prompt the confirm dialog.
+			</li>
+			<li><span class="label label-success">Added</span> 
+				<code>org.eclipse.sirius.ui.business.api.session.SessionEditorInput.SessionEditorInput(URI, URI, String, Session)</code> has been added to provide the 
+				<code>DRepresentationDescriptor</code> URI to retrieve the 
+				<code>DRepresentation</code> from the 
+				<code>DRepresentationDescriptor.getRepresentation()</code> method instead of performing a direct load.
+			</li>
+			<li><span class="label label-info">Modified</span> The org.eclipse.sirius.ui.tools.api.assist.TextContentProposalProvider.getSelectedElement() method is now protected instead of private to let sub-classes retrieving the selected element.</li>
+		</ul>
+		<h4 id="Changesinorg.eclipse.sirius.ui.editor">Changes in 
+			<code>org.eclipse.sirius.ui.editor</code>
+		</h4>
+		<ul>
+			<li><span class="label label-success">Added</span> New classes have been added in package 
+				<code>org.eclipse.sirius.ui.editor.api.pages</code>. They are the following: 
+				<code>AbstractSessionEditorPage</code>, 
+				<code>PageProvider</code>, 
+				<code>PageUpdateCOmmand</code>, 
+				<code>PositioningKind</code>, 
+				<code>PageUpdateCommandFactory</code>. These classes allow to provide custom pages to session editor instances.
+			</li>
+			<li><span class="label label-success">Added</span> An extension point 
+				<code>org.eclipse.sirius.ui.editor.sessionEditorPageProvider</code> has been added to allow custom page providing for session editor instances.
+			</li>
+		</ul>
+		<h2 id="sirius5.0.1">Changes in Sirius 5.0.1</h2>
+		<p>Sirius 5.0.1 is a maintenance release with only bugfixes and small tweaks to the UI of 
+			<a href="user/general/Aird_Editor.html">the aird editor</a>.
+		</p>
+		<h2 id="sirius5.0.0">Changes in Sirius 5.0.0</h2>
+		<h3 id="UserVisibleChanges3">User-Visible Changes</h3>
+		<ul>
+			<li><span class="label label-success">Added</span> An new 
+				<em>aird editor</em> is available on 
+				<em>.aird</em> files. It provides an alternative, form-based GUI to visualize and manipulate sirius sessions which is not tied to the Modeling perspective or Model Explorer view. See 
+				<a href="user/general/Aird_Editor.html">the editor&#8217;s documentation</a> for more details.
+			</li>
+			<li><span class="label label-info">Modified</span> The label alignment of Notes from the Palette has been modified from Juno to Luna or newer versions of Eclipse. The label alignment had changed from 
+				<em>TOP</em> &amp; 
+				<em>CENTER</em> to 
+				<em>MIDDLE</em> &amp; 
+				<em>LEFT</em> (respectively). The initial alignment (
+				<em>TOP</em> &amp; 
+				<em>CENTER</em>) has been restored. This is done with an 
+				<a href="./user/general/Modeling%20Project.html#Migration">automatic migration</a> of the aird file.
+			</li>
+			<li><span class="label label-info">Modified</span> The 
+				<em>Export diagram as images</em> action now adatps the output resolution based on the diagram size. This leads to better resolution for small to medium diagrams (and also bigger file) and to an operation which is no longer failing with out of memory errors in case of very big diagrams.
+			</li>
+			<li><span class="label label-info">Modified</span> The &#8220;straighten to&#8221; actions previously had a limitation concerning overlap detection. This is no longer the case. The previous known limitation has been removed from the documentation (
+				<i>In case of multi-selection, the overlap check is done in the current context of existing border nodes and not in the context of location of border nodes after each straighten edges.</i>).
+			</li>
+			<li><span class="label label-info">Modified</span> Decorators on diagram elements are drawn on top of other figures. If there is an overlap between a decorator of a figure A and another figure B that is over figure A, when user clicks on the decorator, the figure B is now selected (before it was the parent figure A).</li>
+		</ul>
+		<h3 id="DeveloperVisibleChanges3">Developer-Visible Changes</h3>
+		<h3 id="SpecifierVisibleChanges2">Specifier-Visible Changes</h3>
+		<ul>
+			<li><span class="label label-success">Added</span> It is now possible to automatically create one or several pre-configured widget(s) in a group if its domain class and if the meta-models of the properties view containing it have been specified. The widget(s) created will be infered from the features in the domain class (e.g. a properly configured 
+				<em>Checkbox</em> widget will be created for boolean attributes).
+			</li>
+			<li><span class="label label-success">Added</span> Property Views definitions now support extending and overriding Properties View Descriptions without modifying the original. See 
+				<a href="specifier/properties/Properties_View_Description.html#extensibility_features">the documentation</a> for details.
+			</li>
+			<li><span class="label label-success">Added</span> New model operations are available. You can now open a 
+				<a href="specifier/general/Model_Operations.html#dialog">dialog</a> or a 
+				<a href="specifier/general/Model_Operations.html#wizard">wizard</a> thanks to new dedicated model operations leveraging the Properties View language. You can also create new variable with the new 
+				<em>Let</em> model operation, see its 
+				<a href="specifier/general/Model_Operations.html#let">documentation</a> for more details.
+			</li>
+			<li><span class="label label-success">Added</span> In Property Views definitions, you can now create 
+				<em>Toolbar Actions</em> on pages and groups in order to define small buttons in their toolbars.
+			</li>
+			<li><span class="label label-success">Added</span> 
+				<em>Buttons</em> and 
+				<em>Widget Actions</em> can now use an image along with a label thanks to the new 
+				<em>Image expression</em>.
+			</li>
+			<li><span class="label label-success">Added</span> It is now possible to execute some behavior when the end users will click on the 
+				<em>Reference Widget</em> thanks to the addition of an 
+				<em>Initial Operation</em>.
+			</li>
+			<li><span class="label label-success">Added</span> You can indicate that a 
+				<em>Dynamic Mapping For</em> should force the refresh of the user interface with the 
+				<em>Force Refresh</em> property.
+			</li>
+			<li><span class="label label-success">Added</span> 
+				<em>Categories</em> have been added in order to organize the pages and groups of the 
+				<em>Properties</em> DSL.
+			</li>
+			<li><span class="label label-info">Modified</span> The notion of transient layer has been introduced in Sirius 5.0. (Refer to 
+				<a href="specifier/diagrams/Diagrams.html#Transientlayer">Sirius Specifier</a> and 
+				<a href="user/diagrams/Diagrams.html#transientLayer">Sirius User</a> documentation in Diagram chapter). A transient layer is an additional layer containing only decorations or tools. If you have such layer in your VSM, users may encounter some unexpected behaviors. If the layer is not 
+				<em>active by default</em>, its activation state will not be persisted at session close. In other words, if a transient layer is enabled in a diagram and then the session is closed, at the next diagram opening, the layer will be disabled. If users have existing representations file, made with previous version, with such kind of layers activated, they will no longer enabled at the next opening in Sirius 5.0.0. If the layer is 
+				<em>active by default</em> then it will be automatically applied when opening your diagram. We consider this behavior as a known limitation and an enhancement may be done in a further release. In the meantime, there is a workaround which consists to add a fake mapping (that is any mapping with its fields empty) so that the layer will not be considered as transient.
+			</li>
+			<li><span class="label label-info">Modified</span> The tab used to configure the metamodels used by the Properties view description is now using the same interface as the metamodels tab used to configure the representations.</li>
+			<li><span class="label label-info">Modified</span> The 
+				<code>package::Class</code> syntax for domain classes and type names in the VSM is now fully supported and the new default. It means this syntax is interpreted by Sirius and completion is provided for it when the first 
+				<code>:</code> character is entered. The legacy syntax 
+				<code>package.Class</code> is still supported for compatibility.
+			</li>
+			<li><span class="label label-info">Modified</span> The organization of the contextual actions in the odesign for the 
+				<em>Properties</em> DSL has been improved.
+			</li>
+			<li><span class="label label-info">Modified</span> Most of the concepts of the 
+				<em>Properties</em> DSL can now have an identifier, a label and some documentation.
+			</li>
+		</ul>
+		<h4 id="Migrations2">Migrations</h4>
+		<ul>
+			<li><span class="label label-success">Added</span> A migration is added in this version to fix the alignment of the text in notes (as explained in user visible changes). The corresponding version, stored in attribute version of viewpoint:DAnalysis of the aird file, is 
+				<em>12.0.0.201704070000</em>.
+			</li>
+		</ul>
+		<h4 id="TranslationKeysChanges2">Translation Keys Changes</h4>
+		<p>See 
+			<a href="i18n_changes.html#sirius50">this document</a> for the complete list of message keys added or removed in Sirius 5.0.
+		</p>
+		<h4 id="Changesinorg.eclipse.sirius.common2">Changes in 
+			<code>org.eclipse.sirius.common</code> 
+		</h4>
+		<ul>
+			<li><span class="label label-success">Added</span> 
+				<code>org.eclipse.sirius.common.tools.api.util.SiriusCrossReferenceAdapterImpl.setFeatureToBeCrossReferencedWhiteList(Collection&lt;EReference&gt;)</code> to set a white list of references that must be referenced even if the reference is derived.
+			</li>
+			<li><span class="label label-success">Added</span> 
+				<code>org.eclipse.sirius.common.tools.api.util.SiriusCrossReferenceAdapterImpl.isIncluded(EReference)</code> has been overridden to consider features in the white list.
+			</li>
+			<li><span class="label label-success">Added</span> A new extension point, 
+				<code>org.eclipse.sirius.common.package_meta_data</code> has been added. It can be used to associate user-oriented meta-data to Ecore metamodels, identified by their 
+				<code>nsURI</code>: a user-oriented name/label (as opposed to the technical nsURI), a (short) description/documentation, and a list of suggested EClasses defined in the EPackage that are good candidates as root model elements. These meta-data are currently used only in the generic model creation wizard integrated in the aird editor.
+			</li>
+		</ul>
+		<h4 id="Changesinorg.eclipse.sirius.common.ui">Changes in 
+			<code>org.eclipse.sirius.common.ui</code> 
+		</h4>
+		<ul>
+			<li><span class="label label-danger">Removed</span> The 
+				<code>org.eclipse.sirius.common.ui.tools.api.dialog.FeatureEditorDialog</code> class has been removed; use the 
+				<code>org.eclipse.emf.edit.ui.celleditor.FeatureEditorDialog</code> equivalent provided by EMF directly instead.
+			</li>
+		</ul>
+		<h4 id="Changesinorg.eclipse.sirius3">Changes in 
+			<code>org.eclipse.sirius</code> 
+		</h4>
+		<ul>
+			<li><span class="label label-success">Added</span> An experimental mode to serialize representations in a different file is available with system property 
+				<code>createRepresentationInSeparateResource=true</code>. That means all new representations will be saved, when this property is enabled, in a separate file with 
+				<code>*.srm</code> extension.
+			</li>
+			<li><span class="label label-success">Added</span> The method 
+				<code>org.eclipse.sirius.business.api.dialect.DialectServices.canCreate(EObject, RepresentationDescription, boolean)</code> has been added to better control the checks done by already existing 
+				<code>org.eclipse.sirius.business.api.dialect.DialectServices.canCreate(EObject, RepresentationDescription)</code> method. The new boolean allow to deactivate the check verifying that the viewpoint of the given description must be activated so the method can return true.
+			</li>
+			<li><span class="label label-success">Added</span> The 
+				<code>org.eclipse.sirius.viewpoint.description.DAnnotation.references</code> feature has been added. It allows to have some information without having to search them into the entire model of the Sirius session. Ideally only elements from semantic resources of the session should be referenced or else it may broke the session behavior either because resolving too soon EObject in the session or because adding a resource that is not known by Sirius session.
+			</li>
+			<li><span class="label label-success">Added</span> 
+				<code>org.eclipse.sirius.business.api.query.EObjectQuery.getImpactedRepDescriptorFromDAnnotationData()</code> method has been added to help retrieve the 
+				<code>DRepresentationDescriptors</code> which owned 
+				<code>DAnnotation</code> are referencing a given 
+				<code>EObject</code> with 
+				<code>DAnnotation.references</code>.
+			</li>
+			<li><span class="label label-success">Added</span> 
+				<code>org.eclipse.sirius.viewpoint.DRepresentationDescriptor#repPath</code> attribute has been added to hold the representation path since the 
+				<code>org.eclipse.sirius.viewpoint.DRepresentationDescriptor#representation</code> feature is derived. This attribute is not intended to be modified by client. You should use 
+				<code>org.eclipse.sirius.viewpoint.DRepresentationDescriptor.setRepresentation(DRepresentation)</code> or 
+				<code>org.eclipse.sirius.viewpoint.DRepresentationDescriptor.updateRepresentation(DRepresentation)</code> instead.
+			</li>
+			<li><span class="label label-success">Added</span> 
+				<code>org.eclipse.sirius.viewpoint.DRepresentationDescriptor.updateRepresentation(DRepresentation)</code> has been added to update the repPath attribute according to the given representation. This method is intended to be called if the representation instance is still the same but requires to recompute the repPath.
+			</li>
+			<li><span class="label label-success">Added</span> 
+				<code>org.eclipse.sirius.business.api.query.FileQuery.isSrmFile()</code> has been added to indicate if the file extension is dedicated to a file containing representations.
+			</li>
+			<li><span class="label label-success">Added</span> 
+				<code>org.eclipse.sirius.dRepresentationLocationRule</code> extension point has been added to customize the resource location of new representations. See 
+				<a href="extensions-provide_representation_location_rule.html">Provide representation location rule (experimental)</a> for more details.
+			</li>
+			<li><span class="label label-success">Added</span> 
+				<code>org.eclipse.sirius.business.api.session.danalysis.DRepresentationLocationRule</code> interface has been added to provide a customized rule to the 
+				<code>org.eclipse.sirius.dRepresentationLocationRule</code> extension point.
+			</li>
+			<li><span class="label label-success">Added</span> 
+				<code>org.eclipse.sirius.business.api.helper.SiriusUtil.REPRESENTATION_FILE_EXTENSION</code> constant has been added to reference the new *.srm extension.
+			</li>
+			<li><span class="label label-success">Added</span> 
+				<code>org.eclipse.sirius.business.api.session.Session.getSrmResources()</code> has been added to provide the list of representation resources (serialized as *.srm files by default).
+			</li>
+			<li><span class="label label-success">Added</span> 
+				<code>org.eclipse.sirius.business.api.query.ResourceQuery.isAirdOrSrmResource()</code> has been added to know whether the resource is a srm resource (
+				<code>org.eclipse.sirius.business.api.query.ResourceQuery.isSrmResource()</code>) or an aird resource.
+			</li>
+			<li><span class="label label-success">Added</span> 
+				<code>org.eclipse.sirius.business.api.query.ResourceQuery.isSrmResource()</code> has been added to know whether the resource contains a 
+				<code>DRepresentation</code> as root element.
+			</li>
+			<li><span class="label label-success">Added</span> 
+				<code>org.eclipse.sirius.diagram.ui.tools.api.migration.DiagramCrossReferencer.DiagramCrossReferencer(Collection&lt;Resource&gt;)</code> constructor has been added to compute the cross references on a list of resources.
+			</li>
+			<li><span class="label label-success">Added</span> A new 
+				<code>org.eclipse.sirius.modelOperationManager</code> extension point has been addded. It allows the contribution of new types of 
+				<em>Model Operations</em> which are then usable in modeler definitions (
+				<code>*.odesign</code>).
+			</li>
+			<li><span class="label label-info">Modified</span> 
+				<code>org.eclipse.sirius.viewpoint.DRepresentationDescriptor#representation</code> feature is now derived, transient and volatile. The representation is compute by using the 
+				<code>org.eclipse.sirius.viewpoint.DRepresentationDescriptor#repPath</code> attribute.
+			</li>
+			<li><span class="label label-info">Modified</span> The 
+				<code>org.eclipse.sirius.business.api.query.DViewQuery.getAllContentInRepresentations(Predicate&lt;? super EObject&gt;)</code> now takes a 
+				<code>java.util.Predicate</code> (from Java 8) as argument instead of a 
+				<code>com.google.common.base.Predicate</code>.
+			</li>
+			<li><span class="label label-info">Modified</span> The extension point 
+				<code>org.eclipse.sirius.ui.modelingprojectresourcelistener</code> is no longer expected to be used. It is an internal extension point. Clients using this extension point to ignore some files as potential semantic models must now use the extension point 
+				<code>org.eclipse.sirius.resourceStrategy</code>. This extension point existed before Sirius 5.0.0 but was not API. It becomes API with Sirius 5.0.0, see the 
+				<a href="developer/extensions-provide_resource_strategy.html">developer documentation</a> for more details.
+				<ul>
+					<li>If you used to override protected methods 
+						<code>boolean isPotentialSemanticResource(IFile)</code> and 
+						<code>boolean isLoadableModel(IFile, Session)</code> of class 
+						<code>org.eclipse.sirius.ui.tools.api.views.modelexplorerview.resourcelistener.DefaultModelingProjectResourceListener</code>, you can now create a 
+						<code>resourceStrategy</code> of type 
+						<code>org.eclipse.sirius.business.api.resource.strategy.ResourceStrategy.ResourceStrategyType.SEMANTIC_RESOURCE</code> and respectively override 
+						<code>boolean isPotentialSemanticResource(URI)</code> and 
+						<code>boolean isLoadableModel(URI,Session)</code>. As a reminder, to get an URI from an IFile, you can use: 
+						<code>URI.createPlatformResourceURI(iFile.getFullPath().toString(), true)</code>. And to get an IFile from an URI, you can use: 
+						<code>ResourcesPlugin.getWorkspace().getRoot().getFile(new Path(uri.toPlatformString(true)))</code>.
+					</li>
+					<li>If you used to override protected methods 
+						<code>boolean isRepresentationsModel(IFile)</code> and 
+						<code>boolean isVsmModel(IFile)</code> of class 
+						<code>org.eclipse.sirius.ui.tools.api.views.modelexplorerview.resourcelistener.DefaultModelingProjectResourceListener</code>, they no longer exist. They correspond to core API and is not supposed to be overridden. They are accessible through API 
+						<code>org.eclipse.sirius.business.api.query.FileQuery.FileQuery(IFile)</code>.
+					</li>
+					<li>All necessary classes for extension point 
+						<code>org.eclipse.sirius.resourceStrategy</code> are now APIs:
+						<ul>
+							<li>
+								<code>org.eclipse.sirius.business.api.resource.strategy.ResourceStrategyRegistry</code>: Registry to have access to all overridable services through a 
+								<code>ResourceStrategy</code>
+							</li>
+							<li>
+								<code>org.eclipse.sirius.business.api.resource.strategy.ResourceStrategy</code>: Interface implemented by all resource strategies
+							</li>
+							<li>
+								<code>org.eclipse.sirius.business.api.resource.strategy.AbstractResourceStrategyImpl</code>: Default implementation of above interface. All resource strategies contributed with the extension need to extend it.
+							</li>
+							<li>
+								<code>org.eclipse.sirius.business.api.resource.strategy.LegacyReleaseResourceStrategyImpl</code> (previously named 
+								<code>DefaultResourceStrategyImpl</code>): A resource strategy with the code used before the optimization concerning the 
+								<code>org.eclipse.sirius.business.api.resource.strategy.ResourceStrategy.ResourceStrategyType.RELEASE_RESOURCE_AT_RESOURCESET_DISPOSE</code>. It is not used but can be quickly contributed by someone that want the previous behavior (before Sirius 4.0.0 M6).
+							</li>
+						</ul>
+					</li>
+				</ul>
+			</li>
+			<li><span class="label label-danger">Removed</span> The already deprecated constructor of 
+				<code>org.eclipse.sirius.business.api.control.SiriusUncontrolCommand</code> with signature 
+				<code>SiriusUncontrolCommand(EObject, boolean, IProgressMonitor)</code> has been removed; instead, use the alternate constructor with an additional explicit 
+				<code>boolean shouldEndBySaving</code> parameter (set it to 
+				<code>true</code> to obtain the same behavior as the removed constructor).
+			</li>
+			<li><span class="label label-danger">Removed</span> In 
+				<code>org.eclipse.sirius.business.api.dialect.DialectServices</code>, methods 
+				<code>canCreateIdentifier</code> and 
+				<code>createIdentifier</code> have been removed.
+			</li>
+			<li><span class="label label-danger">Removed</span> The 
+				<code>org.eclipse.sirius.business.api.dialect.identifier</code> package and all its content (
+				<code>AbstractRepresentationElementIdentifier</code> and 
+				<code>RepresentationElementIdentifier</code>) have been removed.
+			</li>
+		</ul>
+		<h4 id="Changesinorg.eclipse.sirius.ui3">Changes in 
+			<code>org.eclipse.sirius.ui</code>
+		</h4>
+		<ul>
+			<li><span class="label label-success">Added</span> Two new methods have been added to the interface 
+				<code>org.eclipse.sirius.ui.business.api.viewpoint.ViewpointSelection.Callback</code>: 
+				<code>selectViewpoint(Viewpoint, Session, boolean, Set&lt;Viewpoint&gt;, IProgressMonitor)</code> and 
+				<code>deselectViewpoint(Viewpoint, Session, Set&lt;Viewpoint&gt;, IProgressMonitor)</code>. These methods add a new parameter that is a set of viewpoints compared to the same methods without these parameters. These set contains all viewpoints that will be deactivated/activated in addition of the one that is asked to be deactivated/activated. It allows the callback implementation to better handle viewpoint dependencies interaction by being able to know if missing dependencies will be activated or deactivated.
+			</li>
+			<li><span class="label label-success">Added</span> An interface 
+				<code>org.eclipse.sirius.ui.business.api.editor.ISiriusEditor</code> has been added to gather 
+				<code>org.eclipse.sirius.ui.editor.SessionEditor</code> and 
+				<code>org.eclipse.sirius.ui.business.api.dialect.DialectEditor</code> under the same abstraction. It allows to provide 
+				<code>org.eclipse.sirius.ui.business.api.session.IEditingSession</code> saving functionalities for session editor or any new editor that is not a dialect editor. 
+			</li>
+			<li><span class="label label-success">Added</span> A method 
+				<code>getSiriusEditors()</code>  has been added to interface 
+				<code>org.eclipse.sirius.ui.business.api.session.IEditingSession</code>. It allows to retrieve all 
+				<code>org.eclipse.sirius.ui.business.api.editor.ISiriusEditor</code> that are registered in the session.
+			</li>
+			<li><span class="label label-success">Added</span> The method 
+				<code>org.eclipse.sirius.ui.business.api.dialect.DialectUIServices.refreshEditor(DialectEditor, IProgressMonitor)</code> has been added to allow specifiers to do a full refresh of its dialect editor easily.
+			</li>
+			<li><span class="label label-success">Added</span> The method 
+				<code>org.eclipse.sirius.ui.tools.api.color.VisualBindingManager.getDefaultFontWithRuntimeSizeAndFromLabelFormat(List&lt;FontFormat&gt;)</code> has been added to allow to retrieve a font using the given format and the default Sirius font (arial) and the runtime height.
+			</li>
+			<li><span class="label label-success">Added</span> The method 
+				<code>org.eclipse.sirius.ui.tools.api.color.VisualBindingManager.getFontFromNameAndLabelFormatAndWithDefaultSize(List&lt;FontFormat&gt;, String)</code> has been added to allow to retrieve a font using the given format and the given font name and the runtime height.
+			</li>
+			<li><span class="label label-success">Added</span> The method 
+				<code>org.eclipse.sirius.ui.tools.api.wizards.page.ViewpointsSelectionWizardPage.setBrowserMinWidth(int)</code> has been added to allow modification of the minimum width (with default value &#8220;0&#8221;) of the browser part of the viewpoint selection wizard.
+			</li>
+			<li><span class="label label-success">Added</span> The method 
+				<code>org.eclipse.sirius.ui.tools.api.wizards.page.ViewpointsSelectionWizardPage.setColumnWidthEquality(boolean)</code> has been added to allow modification of column width equality (with default value &#8220;false&#8221;) of the root composite of the viewpoint selection wizard.
+			</li>
+			<li><span class="label label-success">Added</span> The method 
+				<code>org.eclipse.sirius.ui.tools.api.color.VisualBindingManager.getDefaultFontWithRuntimeSizeAndFromLabelFormat(List&lt;FontFormat&gt;)</code> has been added to allow to retrieve a font using the given format and the default Sirius font (arial) and the runtime height.
+			</li>
+			<li><span class="label label-success">Added</span> The method 
+				<code>org.eclipse.sirius.ui.tools.api.color.VisualBindingManager.getFontFromNameAndLabelFormatAndWithDefaultSize(List&lt;FontFormat&gt;, String)</code> has been added to allow to retrieve a font using the given format and the given font name and the runtime height.
+			</li>
+			<li><span class="label label-success">Added</span> The method 
+				<code>org.eclipse.sirius.ui.tools.api.dialogs.AbstractExportRepresentationsAsImagesDialog.isExportDecorations()</code> has been added to know if decorations are displayed in the exported image.
+			</li>
+			<li><span class="label label-success">Added</span> 
+				<code>org.eclipse.sirius.ui.business.api.dialect.DialectUIServices.export(DRepresentation, Session, IPath, ExportFormat, IProgressMonitor, boolean)</code> method has been added. Compared to the previous method signature, the boolean parameter 
+				<code>exportDecorations</code> has been added to allow to choose if the diagram element decorations will be exported or not.
+			</li>
+			<li><span class="label label-info">Modified</span> The boolean parameter 
+				<code>exportDecorations</code> has been added to 
+				<code>org.eclipse.sirius.ui.tools.api.actions.export.ExportAction.ExportAction(Session, Collection&lt;DRepresentation&gt;, IPath, ImageFileFormat, boolean, boolean)</code> constructor. It allows to choose if the diagram element decorations will be exported or not.
+			</li>
+			<li><span class="label label-info">Modified</span> The method 
+				<code>attachEditor(DialectEditor)</code> from the interface 
+				<code>org.eclipse.sirius.ui.business.api.session.IEditingSession</code> has its parameter type modified from 
+				<code>DialectEditor</code> to the new abstraction 
+				<code>ISiriusEditor</code> to provide saving capabilities with other editors than the dialect ones.
+			</li>
+			<li><span class="label label-info">Modified</span> The method 
+				<code>detachEditor(DialectEditor)</code> from the interface 
+				<code>org.eclipse.sirius.ui.business.api.session.IEditingSession</code> has its parameter type modified from 
+				<code>DialectEditor</code> to the new abstraction 
+				<code>ISiriusEditor</code> to provide saving capabilities with other editors than the dialect ones.
+			</li>
+			<li><span class="label label-info">Modified</span> The method 
+				<code>detachEditor(DialectEditor, boolean)</code> from the interface 
+				<code>org.eclipse.sirius.ui.business.api.session.IEditingSession</code> has its first parameter type modified from 
+				<code>DialectEditor</code> to the new abstraction 
+				<code>ISiriusEditor</code> to provide saving capabilities with other editors than the dialect ones.
+			</li>
+			<li><span class="label label-info">Modified</span> The method 
+				<code>org.eclipse.sirius.ui.tools.api.assist.TextContentProposalProvider.getContentContext(String, int)</code> has been made protected instead of private to allow to use it for sub types.
+			</li>
+			<li><span class="label label-info">Modified</span> The method 
+				<code>org.eclipse.sirius.ui.tools.api.assist.TextContentProposalProvider.removeDuplicatedProposals(List&lt;ContentProposal&gt;)</code> has been made protected instead of private to allow to use it in sub types.
+			</li>
+			<li><span class="label label-info">Modified</span> The method 
+				<code>org.eclipse.sirius.ui.tools.api.project.ModelingProjectManager.createLocalRepresentationsFile(IProject, IProgressMonitor)</code> has its return type changed from 
+				<code>void</code> to 
+				<code>Session</code> to allow callers to have access to the newly created session directly.
+			</li>
+			<li><span class="label label-info">Modified</span> The method 
+				<code>org.eclipse.sirius.ui.tools.api.views.ViewHelper.getContentProvider()</code> has been renamed into 
+				<code>createContentProvider()</code> and now returns a new instance on each invocation.
+			</li>
+			<li><span class="label label-danger">Removed</span> The old 
+				<em>Model Request Interpreter</em> view is not available anymore. It is superseded by the 
+				<em>Interpreter</em> view, which comes from the Acceleo project but does not actually depend on Acceleo or AQL and can be installed separately (using the feature 
+				<code>org.eclipse.acceleo.ui.interpreter</code>, which is available directly from the Sirius update-sites). The corresponding interface 
+				<code>org.eclipse.sirius.ui.tools.api.views.interpreterview.InterpreterView</code> has been removed. Technically, the implementation code for the old 
+				<em>Model Request Interpreter</em> view is still present if needed during the transition, but not exposed or used anywhere. It will be removed in a future version. 
+			</li>
+		</ul>
+		<h4 id="Changesinorg.eclipse.sirius.diagram2">Changes in 
+			<code>org.eclipse.sirius.diagram</code>
+		</h4>
+		<ul>
+			<li><span class="label label-success">Added</span> The utility class 
+				<code>org.eclipse.sirius.diagram.business.api.helper.decoration.DecorationHelper</code> has been added. It provides 
+				<code>updateDecorations(List&lt;Layer&gt;)</code> and 
+				<code>updateAllDecorations</code> methods that allow to update only decorations in a diagram.
+			</li>
+			<li><span class="label label-info">Moved</span> The method 
+				<code>org.eclipse.sirius.diagram.business.api.refresh.IRefreshOverride.aroundRefresh(DDiagram)</code> has been moved to 
+				<code>org.eclipse.sirius.diagram.business.api.refresh.IRefreshExtension</code> to unify methods handling refresh extension under one interface. 
+			</li>
+			<li><span class="label label-info">Modified</span> The method 
+				<code>org.eclipse.sirius.diagram.business.api.refresh.IRefreshExtension.aroundRefresh(DDiagram)</code> has been modified with a default behavior that is the one before introduction of the method to avoid breaking compatibility.
+			</li>
+			<li><span class="label label-danger">Removed</span> The interface 
+				<code>org.eclipse.sirius.diagram.business.api.refresh.IRefreshOverride</code> has been removed because its only method has been moved into 
+				<code>org.eclipse.sirius.diagram.business.api.refresh.IRefreshExtension</code> interface
+			</li>
+			<li><span class="label label-danger">Removed</span> The 
+				<code>org.eclipse.sirius.diagram.business.internal.dialect.identifier</code> package and all its content (
+				<code>DiagramIdenttifier</code>, 
+				<code>NodeIdentifier</code>, 
+				<code>EdgeIdentifier</code>, 
+				<code>NodeContainerIdentifier</code>, and 
+				<code>NodeStyleIdentifier</code>) have been removed.
+			</li>
+		</ul>
+		<h4 id="Changesinorg.eclipse.sirius.diagram.ui3">Changes in 
+			<code>org.eclipse.sirius.diagram.ui</code>
+		</h4>
+		<ul>
+			<li><span class="label label-success">Added</span> Constants 
+				<code>org.eclipse.sirius.diagram.ui.business.api.query.ViewQuery.SPECIFIC_STYLES</code> &amp; 
+				<code>org.eclipse.sirius.diagram.ui.business.api.query.ViewQuery.VERTICAL_ALIGNMENT</code> have been added to retrieve the initial label alignment of Notes from the Palette (see 
+				<a href="Release_Notes.html#UserVisibleChanges">user-visible changes</a> ). Currently the vertical alignment can not be changed (potential new feature later).
+			</li>
+			<li><span class="label label-success">Added</span> The class 
+				<code>org.eclipse.sirius.diagram.ui.graphical.edit.policies.SiriusDecoratorEditPolicy</code> has been added to improve the behavior of decorator selection.
+			</li>
+			<li><span class="label label-success">Added</span> A new decoration mechanism has been implemented. Now, Sirius uses a single 
+				<code>IDecorator</code> to decorate EditPart in diagram. That allows Sirius to manage the relative positioning between decorations.
+				<ul>
+					<li><span class="label label-success">Added</span> 
+						<code>org.eclipse.sirius.diagram.ui.tools.api.decoration.SiriusDecorationDescriptorProvider</code> represents a provider able to give the decoration descriptors. 
+						<code>org.eclipse.sirius.diagram.ui.tools.api.decoration.AbstractSiriusDecorationDescriptorProvider</code> is an abstract class that can be inherited to implement 
+						<code>SiriusDecorationDescriptorProvider</code>.
+					</li>
+					<li><span class="label label-success">Added</span> 
+						<code>org.eclipse.sirius.diagram.ui.tools.api.decoration.DecorationDescriptor</code> is a simple POJO that contains information needed to display decoration.
+					</li>
+					<li><span class="label label-success">Added</span> 
+						<code>org.eclipse.sirius.diagram.ui.tools.api.decoration.SiriusDecorationProviderRegistry</code> allows to register and get 
+						<code>SiriusDecorationDescriptorProvider</code>.
+					</li>
+				</ul>
+			</li>
+			<li><span class="label label-success">Added</span> The preference 
+				<code>SiriusDiagramUiPreferencesKeys.PREF_AUTHORIZE_DECORATION_OVERLAP</code> has been added in 
+				<code>org.eclipse.sirius.diagram.ui.tools.api.preferences.SiriusDiagramUiPreferencesKeys</code>. If true, the overlap is authorized between decoration group on diagram element.
+				<ul>
+					<li><span class="label label-success">Added</span> The class 
+						<code>org.eclipse.sirius.diagram.ui.provider.DiagramUIPlugin.Implementation.DynamicDiagramUIPreferences</code> and the method 
+						<code>org.eclipse.sirius.diagram.ui.provider.DiagramUIPlugin.Implementation.getDynamicPreferences()</code> have been added to have good performances in getting the preference value.
+					</li>
+				</ul>
+			</li>
+			<li><span class="label label-info">Modified</span> The preference 
+				<code>SiriusDiagramUiPreferencesKeys.PREF_PRINT_DECORATION</code> has been added in 
+				<code>org.eclipse.sirius.diagram.ui.tools.api.preferences.SiriusDiagramUiPreferencesKeys</code>. If true, the decorations of the diagram elements of a diagram will be printed, when printing a diagram.
+			</li>
+			<li><span class="label label-info">Modified</span> The 
+				<code>org.eclipse.sirius.diagram.ui.tools.api.part.DiagramEditPartService.DiagramEditPartService</code> class which can be used to export diagrams as images is now automatically adapting the output resolution for raster image based on maximum buffer size specified through the 
+				<code>plugin.propeties</code> file of the 
+				<code>org.eclipse.sirius.diagram.ui</code> plugin. This leads to a noticeable increase of the export image size (you can expect a 10 factor on small diagrams) and the method will no longer fail with OutOfMemory errors as bigger diagrams will lead to a lower output resolution. Implementers using this class can override the 
+				<code>DiagramEditPartService.getMaximumTotalSize()</code> method to return their own limit or 
+				<code>DiagramEditPartService.getExportResolutionFactor(DiagramEditPart, SiriusDiagramImageGenerator)</code> and return 
+				<code>1.0</code> to get back to the previous behavior.
+			</li>
+			<li><span class="label label-info">Moved</span> The methods of interface 
+				<code>org.eclipse.sirius.diagram.ui.tools.api.format.SiriusFormatDataManagerWithMapping</code> that are 
+				<code>getFormatData(FormatDataKey, RepresentationElementMapping)</code> and 
+				<code>addFormatData(FormatDataKey, RepresentationElementMapping, AbstractFormatData)</code> have been moved into the interface 
+				<code>org.eclipse.sirius.diagram.ui.tools.api.format.SiriusFormatDataManager</code> to reduce interface numbers for less complexity.
+			</li>
+			<li><span class="label label-info">Moved</span> The methods of interface 
+				<code>org.eclipse.sirius.diagram.ui.tools.api.format.SiriusFormatDataManagerWithMapping</code> that are 
+				<code>getFormatData(FormatDataKey, RepresentationElementMapping)</code> and 
+				<code>addFormatData(FormatDataKey, RepresentationElementMapping, AbstractFormatData)</code> have been moved into the interface 
+				<code>org.eclipse.sirius.diagram.ui.tools.api.format.SiriusFormatDataManager</code> to reduce interface numbers for less complexity.
+			</li>
+			<li><span class="label label-danger">Removed</span> The methods 
+				<code>getFormatData(FormatDataKey key)</code> and 
+				<code>addFormatData(FormatDataKey key, AbstractFormatData formatData)</code> have been removed from interface 
+				<code>org.eclipse.sirius.diagram.ui.tools.api.format.SiriusFormatDataManager</code> because they were deprecated.
+			</li>
+			<li><span class="label label-danger">Removed</span> The interface 
+				<code>org.eclipse.sirius.diagram.ui.tools.api.format.SiriusFormatDataManagerWithMapping</code> has been removed because all its methods have been moved into interface 
+				<code>org.eclipse.sirius.diagram.ui.tools.api.format.SiriusFormatDataManager</code>
+				<ul>
+					<li><span class="label label-danger">Removed</span> 
+						<code>org.eclipse.sirius.diagram.ui.tools.api.decoration.AbstractSiriusDecorator</code> is removed because now useless.
+					</li>
+				</ul>
+			</li>
+			<li><span class="label label-danger">Removed</span> The methods 
+				<code>getFormatData(FormatDataKey key)</code> and 
+				<code>addFormatData(FormatDataKey key, AbstractFormatData formatData)</code> have been removed from interface 
+				<code>org.eclipse.sirius.diagram.ui.tools.api.format.SiriusFormatDataManager</code> because they were deprecated.
+			</li>
+			<li><span class="label label-danger">Removed</span> The interface 
+				<code>org.eclipse.sirius.diagram.ui.tools.api.format.SiriusFormatDataManagerWithMapping</code> has been removed because all its methods have been moved into interface 
+				<code>org.eclipse.sirius.diagram.ui.tools.api.format.SiriusFormatDataManager</code>
+			</li>
+		</ul>
+		<h4 id="Changesinorg.eclipse.sirius.table">Changes in 
+			<code>org.eclipse.sirius.table</code>
+		</h4>
+		<ul>
+			<li><span class="label label-danger">Removed</span> The 
+				<code>DTableElementSynchronizer</code> 
+				<em>EClass</em> has been removed from the table meta-model. It only defined 
+				<em>EOperations</em> and has been replaced with an equivalent (internal) plain Java class.
+			</li>
+		</ul>
+		<h4 id="Changesinorg.eclipse.sirius.tree.ui">Changes in 
+			<code>org.eclipse.sirius.tree.ui</code>
+		</h4>
+		<ul>
+			<li><span class="label label-success">Added</span> The enum class for Sirius tree preferences 
+				<code>org.eclipse.sirius.tree.ui.tools.api.preferences.SiriusTreeUiPreferencesKeys</code> has been added with the enum value 
+				<code>SiriusTreeUiPreferencesKeys.PREF_ALWAYS_USE_STANDARD_FONT_SIZE</code>. This enum value is the preference when true allowing to use runtime font height when displaying Sirius tree editor&#8217;s items instead of the one specified in the VSM.
+			</li>
+		</ul>
+		<h4 id="Changesinorg.eclipse.sirius.ui.editor2">Changes in 
+			<code>org.eclipse.sirius.ui.editor</code>
+		</h4>
+		<p>This plugin is new in Sirius 5.0. It provides a session editor showing loaded models, representations and viewpoint activation status of the session. It has functionalities allowing to change the viewpoint activation status, to create/remove representations or to load unload external models. The graphical block showing loaded models is integrated with CNF. You can provide content extension to its viewer by using an id matching the pattern 
+			<code>org.eclipse.sirius.ui.editor.graphicalcomponents.semanticModelsViewer.contentExtension.*</code>. You also can provide action extension by using an id matching the pattern 
+			<code>org.eclipse.sirius.ui.editor.graphicalcomponents.semanticModelsViewer.actionExtension.*</code>. The extension will be selectable/unselectable by using a 
+			<code>Customize View</code> button on the models block header.
+		</p>
+		<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 class 
+				<code>org.eclipse.sirius.properties.core.internal.converter.ViewDescriptionConverter</code> has been moved as an API to 
+				<code>org.eclipse.sirius.properties.core.api.ViewDescriptionConverter</code>.
+			</li>
+			<li><span class="label label-success">Added</span> The classes necessary to support the preprocessing of the odesign for the inheritance in its Properties parts are available in the API package 
+				<code>org.eclipse.sirius.properties.core.api</code>.
+			</li>
+			<li><span class="label label-success">Added</span> The class 
+				<code>org.eclipse.sirius.properties.core.internal.SiriusInterpreter</code> has been moved as an API to 
+				<code>org.eclipse.sirius.properties.core.api.SiriusInterpreter</code>. This class could be used by those who want to create custom model operations using the Properties framework.
+			</li>
+			<li><span class="label label-success">Added</span> The class 
+				<code>org.eclipse.sirius.properties.core.api.SiriusDomainClassTester</code> has been added as an API for those who want to create custom model operations using the Properties framework.
+			</li>
+			<li><span class="label label-success">Added</span> The method 
+				<code>org.eclipse.sirius.ext.emf.edit.EditingDomainServices.createInstance(EClass)</code> has been added to allow the creation of a new instance from an EClass in the interpreters.
+			</li>
+			<li><span class="label label-info">Modified</span> The default rules have been transfered to a new dedicated plugin named 
+				<code>org.eclipse.sirius.properties.defaultrules</code>.
+			</li>
+		</ul>
+		<h4 id="Changesinorg.eclipse.sirius.ui.properties">Changes in 
+			<code>org.eclipse.sirius.ui.properties</code>
+		</h4>
+		<ul>
+			<li><span class="label label-info">Modified</span> All the content related to the IDescriptionConverter and ILinkResolver has been moved from the plugin 
+				<code>org.eclipse.sirius.ui.properties</code> to the newly created plugin 
+				<code>org.eclipse.sirius.properties.core</code>. It includes all the APIs and both extension points.
+			</li>
+		</ul>
+		<h4 id="Changesinorg.eclipse.sirius.editor.properties">Changes in 
+			<code>org.eclipse.sirius.editor.properties</code>
+		</h4>
+		<ul>
+			<li><span class="label label-info">Modified</span> In the package 
+				<code>org.eclipse.sirius.editor.properties.sections.description.representationdescription</code> the class 
+				<code>RepresentationDescriptionMetamodelsUpdater</code> has been replaced by 
+				<code>DescriptionMetamodelsUpdater</code> which can now be used with any EObject with a many-valued EReference to EPackages. The behavior of the class 
+				<code>RepresentationDescriptionMetamodelPropertySectionSpec</code> has been transfered to an abstract class independent of 
+				<code>RepresentationDescription</code> named 
+				<code>AbstractMetamodelPropertySectionSpec</code>. Those classes are now used for the edition of the metamodels of both the Properties view description and the various representations.
+			</li>
+		</ul>
+		<h4 id="Changesinorg.eclipse.sirius.tests.junit.support2">Changes in 
+			<code>org.eclipse.sirius.tests.junit.support</code>
+		</h4>
+		<ul>
+			<li><span class="label label-success">Added</span> The utility method 
+				<code>org.eclipse.sirius.tests.support.api.TestsUtil.setTargetPlatform()</code> has been added to allow to load a PDE target platform according to all known OSGi bundles. It is useful to compile a plug-in in the execution runtime of the tests.
+			</li>
+			<li><span class="label label-success">Added</span> The utility class 
+				<code>org.eclipse.sirius.tests.support.api.OpenedSessionsCondition</code> has been extracted from a junit test to be used by multiple junit tests. It allows to wait until a session is in opened state.
+			</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> The method 
+				<code>getTreeItem(SWTBotTreeItem[], String, boolean, boolean)</code> has been added in 
+				<code>org.eclipse.sirius.tests.swtbot.support.utils</code> to retrieve recursively a 
+				<code>SWTBotTreeItem</code> in a 
+				<code>SWTBotTreeItem</code> array. Compared to 
+				<code>getTreeItem(SWTBotTreeItem[], String)</code>, it adds the capability to control if the search must be done on enabled items or enabled and disabled items and if the tree must be expanded during the search to check non displayed items.
+			</li>
+			<li><span class="label label-success">Added</span> A new utility method 
+				<code>org.eclipse.sirius.tests.swtbot.support.api.editor.SWTBotSiriusDiagramEditor.dragCentered(String, Class&lt;? extends EditPart&gt;, int, int)</code> improving the dragCentered method by adding the aimed Class in parameter.
+			</li>
+			<li><span class="label label-info">Modified</span> A new AtomicBoolean parameter has been added to the utility method 
+				<code>mouseDragWithKey(int, int, int, int, int)</code> in classes 
+				<code>org.eclipse.sirius.tests.swtbot.support.api.editor.SWTBotSiriusDiagramEditor</code>, 
+				<code>org.eclipse.sirius.tests.swtbot.support.api.editor.SWTBotSiriusGefViewer</code> and 
+				<code>org.eclipse.sirius.tests.swtbot.support.api.widget.SWTBotSiriusFigureCanvas</code>. This allows to correctly wait the end of the drag&#8217;n&#8217;drop.
+				<ul>
+					<li>Sample of code to use:</li>
+				</ul>
+			</li>
+		</ul>
+		<pre>final AtomicBoolean dragFinished = new AtomicBoolean(false);
+editor.dragWithKey(start.x, start.y, endpoint.x, endpoint.y, SWT.F3, dragFinished);
+// Wait that the drag is done (the async Runnable simulating the
+// drag)
+bot.waitUntil(new ICondition() {
+    @Override
+    public boolean test() throws Exception {
+        return dragFinished.get();
+    }
+
+    @Override
+    public void init(SWTBot bot) {
+    }
+
+    @Override
+    public String getFailureMessage() {
+        return "The drag'n'drop operation has not finished.";
+    }
+});
+// Wait that the figures are redrawn. In a fast environment, figures
+// are not really redrawn and the rest of the test is not reliable.
+SWTBotUtils.waitAllUiEvents();
+
+</pre>
+		<h2 id="sirius4.1.2">Changes in Sirius 4.1.2</h2>
+		<h3 id="UserVisibleChanges4">User-Visible Changes</h3>
+		<ul>
+			<li><span class="label label-success">Added</span> A new preference named 
+				<em>Maximum size of tabs name</em> is available in the Sirius Properties View preference page. This preference is used to shorten the tabs names when the default rules are used to render the properties view.
+			</li>
+		</ul>
+		<p>
+			<img border="0" src="./images/PreferencePageMaxTabName.png"/> 
+		</p>
+		<h3 id="DeveloperVisibleChanges4">Developer-Visible Changes</h3>
+		<ul>
+			<li><span class="label label-success">Added</span> 
+				<code>org.eclipse.sirius.diagram.ui.tools.api.format.SiriusFormatDataManagerWithMapping</code> class has been added to handle copy/paste format with mapping information when an element target of a format pasting has many source diagram format corresponding to its key. In this case, we use the mapping information to get the more precise data format. And if no result matched, then we return the first found by using the key.
+			</li>
+		</ul>
+		<ul>
+			<li><span class="label label-success">Added</span> 
+				<code>org.eclipse.sirius.diagram.ui.tools.api.format.SiriusFormatDataManagerWithMapping.getFormatData(FormatDataKey, RepresentationElementMapping)</code> method has been added to retrieve during format pasting the data format corresponding to the given key and mapping when more than one result correspond to the key. If no result matches the mapping, then the first result found by using the key is returned.
+			</li>
+		</ul>
+		<ul>
+			<li><span class="label label-success">Added</span> 
+				<code>org.eclipse.sirius.diagram.ui.tools.api.format.SiriusFormatDataManagerWithMapping.addFormatData(FormatDataKey, RepresentationElementMapping, AbstractFormatData)</code> method has been added to allow data format manager to register data format with mapping information when copying format.
+			</li>
+		</ul>
+		<ul>
+			<li><span class="label label-success">Deprecated</span></li>
+		</ul>
+		<p>
+			<code>org.eclipse.sirius.diagram.ui.tools.api.format.SiriusFormatDataManager.getFormatData(FormatDataKey)</code> It is replaced by 
+			<code>org.eclipse.sirius.diagram.ui.tools.api.format.SiriusFormatDataManagerWithMapping.getFormatData(FormatDataKey, RepresentationElementMapping)</code> to better handle copy/paste format cases.
+		</p>
+		<ul>
+			<li><span class="label label-success">Deprecated</span></li>
+		</ul>
+		<p>
+			<code>org.eclipse.sirius.diagram.ui.tools.api.format.SiriusFormatDataManager.addFormatData(FormatDataKey, AbstractFormatData)</code> It is replaced by 
+			<code>org.eclipse.sirius.diagram.ui.tools.api.format.SiriusFormatDataManagerWithMapping.addFormatData(FormatDataKey, RepresentationElementMapping, AbstractFormatData)</code> to better handle copy/paste format cases.
+		</p>
+		<h2 id="sirius4.1.1">Changes in Sirius 4.1.1</h2>
+		<h3 id="UserVisibleChanges5">User-Visible Changes</h3>
+		<ul>
+			<li><span class="label label-info">Modified</span>The &#8220;straighten to&#8221; actions were previously disabled when an edge is connected to border nodes that have several edges. It is now allowed.</li>
+		</ul>
+		<h3 id="DeveloperVisibleChanges5">Developer-Visible Changes</h3>
+		<ul>
+			<li><span class="label label-success">Added</span> 
+				<code>org.eclipse.sirius.table.business.api.helper.TableHelper.getEStructuralFeature(DLine, DColumn)</code> method has been added to retrieve the EStructuralFeature associated to a table column.
+			</li>
+		</ul>
+		<h2 id="sirius4.1.0">Changes in Sirius 4.1.0</h2>
+		<h3 id="UserVisibleChanges6">User-Visible Changes</h3>
+		<ul>
+			<li><span class="label label-success">Added</span> Copy/Paste Layout has been completed with Copy/Paste Style and Copy/Paste Format. 
+				<em>Paste Format</em> is equivalent to paste 
+				<em>Layout</em> and 
+				<em>Style</em> action. See chapter 
+				<a href="./user/diagrams/Diagrams.html#copy_paste_format">
+					<em>Copy/paste of format</em>
+				</a> in 
+				<em>User Manual</em> for more details.
+			</li>
+			<li><span class="label label-success">Added</span> The 
+				<a href="./user/diagrams/Diagrams.html#snap_to_shapes">snap to shape</a> feature is now available on border nodes.
+			</li>
+			<li><span class="label label-success">Added</span> It is now possible to display an attachment link between an edge and its labels when label or edge is selected. This is not the default behavior but it can be activated by a preference in 
+				<em>Sirius/Sirius Diagram/Connections</em> preference page. See chapter 
+				<a href="./user/diagrams/Diagrams.html#edge_label_attachment">
+					<em>Display attachment link between edge and its labels</em>
+				</a> in 
+				<em>User Manual</em> for more details.
+			</li>
+			<li><span class="label label-success">Added</span> It is now possible to straighten an edge to top, bottom, left or right. These actions are available on edge contextual menu 
+				<em>Layout/Straighten</em>. See chapter 
+				<a href="./user/diagrams/Diagrams.html#straighten_an_edge">
+					<em>Straighten an edge</em>
+				</a> in 
+				<em>User Manual</em> for more details.
+			</li>
+			<li><span class="label label-success">Added</span> It is now possible to disable the 
+				<em>Default</em> and 
+				<em>Semantic</em> properties tabs (visible when selecting and element from the 
+				<em>Model Explorer</em> or from a Sirius editor, respectively) when using modelers which provide fully-functional replacements defined directly with Sirius. This is controled in the new 
+				<em>Sirius &gt; Sirius Properties View</em> preference page.
+			</li>
+			<li><span class="label label-success">Added</span> Sirius-defined properties view are now enabled for semantic elements selected directly from inside the 
+				<em>Model Explorer</em> (as long as the selected element is from inside an open Sirius session/project). Previously only elements selected from inside a Sirius editor were supported.
+			</li>
+			<li><span class="label label-info">Modified</span> In the Sirius-provided 
+				<em>Properties View</em>, the edition of a text field is only taken into account when pressing 
+				<em>Enter</em> or leaving the field. Previously it was triggered asynchronously after a small delay without activity, which could be confusing.
+			</li>
+			<li><span class="label label-info">Modified</span> When trying to open a session which holds a representation resource or a VSP which was saved using a more recent version of Sirius than the one you are using, the session will be automatically closed displaying an error message. You can overload this behavior by providing you own implementation of 
+				<code>UICallBack</code> in which you can have an UI feedback letting you choose if you want to open the session anyway. Warning: if you choose to proceed, there is no guarantee that the resulting session will be usable. It may even lead to data loss or corruption; use at your own risk.
+			</li>
+		</ul>
+		<p>If a viewpoint has been defined with a more recent version of Sirius than the one you are using, the 
+			<code>ViewpointRegistry</code> will not register it and a warning is logged in the error log view to inform the user.
+		</p>
+		<ul>
+			<li><span class="label label-info">Modified</span> The 
+				<a href="./user/diagrams/Diagrams.html#move_edge_group">move edge group</a> feature now also work for a selection of edge group.
+			</li>
+			<li><span class="label label-info">Modified</span> In a diagram editor, the zoom with mouse wheel is now zooming on mouse location instead of center of the editor. See 
+				<a href="./user/diagrams/Diagrams.html#zooming_diagram_id">user documentation</a> .
+			</li>
+			<li><span class="label label-info">Modified</span> The direct edit on a Note or Text is now accessible by a slow double click like any other diagram element.</li>
+			<li><span class="label label-info">Modified</span> The shortcut 
+				<em>Ctrl+&amp;</em>, for 
+				<a href="./user/diagrams/Diagrams.html#reset_origin">
+					<em>Reset Origin</em>
+				</a> action, has been replaced by 
+				<em>Ctrl+HOME</em>.
+			</li>
+		</ul>
+		<h3 id="SpecifierVisibleChanges3">Specifier-Visible Changes</h3>
+		<ul>
+			<li><span class="label label-success">Added</span> It is now possible to inline a copy of the default Properties Views model inside the VSM. This is a copy of the model Sirius would use if no 
+				<em>Properties View Description</em> was specified. It can be used as a starting point for manual customization, or as a complement for elements for which you do not provide any custom rules. 
+			</li>
+			<li><span class="label label-success">Added</span> In the definition of the Properties view, hyperlink and label widgets can now have widget actions.</li>
+			<li><span class="label label-success">Added</span> Hyperlink and label widgets now have a 
+				<code>displayExpression</code>, if blank the result of the value expression will be used after a call to the method 
+				<code>java.lang.Object#toString()</code>.
+			</li>
+			<li><span class="label label-success">Added</span> Hyperlink and label widgets now support optional associated actions (visible as buttons on the right of the widget).</li>
+			<li><span class="label label-success">Added</span> A new widget named List with the same behavior as the multiple reference widget.</li>
+			<li><span class="label label-success">Added</span> 
+				<em>Page</em> and 
+				<em>Group</em> descriptions in 
+				<em>Properties View</em> models now support a 
+				<code>preconditionExpression</code>, which behaves in the same way as preconditions for mappings on representation descriptions.
+			</li>
+			<li><span class="label label-info">Modified</span> The rules concerning the layout of compartments have been changed/completed. You can have a look at the 
+				<a href="specifier/diagrams/Diagrams.html#compartments_layout">dedicated chapter</a> in the specifier documentation for more details.
+			</li>
+			<li><span class="label label-info">Modified</span> In the VSM editor, all dialogs which ask for selecting elements from the VSM will now show the fully qualified path of each element, instead of just their name, to allow distinguishing elements with the same name appearing in different places.</li>
+			<li><span class="label label-info">Modified</span> The properties 
+				<code>fontSize</code> and 
+				<code>labelFontSize</code> have been renamed into 
+				<code>fontSizeExpression</code> and 
+				<code>labelFontSizeExpression</code> since both of them were already treated as expression.
+			</li>
+			<li><span class="label label-info">Modified</span> In the VSM editor, the 
+				<em>Identifier</em> attribute of many 
+				<em>Prroperties View</em> related elements has been moved into the 
+				<em>Advanced</em> tab and renamed 
+				<em>Extension Id</em>, as it is not actually required on common use cases but only for extensibility purposes.
+			</li>
+			<li><span class="label label-info">Modified</span> The property 
+				<code>Domain Class Expression</code> in 
+				<code>DynamicMappingFor</code> elements (in properties views definitions) has been renamed into 
+				<code>Iterable Expression</code>.
+			</li>
+			<li><span class="label label-info">Modified</span> The 
+				<em>Properties View</em> widget which was named 
+				<em>Reference</em> in Sirius 4.0 has been renamed as 
+				<em>List</em>, as it corresponds to an arbitrary list of elements with customizable buttons for acting on them. A new 
+				<em>Reference</em> widget was added for handling plain 
+				<em>EReference</em> edition with minimal configuration needed.
+			</li>
+			<li><span class="label label-info">Modified</span> When opening a VSM, the editor now automatically expands the first few levels to immediatly reveal the interesting elements (representation descriptions).</li>
+			<li><span class="label label-warning">Deprecated</span> The extension point 
+				<code>org.eclipse.sirius.diagram.ui.layoutDataManager</code> is deprecated. It is replaced by the new extension point 
+				<code>org.eclipse.sirius.diagram.ui.formatDataManager</code>. The deprecated extension point will be removed in the next 5.0 Sirius major release. Several classes associated with this deprecated extension point are also deprecated (see Developer-Visible Changes for details).
+			</li>
+		</ul>
+		<h3 id="DeveloperVisibleChanges6">Developer-Visible Changes</h3>
+		<ul>
+			<li><span class="label label-success">Added</span> As the first step to save the DRepresentation in its own resource, 
+				<code>org.eclipse.sirius.viewpoint.DView.getOwnedRepresentationDescriptors()</code> has been added as a wrapper of the 
+				<code>DRepresentation</code>. The 
+				<code>DRepresentationDescriptor</code> is contained by the 
+				<code>DView</code> and the 
+				<code>DRepresentationDescriptor</code> have a reference to the 
+				<code>DRepresentation</code>. In this step, the main impact is that the Sirius common navigator does not display the 
+				<code>DRepresentation</code> anymore but the 
+				<code>DRepresentationDescriptor</code> instead. All the actions and commands are then based on 
+				<code>DRepresentationDescriptor</code>.
+			</li>
+			<li><span class="label label-success">Added</span> As the second step to save the DRepresentation in its own resource, 
+				<code>org.eclipse.sirius.viewpoint.DView.getOwnedRepresentations()</code> has been removed. The 
+				<code>DRepresentation</code> is now created as root element of the representations resource. The main impact is on the core of Sirius but also potentially on client Sirius customization. Each peace of code that makes the supposition that the 
+				<code>DView</code> is the container of the 
+				<code>DRepresentation</code> must be reworked. The code using methods in the following list may be concerned by the rework:
+				<ul>
+					<li>
+						<code>EObject.eContainer()</code>. If the object is a 
+						<code>DRepresentation</code>, its container is now null.
+					</li>
+					<li>
+						<code>EcoreUtil.getRootContainer(xxx)</code>. The root container of a DDiagramElement is the 
+						<code>DRepresentation</code> and not the 
+						<code>DAnalysis</code> any more.
+					</li>
+					<li>
+						<code>EcoreUtil.isAncestor(xxx)</code>. the 
+						<code>DView</code> is not an ancestor of a 
+						<code>DRepresentation</code> (or its content) anymore.
+					</li>
+				</ul>
+			</li>
+			<li><span class="label label-success">Added</span> As a developer, the followings utility methods will help you to migrate your code following the second step described above:
+				<ul>
+					<li>
+						<code>org.eclipse.sirius.business.api.query.DViewQuery.getLoadedRepresentations()</code> replaces the removed 
+						<code>DView.getOwnedRepresentations()</code> method. It provides all the loaded representations holds by a 
+						<code>DView</code>. In this step, all that representations are always loaded as they are into the .aird resource.
+					</li>
+					<li>
+						<code>org.eclipse.sirius.business.api.query.DViewQuery.getAllContentInRepresentations(final Predicate&lt;? super EObject&gt;)</code> provides the content of a 
+						<code>DView</code> according to a predicate.
+					</li>
+					<li>
+						<code>org.eclipse.sirius.business.api.query.DRepresentationQuery.getRepresentationDescriptor()</code> provides the 
+						<code>DRepresentationDescriptor</code> which references the 
+						<code>DRepresentation</code>.
+					</li>
+					<li>
+						<code>org.eclipse.sirius.business.api.query.EObjectQuery.getDAnalysis()</code> allows to retrieve a DAnalysis from a 
+						<code>DRepresentationElement</code>
+					</li>
+				</ul>
+			</li>
+		</ul>
+		<h4 id="Changesinorg.eclipse.sirius4">Changes in 
+			<code>org.eclipse.sirius</code>
+		</h4>
+		<ul>
+			<li><span class="label label-success">Added</span> A new extension point named 
+				<code>org.eclipse.sirius.interpretedExpressionQueryProvider</code> (with the associated new interface 
+				<code>org.eclipse.sirius.business.api.dialect.description.IInterpretedExpressionQueryProvider</code>) allows external contribution of 
+				<code>IInterpretedExpressionQuery</code> specific to some particular expression occurrences in the VSM. This is used in particular for VSM extensions which do not fit well into the hard-coded assumptions about 
+				<code>IInterpretedExpressionQuery</code>. In Sirius 4.1, this is used to add completion and validation support for expressions used in properties views descriptions.
+			</li>
+			<li><span class="label label-success">Added</span> 
+				<code>org.eclipse.sirius.business.api.migration.AirdResourceVersionMismatchException</code> exception has been added to cancel Sirius session opening due to an .aird version mismatch, i.e. when one the of the loaded Representation resources is coming from a newer Sirius release.
+			</li>
+			<li><span class="label label-success">Added</span> 
+				<code>org.eclipse.sirius.viewpoint.DView.getOwnedRepresentationDescriptors()</code> has been added as the first step to save the DRepresentation in its own resource. In this step, the DRepresentationDescriptor life cycle is the same as the associated DRepresentation.
+				<ul>
+					<li>
+						<code>org.eclipse.sirius.business.api.dialect.command.RenameRepresentationCommand</code>
+					</li>
+					<li>
+						<code>org.eclipse.sirius.business.api.dialect.command.DeleteRepresentationCommand</code>
+					</li>
+					<li>
+						<code>org.eclipse.sirius.business.api.dialect.command.MoveRepresentationCommand</code>
+					</li>
+					<li>
+						<code>org.eclipse.sirius.business.api.dialect.command.CopyRepresentationCommand</code>
+					</li>
+				</ul>
+			</li>
+			<li><span class="label label-success">Added</span> 
+				<code>getAvailableRepresentationDescriptions(Collection&lt;Viewpoint&gt;, EObject)</code>, 
+				<code>getAllRepresentationDescriptors(Session )</code>, 
+				<code>getRepresentationDescriptors(EObject, Session)</code> and 
+				<code>getRepresentationDescriptors(RepresentationDescription, Session )</code> have been added in 
+				<code>org.eclipse.sirius.business.api.dialect.DialectServices</code> and implemented in 
+				<code>org.eclipse.sirius.business.api.dialect.AbstractRepresentationDialectServices</code>. These methods are used, instead of their equivalent with DRepresentation, for every functionality which relies on 
+				<code>DRepresentationDescriptor</code> instead of 
+				<code>DRepresentation</code> such as actions, wizards or views.
+			</li>
+			<li><span class="label label-success">Added</span> 
+				<code>org.eclipse.sirius.business.api.dialect.AbstractRepresentationDialectServices.isSupported(DRepresentationDescriptor)</code> has been added because actions, wizards or views that were related to 
+				<code>DRepresentation</code> are now related to 
+				<code>DRepresentationDescriptor</code>.
+			</li>
+			<li><span class="label label-success">Added</span> 
+				<code>org.eclipse.sirius.ui.business.api.dialect.DialectUIServices.canHandle(DRepresentationDescriptor)</code> has been added because actions, wizards or views that were related to 
+				<code>DRepresentation</code> are now related to 
+				<code>DRepresentationDescriptor</code>.
+			</li>
+			<li><span class="label label-success">Added</span> 
+				<code>org.eclipse.sirius.ui.business.api.dialect.DialectUIManager.canExport(DRepresentationDescriptor, ExportFormat)</code> has been added because actions, wizards or views that were related to 
+				<code>DRepresentation</code> are now related to 
+				<code>DRepresentationDescriptor</code>.
+			</li>
+			<li><span class="label label-success">Added</span> 
+				<code>org.eclipse.sirius.business.api.query.DRepresentationQuery.getRepresentationDescriptor()</code> has been added to retrieve the 
+				<code>DRepresentationDescriptor</code> that references the 
+				<code>DRepresentation</code>.
+			</li>
+			<li><span class="label label-success">Added</span> 
+				<code>org.eclipse.sirius.business.api.session.CustomDataConstants.DREPRESENTATION_DESCRIPTOR_FROM_DESCRIPTION</code> and 
+				<code>org.eclipse.sirius.business.api.session.CustomDataConstants.DREPRESENTATION_DESCRIPTOR</code> have been added. They are used to get or put 
+				<code>DRepresentationDescriptor</code> in the model managed by the 
+				<code>Session</code> through the 
+				<code>org.eclipse.sirius.business.api.session.SessionService.putCustomData(String, EObject, EObject)</code> and 
+				<code>SessionService.getCustomData(String, EObject)</code> methods.
+			</li>
+			<li><span class="label label-success">Added</span> 
+				<code>org.eclipse.sirius.business.api.query.EObjectQuery.getDAnalysis()</code> has been added to retrieve a DAnalysis from a 
+				<code>DRepresentationElement</code>
+			</li>
+			<li><span class="label label-info">Modified</span> 
+				<code>org.eclipse.sirius.business.api.session.danalysis.DAnalysisSessionHelper.findContainerForAddedRepresentation(DAnalysis, DRepresentation)</code> has been changed to 
+				<code>findDViewForRepresentationDescription(DAnalysis , final RepresentationDescription)</code> because that API was previously badly defined.
+			</li>
+			<li><span class="label label-info">Modified</span> 
+				<code>org.eclipse.sirius.business.api.dialect.DialectServices.deleteRepresentation(DRepresentation, Session)</code> has been changed to 
+				<code>deleteRepresentation(DRepresentationDescriptor, Session)</code> because now the 
+				<code>DRepresentationDescriptor</code> is the entry point to delete the 
+				<code>DRepresentation</code> and itself.
+			</li>
+			<li><span class="label label-info">Modified</span> 
+				<code>DRepresentationDescriptor</code> is now the entry point to move, control or uncontrol a 
+				<code>DRepresentation</code> instead of the 
+				<code>DRepresentation</code> itself. Accordingly, the return type or parameter of the followings have changed to switch from 
+				<code>DRepresentation</code> to 
+				<code>DRepresentationDescriptor</code>
+				<ul>
+					<li>constructors of 
+						<code>org.eclipse.sirius.business.api.control.SiriusControlCommand</code>
+					</li>
+					<li>the constructor 
+						<code>org.eclipse.sirius.business.api.dialect.command.MoveRepresentationCommand.MoveRepresentationCommand(Session, DAnalysis, Collection&lt;DRepresentationDescriptor&gt;)</code>
+					</li>
+					<li>the method 
+						<code>org.eclipse.sirius.business.api.session.danalysis.DAnalysisSession.moveRepresentation(DAnalysis, DRepresentationDescriptor)</code>
+					</li>
+				</ul>
+			</li>
+			<li><span class="label label-info">Modified</span> 
+				<code>org.eclipse.sirius.business.api.session.danalysis.DAnalysisSessionHelper.updateModelsReferences(DView)</code> has replaced 
+				<code>updateModelsReferences(DAnalysis, Iterator&lt;DSemanticDecorator&gt;)</code> because it is more suited to the client needs.
+			</li>
+		</ul>
+		<h4 id="Changesinorg.eclipse.sirius.ui4">Changes in 
+			<code>org.eclipse.sirius.ui</code>
+		</h4>
+		<ul>
+			<li><span class="label label-success">Added</span> The class 
+				<code>org.eclipse.sirius.ui.business.api.dialect.HierarchyLabelProvider</code> has been added to provide a generic label provider for VSM model element giving hierarchical label. This label provider replaces the one returned by deprecated method 
+				<code>DialectUIServices.getHierarchyLabelProvider()</code>. 
+			</li>
+			<li><span class="label label-info">Modified</span> 
+				<code>AbstractSWTCallback</code> provides a default implementation of 
+				<code>UICallBack.askSessionReopeningWithResourceVersionMismatch()</code> method to give feedback about version mismatch and give the choice to reopen session despite a potential corruption.
+			</li>
+			<li><span class="label label-info">Modified</span> The method 
+				<code>org.eclipse.sirius.ui.tools.api.control.SiriusControlHandler.getRepresentationsToMove(Shell, Session, EObject)</code> and 
+				<code>SiriusControlHandler.collectExistingRepresentations</code> have been renamed to 
+				<code>getRepresentationDescriptorsToMove(Shell, Session, EObject)</code> and 
+				<code>SiriusControlHandler.collectExistingRepresentationDescriptors</code>. The return type of both that methods and 
+				<code>SiriusControlHandler.askUserWhichRepresentationToSplit</code> has been changed to 
+				<code>DRepresentationDescriptor</code> as 
+				<code>DRepresentationDescriptor</code> is the entry point to work with a 
+				<code>DRepresentation</code> instead of DRepresentation itself.
+			</li>
+			<li><span class="label label-warning">Deprecated</span> The method 
+				<code>org.eclipse.sirius.ui.business.api.dialect.DialectUIServices.getHierarchyLabelProvider()</code> has been deprecated in favor of generic label provider 
+				<code>HierarchyLabelProvider</code>.
+			</li>
+		</ul>
+		<h4 id="Changesinorg.eclipse.sirius.diagram3">Changes in 
+			<code>org.eclipse.sirius.diagram</code>
+		</h4>
+		<ul>
+			<li><span class="label label-success">Added</span> 
+				<code>org.eclipse.sirius.diagram.business.api.diagramtype.IDiagramDescriptionProvider.allowsCopyPasteFormat(DSemanticDecorator)</code> has been added in replacement of 
+				<code>allowsCopyPasteLayout(DSemanticDecorator)</code> that is now deprecated. This 2 methods must return the same result. 
+				<code>allowsCopyPasteLayout(DSemanticDecorator)</code> will be removed in the new major version.
+			</li>
+		</ul>
+		<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> The constant 
+				<code>EDGE_SNAP_BACK</code> has been added in class 
+				<code>org.eclipse.sirius.diagram.ui.tools.api.ui.actions.ActionIds</code>. It corresponds to the new snap back label action id that is present on edges.
+			</li>
+			<li><span class="label label-success">Added</span> 2 methods are added in 
+				<code>org.eclipse.sirius.diagram.ui.tools.api.layout.SiriusLayoutDataManager</code> (and also in 
+				<code>org.eclipse.sirius.diagram.ui.tools.api.layout.AbstractSiriusLayoutDataManager</code>):
+				<ul>
+					<li>
+						<code>applyFormat(IGraphicalEditPart)</code>: Apply the current format data (layout data and style data) to the given edit part.
+					</li>
+					<li>
+						<code>applyStyle(IGraphicalEditPart)</code>: Apply the current style data to the give edit part.
+					</li>
+				</ul>
+			</li>
+			<li><span class="label label-success">Added</span> 2 methods are added in 
+				<code>org.eclipse.sirius.diagram.ui.tools.api.editor.tabbar.AbstractTabbarContributor</code>:
+				<ul>
+					<li>
+						<code>createCopyFormatContribution(IDiagramWorkbenchPart)</code>: In replacement of 
+						<code>createCopyLayoutContribution(IDiagramWorkbenchPart)</code> that is now deprecated.
+					</li>
+					<li>
+						<code>createPasteFormatContribution(IDiagramWorkbenchPart)</code>: In replacement of 
+						<code>createPasteLayoutContribution(IDiagramWorkbenchPart)</code> that is now deprecated.
+					</li>
+				</ul>
+			</li>
+			<li><span class="label label-success">Added</span> New action ids have been added in 
+				<code>org.eclipse.sirius.diagram.ui.tools.api.ui.actions.ActionIds</code>:
+				<ul>
+					<li>
+						<code>COPY_FORMAT</code>: Action contribution id for the copy format. It replaces the old 
+						<code>COPY_LAYOUT</code>.
+					</li>
+					<li>
+						<code>PASTE_FORMAT</code>: Action contribution id for the paste format. It does not replace the old 
+						<code>PASTE_LAYOUT</code>. The paste format paste the layout and the style. The paste layout only paste layout.
+					</li>
+					<li>
+						<code>PASTE_STYLE</code>: Action contribution id for the paste style.
+					</li>
+				</ul>
+			</li>
+			<li><span class="label label-success">Added</span> 
+				<code>org.eclipse.sirius.diagram.ui.business.api.query.NodeQuery.isDescendantOf(View)</code> has been added to know if a view is a descendant of another view.
+			</li>
+			<li><span class="label label-success">Added</span> 
+				<code>org.eclipse.sirius.diagram.ui.business.api.query.ViewQuery.getAncestor(int...)</code> has been added to retrieve the first ancestor of the view, or itself, that has at least one of the visualID passed as parameter.
+			</li>
+			<li><span class="label label-success">Added</span> The new preference key 
+				<code>PREF_SHOW_LINK_EDGE_LABEL_ON_SELECTION</code> has been added in 
+				<code>org.eclipse.sirius.diagram.ui.tools.api.preferences.SiriusDiagramUiPreferencesKeys</code>. It corresponds to the preference shown in 
+				<em>Sirius/Sirius Diagram/Connections</em> Eclipse preferences.
+			</li>
+			<li><span class="label label-success">Added</span> The new figure 
+				<code>org.eclipse.sirius.diagram.ui.tools.api.figure.SiriusWrapLabelWithAttachment</code> is a specific 
+				<code>SiriusWrapLabel</code> that allows to show an attachment between the label and its edge.
+			</li>
+			<li><span class="label label-success">Added</span> A new kind of request, 
+				<code>org.eclipse.sirius.diagram.ui.tools.api.requests.StraightenToRequest</code>, has been added to handle the new 
+				<em>Straighten to</em> actions. The corresponding id has also been added: 
+				<code>org.eclipse.sirius.diagram.ui.tools.api.requests.RequestConstants.REQ_STRAIGHTEN</code>.
+			</li>
+			<li><span class="label label-success">Added</span> 4 action ids have been added in 
+				<code>org.eclipse.sirius.diagram.ui.tools.api.ui.actions.ActionIds</code>:
+				<ul>
+					<li>
+						<code>STRAIGHTEN_TO_TOP</code>: For 
+						<em>Straighten to top</em> action,
+					</li>
+					<li>
+						<code>STRAIGHTEN_TO_BOTTOM</code>: For 
+						<em>Straighten to bottom</em> action,
+					</li>
+					<li>
+						<code>STRAIGHTEN_TO_LEFT</code>: For 
+						<em>Straighten to left</em> action,
+					</li>
+					<li>
+						<code>STRAIGHTEN_TO_RIGHT</code>: For 
+						<em>Straighten to right</em> action.
+					</li>
+				</ul>
+			</li>
+			<li><span class="label label-success">Added</span> Constants have been added in 
+				<code>org.eclipse.sirius.diagram.ui.tools.api.image.DiagramImagesPath</code> for the icon path of the four new straighten actions.
+			</li>
+			<li><span class="label label-info">Modified</span> 
+				<code>org.eclipse.sirius.diagram.ui.tools.api.layout.AbstractSiriusLayoutDataManager</code> is deprecated, use 
+				<code>org.eclipse.sirius.diagram.ui.tools.api.format.AbstractSiriusFormatDataManager</code> instead.
+			</li>
+			<li><span class="label label-info">Modified</span> 
+				<code>org.eclipse.sirius.diagram.ui.tools.api.layout.ILayoutDataManagerProvider</code> is deprecated, use 
+				<code>org.eclipse.sirius.diagram.ui.tools.api.format.IFormatDataManagerProvider</code> instead.
+			</li>
+			<li><span class="label label-info">Modified</span> 
+				<code>org.eclipse.sirius.diagram.ui.tools.api.layout.LayoutDataHelper</code> is deprecated, use 
+				<code>org.eclipse.sirius.diagram.ui.tools.api.format.FormatDataHelper</code> instead.
+			</li>
+			<li><span class="label label-info">Modified</span> 
+				<code>org.eclipse.sirius.diagram.ui.tools.api.layout.LayoutDataKey</code> is deprecated, use 
+				<code>org.eclipse.sirius.diagram.ui.tools.api.format.FormatDataKey</code> instead.
+			</li>
+			<li><span class="label label-info">Modified</span> 
+				<code>org.eclipse.sirius.diagram.ui.tools.api.layout.SiriusLayoutDataManager</code> is deprecated, use 
+				<code>org.eclipse.sirius.diagram.ui.tools.api.format.SiriusFormatDataManager</code> instead.
+			</li>
+			<li><span class="label label-info">Modified</span> 
+				<code>org.eclipse.sirius.diagram.ui.tools.api.layout.SiriusLayoutDataManagerForSemanticElementsFactory</code> is deprecated, use 
+				<code>org.eclipse.sirius.diagram.ui.tools.api.format.SiriusFormatDataManagerForSemanticElementsFactory</code> instead.
+			</li>
+			<li><span class="label label-info">Moved</span> The translation key 
+				<code>HierarchyLabelProvider_elementWihtoutNameLabel</code> has been removed from the 
+				<code>org.eclipse.sirius.diagram.ui</code> plug-in&#8217;s 
+				<code>Messages</code> class, and moved into the 
+				<code>org.eclipse.sirius.ui</code>'s 
+				<code>Messages</code> class.
+			</li>
+		</ul>
+		<h4 id="Changesinorg.eclipse.sirius.ext.gmf.runtime">Changes in 
+			<code>org.eclipse.sirius.ext.gmf.runtime</code>
+		</h4>
+		<ul>
+			<li><span class="label label-success">Added</span> The class 
+				<code>SiriusSnapFeedbackPolicy</code> has been copied from 
+				<code>org.eclipse.sirius.ext.gef.editpolicies</code> to 
+				<code>org.eclipse.sirius.ext.gmf.runtime.editpolicies</code>. The old class in plug-in 
+				<code>org.eclipse.sirius.ext.gef</code> is deprecated and will be removed in the next version.
+			</li>
+		</ul>
+		<h4 id="Changesinorg.eclipse.sirius.tests.junit.support3">Changes in 
+			<code>org.eclipse.sirius.tests.junit.support</code>
+		</h4>
+		<ul>
+			<li><span class="label label-success">Added</span> The utility methods 
+				<code>getRepresentationDescriptors(final String)</code>, 
+				<code>getRepresentationDescriptors(final String , final Session )</code> and 
+				<code>getRepresentationDescriptorFromRepresentation(DRepresentation)</code> have been added in class 
+				<code>org.eclipse.sirius.tests.support.api.SiriusTestCase</code> to adapt tests considering the 
+				<code>DView.ownedRepresentationDescriptors</code> addition.
+			</li>
+		</ul>
+		<h4 id="Changesinorg.eclipse.sirius.tests.swtbot.support2">Changes in 
+			<code>org.eclipse.sirius.tests.swtbot.support</code>
+		</h4>
+		<ul>
+			<li><span class="label label-success">Added</span> The utility method 
+				<code>mouseScrollWithKey(int, int, int, int)</code>, has been added in classes 
+				<code>org.eclipse.sirius.tests.swtbot.support.api.editor.SWTBotSiriusDiagramEditor</code>, 
+				<code>org.eclipse.sirius.tests.swtbot.support.api.editor.SWTBotSiriusGefViewer</code> and 
+				<code>org.eclipse.sirius.tests.swtbot.support.api.widget.SWTBotSiriusFigureCanvas</code> to allow testing events occurring after a mouse scroll combined to a keyboard key pressed at a given absolute position.
+			</li>
+		</ul>
+		<h4 id="Changesinorg.eclipse.sirius.properties">Changes in 
+			<code>org.eclipse.sirius.properties</code>
+		</h4>
+		<ul>
+			<li><span class="label label-info">Modified</span> The property 
+				<code>domainClassExpression</code> has been renamed into 
+				<code>iterableExpression</code>.
+			</li>
+			<li><span class="label label-info">Modified</span> The properties 
+				<code>fontSize</code> and 
+				<code>labelFontSize</code> have been renamed into 
+				<code>fontSizeExpression</code> and 
+				<code>labelFontSizeExpression</code> since both of them were already treated as expression.
+			</li>
+		</ul>
+		<h4 id="Changesinorg.eclipse.sirius.ui.properties2">Changes in 
+			<code>org.eclipse.sirius.ui.properties</code>
+		</h4>
+		<ul>
+			<li><span class="label label-success">Added</span> Four utility classes have been added as API in the package 
+				<code>org.eclipse.sirius.ui.properties.api</code> in order to help with the transformation of the description of custom widgets. The class 
+				<code>AbstractDescriptionConverter</code> can now be used as superclass for all the converters. The classes 
+				<code>DefautDescriptionConverter</code>, 
+				<code>DefautStyleDescriptionConverter</code> and 
+				<code>DefautDescriptionWithInitialOperationConverter</code>, now accessible, should handle most of the use cases. 
+			</li>
+		</ul>
+		<h4 id="Changesinorg.eclipse.sirius.ecore.extender">Changes in 
+			<code>org.eclipse.sirius.ecore.extender</code>
+		</h4>
+		<ul>
+			<li><span class="label label-info">Modified</span> The message 
+				<code>org.eclipse.sirius.ecore.extender.business.api.permission.exception.LockedInstanceException.PERMISSION_ISSUE_MESSAGE</code> has been modified. You should now use the 
+				<code>MessageFormat</code>. Example: 
+				<code>LockedInstanceException.PERMISSION_ISSUE_MESSAGE + getText(lockedElements)</code> must be replaced by 
+				<code>MessageFormat.format(LockedInstanceException.PERMISSION_ISSUE_MESSAGE, getText(lockedElements))</code>.
+			</li>
+			<li><span class="label label-info">Modified</span> The 
+				<code>org.eclipse.sirius.ecore.extender.business.api.accessor.ModelAccessorsRegistry</code> has been refactored to avoid problem with 
+				<code>ModelAccessor</code> lifecycle. The constructor has no longer a parameter.
+			</li>
+		</ul>
+		<h2 id="sirius4.0.0">Changes in Sirius 4.0.0</h2>
+		<h3 id="UserVisibleChanges7">User-Visible Changes</h3>
+		<ul>
+			<li><span class="label label-success">Added</span> The user can now filter elements according to a Typed variable (String, Integer, EEnum or any EDataType). If a user applies a filter containing Typed Variables, a dialog is displayed to allow user entering the Typed Variable values. That values can be used as variables in the Condition Expression of the Variable Filter.</li>
+			<li><span class="label label-success">Added</span> When the diagram is larger than the editor, you can move it in all directions pressing the middle-button and dragging the mouse (keeping the button pressed).</li>
+			<li><span class="label label-info">Modified</span> Now if an object is locked and cannot be modified according to 
+				<code>IPermissionAuthority</code>, the properties view will not be editable if this locked object is selected from the Model Explorer view.
+			</li>
+			<li><span class="label label-info">Modified</span> When trying to reconnect an edge end on another edge, the edge is now highlighted only if a reconnect tool is found (the precondition of the tool is not tested here).</li>
+			<li><span class="label label-info">Modified</span> List items now have the same margin whichever their parent is a simple list or a compartmentalized list. The margin in compartmentalized list was incorrectly set to 0 pixel.</li>
+			<li><span class="label label-info">Modified</span> The wizard to ask the new representation name has been changed. These concerns the title of the wizard and the input label. Example with a new Entities diagram for EcoreTools:</li>
+		</ul>
+		<p>
+			<img border="0" src="images/representationNameWizardChange.png"/>
+		</p>
+		<ul>
+			<li><span class="label label-info">Modified</span> The export of diagram as image handles the gradient color for container background for BMP, JPG, PNG and SVG formats. Before, it only works for JPG format.</li>
+			<li><span class="label label-info">Modified</span> The <img src="images/ApplyAppearanceProperties.png" style="box-shadow:none;display:inline;margin:0px;padding:0px;"/> 
+				<code>Apply Appearance Properties</code> action has been modified to use the last selected element as base style instead of the first one.
+			</li>
+		</ul>
+		<h3 id="SpecifierVisibleChanges4">Specifier-Visible Changes</h3>
+		<ul>
+			<li><span class="label label-success">Added</span> Sirius 4.0 introduces 
+				<strong>experimental</strong> support for specifying the properties views of your modelers directly from inside the VSM. This feature uses the same dynamic approach as for specifying diagrams, tables and trees, with a very flexible configuration language and no code generation involved (including live preview of any change). As of Sirius 4.0, this feature should be considered in an experimental state with details subject to changes until Sirius 4.1, and is not installed by default. To install it, make sure either 
+				<a href="http://download.eclipse.org/releases/neon">the Eclipse Neon repositry</a> or the 
+				<a href="http://download.eclipse.org/sirius/updates/releases/4.0.0/neon">Sirius 4.0</a> and 
+				<a href="http://download.eclipse.org/modeling/emft/eef/updates/releases/1.6.0">EEF 1.6</a> repositories are available, and then to install the following features (from in the 
+				<em>Modeling</em> category of Neon, or 
+				<em>Sirius Experimental Features</em> of the Sirius repository ):
+				<ul>
+					<li>
+						<em>Sirius Properties Views &#8211; Runtime Support</em> (
+						<code>org.eclipse.sirius.properties.feature.feature.group</code>): needed at runtime for deployed modelers which have properties views defined in their specification.
+					</li>
+					<li>
+						<em>Sirius Properties Views &#8211; Specifier Support</em> (
+						<code>org.eclipse.sirius.specifier.properties.feature.feature.group</code>): provides support for editing the configuration model directly inside the VSM editor and the specifier documentation.
+					</li>
+				</ul>
+			</li>
+		</ul>
+		<p>Once this is done, you can find the actual documentation in the 
+			<em>Sirius Specifier Manual</em>, under the 
+			<a href="specifier/properties/Properties_View_Description.html">
+				<em>Properties View</em>
+			</a> section.
+		</p>
+		<ul>
+			<li><span class="label label-success">Added</span> All static strings defined in the VSMs which are visible to the end-user of the modeler, like viewpoint and tools names, can now be internationalized. Simply replace the name with a translation key reference of the form 
+				<code>%myUniqueKey</code> in the VSM, and define the value in the 
+				<em>Viewpoint Specification Project</em>'s 
+				<code>plugin.properties</code> (for the default value), or 
+				<code>plugin_XX.properties</code> for locale 
+				<code>XX</code>. The underlying mechanism is the same as for Eclipse/OSGi plug-ins, so translations can even be contributed by physically separate plug-in fragments. See 
+				<a href="specifier/general/Specifying_Viewpoints.html#translatable_messages">the corresponding section</a> in the documentation for more details.
+			</li>
+			<li><span class="label label-success">Added</span> It is possible to create 
+				<a href="specifier/diagrams/Diagrams.html#filter_with_typed_variable">Typed Variable</a> under Variable Filter.
+			</li>
+			<li><span class="label label-success">Added</span> A new class 
+				<code>org.eclipse.sirius.ext.emf.edit.EditingDomainServices</code> (from plug-in 
+				<code>org.eclipse.sirius.ext.emf.edit</code>) has been added with a complete set of service methods to leverage most of the features of the &#8220;EMF Edit&#8221; framework, for example the various 
+				<em>Item Providers</em> associated to semantic elements. See 
+				<a href="specifier/general/Writing_Queries.html#editing_domain_services">the documentation</a> for details.
+			</li>
+			<li><span class="label label-success">Added</span> The specifier can now restrict the border node authorized sides. This new option is available in the advanced tab of the border node style. See the 
+				<a href="specifier/diagrams/Diagrams.html#authorizedsides">specifier documentation</a> for more details.
+			</li>
+			<li><span class="label label-info">Modified</span> The use of type literals in operations like 
+				<code>filter()</code> or 
+				<code>oclIsKindOf()</code> requires to explicitly add the domain meta-models plug-ins to the dependencies of the 
+				<em>Viewpoint Specification Project</em>. The documentation has been modified to recommend this.
+			</li>
+			<li><span class="label label-info">Modified</span> 
+				<strong>Warning</strong>: Before this version, a style customization of an 
+				<code>EEnum</code> attribute, like 
+				<code>labelFormat</code>, worked with a value expression using a Java service returning a 
+				<code>EEnumLiteral</code>. It is now forbidden. You must return an 
+				<code>Enumerator</code>. The documentation about 
+				<a href="specifier/diagrams/Diagrams.html#enum_customization">Styles Customization</a> now details this case.
+			</li>
+			<li><span class="label label-info">Modified</span> The 
+				<code>BorderSizeComputationExpression</code> migration has been corrected to recursively handle the sub container mappings. VSM created or migrated with Sirius 3.1.0, 3.1.1 or 3.1.2 might require a manual modification for the style descriptions of sub container mappings with border size computation equals to 0 as we cannot determine if they were added (or updated) after or before the migration: starting with Sirius 3.1.0, no border will be displayed for a 0 pixel value whereas with older version container always had at least a 1 pixel border.
+			</li>
+			<li><span class="label label-info">Modified</span> The variable under VariableFilter, previously named &#8220;Variable&#8221;, is renamed to &#8220;Select Model Element Variable&#8221;. It is functionally equivalent.</li>
+		</ul>
+		<h3 id="DeveloperVisibleChanges7">Developer-Visible Changes</h3>
+		<ul>
+			<li><span class="label label-success">Added</span> It is now possible to provide a full customized tab-bar by implementing the 
+				<code>ITabbarContributor</code> through the 
+				<code>org.eclipse.sirius.diagram.ui.tabbarContributor</code> extension-point. See the 
+				<a href="developer/extensions-provide_tabbar_extensions.html#contributeFullTabbar">developer documentation</a> for more details.
+			</li>
+			<li><span class="label label-success">Added</span> It is now possible to provide new shapes for basic shape styles through the 
+				<code>org.eclipse.sirius.diagram.bundledImageShape</code> extension-point. See the 
+				<a href="developer/extensions-provide_custom_bundled_image_shape.html">developer documentation</a> for more details.
+			</li>
+		</ul>
+		<h4 id="Changesinorg.eclipse.sirius5">Changes in 
+			<code>org.eclipse.sirius</code>
+		</h4>
+		<ul>
+			<li><span class="label label-success">Added</span> The method 
+				<code>org.eclipse.sirius.ui.business.api.session.SessionEditorInput.getStatus()</code> has been added to have the status about session opening, i.e. if it has been correctly opened, cancelled or an exception has occurred. 
+			</li>
+			<li><span class="label label-success">Added</span> A new variant of 
+				<code>org.eclipse.sirius.business.api.helper.task.TaskHelper.buildTaskFromModelOperation(EObject, ModelOperation)</code> has been added, which does not require to specify a 
+				<code>DRepresentation</code> in the context. It allows the creation of a task which executes a behavior specified by 
+				<code>ModelOperations</code> outside of the context of a specific representation, provided the 
+				<code>ModelOperations</code> work in that context.
+			</li>
+			<li><span class="label label-success">Added</span> 
+				<code>org.eclipse.sirius.viewpoint.description.TypedVariable</code> has been created.
+			</li>
+			<li><span class="label label-success">Added</span> 
+				<code>org.eclipse.sirius.viewpoint.description.InteractiveVariableDescription</code> has been created as tag interface for variables that require user interaction to be valued.
+			</li>
+			<li><span class="label label-success">Added</span> 
+				<code>org.eclipse.sirius.tools.api.command.ui.UICallBack.askForTypedVariable(List&lt;TypedVariable&gt;, List&lt;String&gt;)</code> has been created.
+			</li>
+			<li><span class="label label-success">Added</span> 
+				<code>org.eclipse.sirius.tools.api.command.ui.NoUICallback.askForTypedVariable(List&lt;TypedVariable&gt;, List&lt;String&gt;)</code> has been created.
+			</li>
+			<li><span class="label label-success">Added</span> 
+				<code>org.eclipse.sirius.business.api.dialect.DialectServices.getRequiredViewpoints(DRepresentation)</code> has been added to have mean to get required viewpoints to use a representation.
+			</li>
+			<li><span class="label label-success">Added</span> 
+				<code>org.eclipse.sirius.business.api.dialect.AbstractRepresentationDialectServices.getRequiredViewpoints(DRepresentation)</code> has been added to have a default implementation of 
+				<code>DialectServices.getRequiredViewpoints(DRepresentation)</code> method.
+			</li>
+			<li><span class="label label-success">Added</span> 
+				<code>org.eclipse.sirius.business.api.dialect.AbstractRepresentationDialectServices.isRelatedViewpointSelected(Session, RepresentationDescription)</code> protected method has been added to check if a 
+				<code>RepresentationDescription</code> is usable in the context of the specified session.
+			</li>
+			<li><span class="label label-success">Added</span> 
+				<code>org.eclipse.sirius.tools.api.command.ui.UICallBack.askForDetailName(String, String, String)</code> method has been added to replace the deprecated 
+				<code>org.eclipse.sirius.tools.api.command.ui.UICallBack.askForDetailName(String, String)</code>. This method now uses the description name as title for the wizard. This new method has been implemented by 
+				<code>org.eclipse.sirius.ui.tools.api.command.AbstractSWTCallback</code> and 
+				<code>org.eclipse.sirius.tools.api.command.ui.NoUICallback</code>.
+			</li>
+			<li><span class="label label-success">Added</span> 
+				<code>org.eclipse.sirius.ui.tools.api.project.ModelingProjectManager.loadAndOpenRepresentationsFile(URI, boolean)</code> has been added to specify if job used to open a session must be considered as launched by the user or not, because by default with 
+				<code>ModelingProjectManager.loadAndOpenRepresentationsFile(URI)</code> the job was not considered as launched by the user.
+			</li>
+			<li><span class="label label-info">Modified</span> 
+				<code>org.eclipse.sirius.viewpoint.description.tool.SelectModelElementVariable</code> now implements 
+				<code>org.eclipse.sirius.viewpoint.description.InteractiveVariableDescription</code>.
+			</li>
+			<li><span class="label label-info">Modified</span> 
+				<code>org.eclipse.sirius.viewpoint.description.tool.AbstractVariable</code> has been moved to 
+				<code>org.eclipse.sirius.viewpoint.description.AbstractVariable</code>.
+			</li>
+			<li><span class="label label-info">Modified</span> 
+				<code>org.eclipse.sirius.viewpoint.description.tool.SubVariable</code> has been moved to 
+				<code>org.eclipse.sirius.viewpoint.description.SubVariable</code>.
+			</li>
+			<li><span class="label label-info">Modified</span> 
+				<code>org.eclipse.sirius.business.api.modelingproject.ModelingProject.getMainRepresentationsFileURI()</code> methods no more update workspace resource about markers, now this must be done in caller on IllegalArgumentException catch in a workspace aware operation.
+			</li>
+			<li><span class="label label-info">Modified</span> 
+				<code>org.eclipse.sirius.business.api.dialect.command.RefreshRepresentationsCommand.canExecute()</code> now returns false if a 
+				<code>DRepresentation</code> cannot be refreshed, by calling 
+				<code>DialectManager.canRefresh(DRepresentation)</code>.
+			</li>
+			<li><span class="label label-info">Modified</span> Several methods of 
+				<code>org.eclipse.sirius.business.api.session.danalysis.DAnalysisSessionHelper</code> now return a 
+				<code>fr.obeo.dsl.viewpoint.DView</code> instead of a 
+				<code>fr.obeo.dsl.viewpoint.DRepresentationContainer</code>: * 
+				<code>findContainer(EObject, Viewpoint, Collection&lt;DAnalysis&gt;, DAnalysisSelector)</code>,
+				<ul>
+					<li>
+						<code>findContainerForAddedRepresentation(EObject, Viewpoint, Collection&lt;DAnalysis&gt;, DAnalysisSelector, DRepresentation)</code>,
+					</li>
+					<li>
+						<code>findContainerForAddedRepresentation(DAnalysis, DRepresentation)</code>, 
+						<code>findFreeContainer(Viewpoint, Collection&lt;DAnalysis&gt;, DAnalysisSelector)</code>
+					</li>
+					<li>
+						<code>findFreeContainer(Viewpoint, Collection&lt;DAnalysis&gt;, DAnalysisSelector)</code>.
+					</li>
+				</ul>
+			</li>
+			<li><span class="label label-danger">Removed</span> The 
+				<code>org.eclipse.sirius.viewpoint.DRepresentationContainer</code> EClass have been removed. It used to be the only implementation of 
+				<code>org.eclipse.sirius.viewpoint.DView</code>, the 
+				<code>models</code> derived transient reference has been moved to 
+				<code>DView</code>. An automatic migration has been added during the loading of the representation to handle this change.
+			</li>
+			<li><span class="label label-danger">Removed</span> The class 
+				<code>org.eclipse.sirius.business.api.extender.MetamodelDescriptorProvider2</code> has been deleted and is now 
+				<code>MetamodelDescriptorProvider</code>. 
+			</li>
+		</ul>
+		<h4 id="Changesinorg.eclipse.sirius.common3">Changes in 
+			<code>org.eclipse.sirius.common</code>
+		</h4>
+		<ul>
+			<li><span class="label label-success">Added</span> A method 
+				<code>getInferredVariableTypes(Boolean value)</code> in 
+				<code>org.eclipse.sirius.common.tools.api.interpreter.ValidationResult</code> so that 
+				<code>IInterpreter</code> implementations able to infer more specific types based on predicates result provides this information to Sirius which will then use it for validating other expressions. You might want to look at 
+				<code>org.eclipse.sirius.common.acceleo.aql.business.internal.AQLSiriusInterpreter</code> which is an implementation providing this type inference.
+			</li>
+			<li><span class="label label-success">Added</span> A helper 
+				<code>org.eclipse.sirius.common.tools.api.util.MessageTranslator</code> providing 
+				<code>getMessage(EObject, String)</code> and 
+				<code>getMessage(Bundle, String)</code> service dedicated into processing a translatable message to return the translation in the active language when available. This service returns the String without modification if not translatable or no translation is available.
+			</li>
+			<li><span class="label label-success">Added</span> The &#8220;INFO&#8221; severity has been added to 
+				<code>org.eclipse.sirius.common.tools.api.interpreter.IInterpreterStatus</code> to reflect all kind of language validation severity (of AQL for example).
+			</li>
+		</ul>
+		<h4 id="Changesinorg.eclipse.sirius.diagram4">Changes in 
+			<code>org.eclipse.sirius.diagram</code>
+		</h4>
+		<ul>
+			<li><span class="label label-success">Added</span> 
+				<code>org.eclipse.sirius.diagram.VariableValue</code>, 
+				<code>org.eclipse.sirius.diagram.TypedVariableValue</code> and 
+				<code>org.eclipse.sirius.diagram.EObjectVariableValue</code> has been created.
+			</li>
+			<li><span class="label label-success">Added</span> 
+				<code>org.eclipse.sirius.diagram.description.filter.impl.VariableFilterImpl.resetVariables()</code> has been created to indicate that variables have to be computed again.
+			</li>
+			<li><span class="label label-success">Added</span> 
+				<code>org.eclipse.sirius.diagram.description.style.Side</code> EEnum has been added to define a border node side on the parent.
+			</li>
+			<li><span class="label label-success">Added</span> 
+				<code>org.eclipse.sirius.diagram.description.style.NodeStyleDescription#forbiddenSides</code> attribute has been added to set the border node forbidden sides on the parent.
+			</li>
+			<li><span class="label label-success">Added</span> 
+				<code>org.eclipse.sirius.diagram.business.api.query.DNodeQuery.getForbiddenSide()</code> has been added to retrieve the forbidden sides of a DNode (make sense only for Border Nodes).
+			</li>
+			<li><span class="label label-info">Modified</span> The type of 
+				<code>org.eclipse.sirius.diagram.description.filter.VariableFilter.ownedVariable</code> has been changed to 
+				<code>org.eclipse.sirius.viewpoint.description.InteractiveVariableDescription</code>.
+			</li>
+			<li><span class="label label-info">Modified</span> The type of 
+				<code>org.eclipse.sirius.diagram.FilterVariableHistory.ownedValues</code> has been changed to 
+				<code>org.eclipse.sirius.diagram.VariableValue</code>.
+			</li>
+			<li><span class="label label-info">Modified</span> The return type of 
+				<code>org.eclipse.sirius.diagram.business.api.helper.SiriusDiagramUtil.findRepresentationContainer(DDiagram)</code> has been changed from 
+				<code>org.eclipse.sirius.viewpoint.DRepresentationContainer</code> to 
+				<code>org.eclipse.sirius.viewpoint.DView</code>.
+			</li>
+			<li><span class="label label-danger">Removed</span> 
+				<code>org.eclipse.sirius.diagram.description.filter.FilterVariable</code> has been removed. It is replaced by 
+				<code>org.eclipse.sirius.viewpoint.description.tool.SelectModelElementVariable</code>.
+			</li>
+			<li><span class="label label-danger">Removed</span> 
+				<code>org.eclipse.sirius.diagram.description.filter.impl.VariableFilterImpl.setFilterContext()</code> has been removed. This method was, in part, useless and is replaced by 
+				<code>org.eclipse.sirius.diagram.description.filter.impl.VariableFilterImpl.resetVariables()</code>.
+			</li>
+		</ul>
+		<h4 id="Changesinorg.eclipse.sirius.ui5">Changes in 
+			<code>org.eclipse.sirius.ui</code>
+		</h4>
+		<ul>
+			<li><span class="label label-success">Added</span> 
+				<code>org.eclipse.sirius.ui.tools.api.command.AbstractSWTCallback.askForTypedVariable(List&lt;TypedVariable&gt;, List&lt;String&gt;)</code> has been created.
+			</li>
+			<li><span class="label label-success">Added</span> The new internationalizable label 
+				<code>Messages_createRepresentationInputDialog_DefaultRepresentationDescName</code> has been added (available through 
+				<code>org.eclipse.sirius.ui.tools.api.Messages.createRepresentationInputDialog_DefaultRepresentationDescName</code>. Its value is &#8220;Representation&#8221;.
+			</li>
+			<li><span class="label label-info">Modified</span> The internationalizable label 
+				<code>Messages_createRepresentationInputDialog_NewRepresentationNameLabel</code> has been replaced by &#8220;Name:&#8221; (previous value was &#8220;Representation name:&#8221;). 
+			</li>
+			<li><span class="label label-info">Modified</span> The internationalizable label 
+				<code>Messages_createRepresentationInputDialog_RepresentationDescriptionLabel</code> has been replaced by &#8220;Representation description: {0}&#8221; (previous value was &#8220;Representation description: &#8221;). 
+			</li>
+			<li><span class="label label-info">Modified</span> The internationalizable label 
+				<code>Messages_createRepresentationInputDialog_Title</code> has been replaced by &#8220;New {0}&#8221; (previous value was &#8220;New Representation&#8221;).
+			</li>
+			<li><span class="label label-danger">Removed</span> The internationalizable label 
+				<code>org.eclipse.sirius.viewpoint.provider.Messages.OpenRepresentationsFileJob_initModelingProjectsTask</code> has been removed as this message is no more used.
+			</li>
+			<li><span class="label label-danger">Removed</span> The class 
+				<code>org.eclipse.sirius.ui.business.api.editor.SpecificSessionManager</code> has been removed. 
+			</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> A new system property named 
+				<code>org.eclipse.sirius.diagram.ui.svg.maxCacheSizeMB</code> has been added. It can be used to tweak the maximum size (in megabytes) of pre-rendered SVG images to keep in cache. The default is 50, corresponding to 50MB of bitmaps of 4 8-bit channels. Increasing the limit can improve performance when using diagrams with a lot of SVG images, at the cost of increased memory usage.
+			</li>
+			<li><span class="label label-success">Added</span> 
+				<code>org.eclipse.sirius.diagram.ui.tools.api.editor.tabbar.ITabbarContributor</code> interface has been added to provide a customized tab-bar for a specific selection.
+			</li>
+			<li><span class="label label-success">Added</span> 
+				<code>org.eclipse.sirius.diagram.ui.tools.api.editor.tabbar.AbstractTabbarContributor</code> is an abstract implementation of 
+				<code>ITabbarContributor</code> that allows reusing one or several of the default Sirius contribution items.
+			</li>
+			<li><span class="label label-success">Added</span> 
+				<code>org.eclipse.sirius.diagram.editor.properties.sections.style.bundledimagedescription.BundledImageDescriptionShapePropertySectionSpec</code> has been added to have a custom display in the VSM for provided basic shape.
+			</li>
+			<li><span class="label label-success">Added</span> 
+				<code>org.eclipse.sirius.diagram.ui.edit.api.part.AbstractDiagramBorderNodeEditPart.createNodeFigure()</code> has been created to factorize the 
+				<code>DNode2EditPart</code> and 
+				<code>DNode4EditPart</code> constructors.
+			</li>
+			<li><span class="label label-success">Added</span> 
+				<code>org.eclipse.sirius.diagram.ui.tools.api.figure.DBorderedNodeFigure.setForbiddenSides(int...)</code> has been added to set the figure forbidden sides on its parent.
+			</li>
+			<li><span class="label label-success">Added</span> 
+				<code>org.eclipse.sirius.diagram.ui.tools.api.figure.DBorderedNodeFigure.getAuthorizedSides()</code> has been added to retrieve the figure authorized side (by default all sides).
+			</li>
+			<li><span class="label label-success">Added</span> The following protected methods have been added to 
+				<code>org.eclipse.sirius.diagram.ui.tools.api.figure.SVGFigure</code> : 
+				<code>String getKey(Graphics)</code>, 
+				<code>Image getImage(Rectangle, Graphics)</code>, 
+				<code>static boolean doRemoveFromCache(String)</code>.
+			</li>
+			<li><span class="label label-success">Added</span> 2 methods are added in 
+				<code>org.eclipse.sirius.diagram.ui.tools.api.part.DiagramEditPartService</code> to manage gradient color in export to PNG or SVG formats: 
+				<code>DiagramEditPartService.saveSVGToFile(IPath, SiriusDiagramSVGGenerator, IProgressMonitor)</code> and 
+				<code>org.eclipse.sirius.diagram.ui.tools.api.part.DiagramEditPartService.saveToFile(IPath, SiriusDiagramSVGGenerator, ImageFileFormat, IProgressMonitor)</code>. These 2 methods are copy of parent methods with 
+				<code>SiriusDiagramSVGGenerator</code> as parameter instead of a 
+				<code>DiagramSVGGenerator</code>.
+			</li>
+			<li><span class="label label-success">Added</span> The method 
+				<code>org.eclipse.sirius.ui.tools.api.color.VisualBindingManager.getGradientPaintFromValue(int, int, int, int, Color, Color)</code> has been added to handle a cache for 
+				<code>java.awt.GradientPaint</code> as it is the case for 
+				<code>org.eclipse.swt.graphics.Pattern</code> with 
+				<code>getPatternFromValue()</code>.
+			</li>
+			<li><span class="label label-success">Added</span> Methods have been added in 
+				<code>org.eclipse.sirius.diagram.ui.tools.api.figure.GradientHelper</code> to handle 
+				<code>java.awt.GradientPaint</code> as 
+				<code>org.eclipse.swt.graphics.Pattern</code>: 
+				<code>getGradientPaintDiag(Rectangle, Color, Color)</code>, 
+				<code>getGradientPaintLeftToRight(Rectangle, Color, Color)</code>, 
+				<code>getGradientPaintTopToBottom(Rectangle, Color, Color)</code> and 
+				<code>getGradientPaint(int, Rectangle, Color, Color)</code>.
+			</li>
+			<li><span class="label label-success">Added</span> 
+				<code>org.eclipse.sirius.diagram.ui.tools.api.ui.actions.ActionIds.ACTION_SIRIUS_COPY_APPEARANCE_PROPERTIES</code> has been added to identify the new 
+				<em>Sirius Copy Appearence Properties</em> action.
+			</li>
+			<li><span class="label label-info">Modified</span> 
+				<code>org.eclipse.sirius.diagram.ui.tools.api.figure.BundleImageFigure</code> now overrides the method 
+				<code>setBorder(Border border)</code>. It also provides the accessors for the new field 
+				<code>mainBorderSize</code>.
+			</li>
+			<li><span class="label label-info">Modified</span> 
+				<code>org.eclipse.sirius.diagram.ui.tools.api.figure.BundledImageFigure</code> now inherits directly from 
+				<code>SVGFigure</code> instead of 
+				<code>AbstractCachedSVGFigure</code>.
+			</li>
+			<li><span class="label label-info">Modified</span> 
+				<code>org.eclipse.sirius.diagram.ui.tools.api.figure.SVGWorkspaceImageFigure</code> now inherits directly from 
+				<code>SVGFigure</code> instead of 
+				<code>AbstractCachedSVGFigure</code>.
+			</li>
+			<li><span class="label label-info">Modified</span> 
+				<code>org.eclipse.sirius.diagram.ui.tools.api.figure.SVGFigure</code> now implements interfaces 
+				<code>StyledFigure</code>, 
+				<code>ITransparentFigure</code> and 
+				<code>ImageFigureWithAlpha</code>.
+			</li>
+			<li><span class="label label-danger">Removed</span> The following mehtods have been removed from 
+				<code>org.eclipse.sirius.diagram.ui.tools.api.figure.SVGFigure</code>: 
+				<code>NodeList getNodes(String)</code>, 
+				<code>Color getColor(Element, String)</code>, 
+				<code>void updateRenderingHints(Graphics)</code>, 
+				<code>staticImage toSWT(Device, BufferedImage)</code>, 
+				<code>boolean checkContentAvailable()</code>, 
+				<code>Rectangle2D getAreaOfInterest()</code>, 
+				<code>void setAreaOfInterest(Rectangle2D)</code>, 
+				<code>boolean isSpecifyCanvasWidth()</code>, 
+				<code>void setSpecifyCanvasWidth(boolean)</code>, 
+				<code>boolean isSpecifyCanvasHeight()</code>, 
+				<code>void setSpecifyCanvasHeight(boolean)</code>, 
+				<code>boolean getSpecifyCanvasWidth()</code>, 
+				<code>boolean getSpecifyCanvasHeight()</code>.
+			</li>
+			<li><span class="label label-danger">Removed</span> The class 
+				<code>org.eclipse.sirius.diagram.ui.tools.api.figure.AbstractCachedSVGFigure</code> has been removed. Its functionality was merged directly into 
+				<code>SVGFigure</code>.
+			</li>
+			<li><span class="label label-danger">Removed</span> The static 
+				<code>org.eclipse.sirius.diagram.ui.tools.api.figure.SVGWorkspaceImageFigure.createImageFigure(ContainerStyle)</code> method has been removed; it was broken and not called anywhere.
+			</li>
+		</ul>
+		<h4 id="Changesinorg.eclipse.sirius.ext.emf.ui">Changes in 
+			<code>org.eclipse.sirius.ext.emf.ui</code>
+		</h4>
+		<ul>
+			<li><span class="label label-info">Modified</span> 
+				<code>org.eclipse.sirius.ext.emf.ui.properties.ExtensiblePropertySource.collector</code> field is now in protected visibility to be modifiable and accessible by subclass.
+			</li>
+		</ul>
+		<h4 id="Changesinorg.eclipse.sirius.ext.gmf.runtime2">Changes in 
+			<code>org.eclipse.sirius.ext.gmf.runtime</code>
+		</h4>
+		<ul>
+			<li><span class="label label-success">Added</span> The interface 
+				<code>org.eclipse.sirius.ext.gmf.runtime.diagram.ui.tools.MoveInDiagramDragTracker</code> has been added to declare states used by all DragTrackers which manage move in diagram using mouse middle click.
+			</li>
+		</ul>
+		<h4 id="Changesinorg.eclipse.sirius.ui6">Changes in 
+			<code>org.eclipse.sirius.ui</code>
+		</h4>
+		<ul>
+			<li><span class="label label-success">Added</span> 
+				<code>org.eclipse.sirius.ui.tools.api.properties.SiriusExtensiblePropertyDescriptor</code> has been added to provide a specific 
+				<code>ExtensiblePropertyDescriptor</code> which test 
+				<code>IPermissionAuthority</code> to make properties view editable or not.
+			</li>
+			<li><span class="label label-info">Modified</span> 
+				<code>org.eclipse.sirius.ui.tools.api.properties.SiriusExtensiblePropertySource</code> has been modified to use 
+				<code>SiriusExtensiblePropertyDescriptor</code> to provide not editable properties view when the object, selected from the Model Explorer view, cannot be modified.
+			</li>
+			<li><span class="label label-danger">Removed</span> The 
+				<code>org.eclipse.sirius.ui</code>, and thus the whole 
+				<code>org.eclipse.sirius.runtime</code> feature no longer depends on the JDT (technically the dependency towards 
+				<code>org.eclipse.jdt.core</code> has been removed). If you need the JDT Core in your environment, you will need to add the dependency explicitly. The Sirius specification environment (
+				<code>org.eclipse.sirius.editor</code>) still depends on PDE (and thus indirectly the JDT too).
+			</li>
+		</ul>
+		<h4 id="Changesinorg.eclipse.sirius.tests.junit.support4">Changes in 
+			<code>org.eclipse.sirius.tests.junit.support</code>
+		</h4>
+		<ul>
+			<li><span class="label label-success">Added</span> The class 
+				<code>org.eclipse.sirius.tests.support.api.DefaultTestMemento</code> has been created. It help to simulate a real 
+				<code>IMemento</code> for editor restoration.
+			</li>
+			<li><span class="label label-success">Added</span> The method 
+				<code>SiriusTestCase.initViewpoint(String, Session, boolean)</code> has been added to allow viewpoint activation without creating representations.
+			</li>
+			<li><span class="label label-success">Added</span> The methods 
+				<code>initLoggers()</code> and 
+				<code>disposeLoggers()</code> of class 
+				<code>org.eclipse.sirius.tests.support.api.SiriusTestCase</code> have now a protected visibility (instead of private) to allow subclasses to use this logger without all the 
+				<code>genericSetUp</code> behavior.
+			</li>
+			<li><span class="label label-warning">Deprecated</span> The method 
+				<code>SiriusTestCase.initViewpoint(String, Session, EObject)</code> has been deprecated because the last parameter is useless to activate a viewpoint.
+			</li>
+		</ul>
+		<h4 id="Changesinorg.eclipse.sirius.tests.swtbot.support3">Changes in 
+			<code>org.eclipse.sirius.tests.swtbot.support</code>
+		</h4>
+		<ul>
+			<li><span class="label label-success">Added</span> The method 
+				<code>getTreeItem(final SWTBotTreeItem[], final String)</code> has been added in 
+				<code>org.eclipse.sirius.tests.swtbot.support.utils</code> to retrieve recursively a 
+				<code>SWTBotTreeItem</code> in a 
+				<code>SWTBotTreeItem</code> array.
+			</li>
+			<li><span class="label label-success">Added</span> The class 
+				<code>org.eclipse.sirius.tests.swtbot.support.api.condition.ShellChangedCondition</code> has been added to wait until the current active shell has changed.
+			</li>
+			<li><span class="label label-success">Added</span> The class 
+				<code>org.eclipse.sirius.tests.swtbot.support.api.condition.TreeItemWithImageCondition</code> has been added to wait until the given treeItem has the expected image.
+			</li>
+			<li><span class="label label-info">Modified</span> A second 
+				<code>String</code> parameter has been added to the method 
+				<code>org.eclipse.sirius.tests.swtbot.support.api.business.UILocalSession.newDiagramRepresentation(String, String)</code>. This parameter is the label of the representation description. It is necessary since the change of the wizard to ask the new representation name (see User-Visible Changes for detail).
+			</li>
+			<li><span class="label label-info">Modified</span> A third 
+				<code>String</code> parameter has been added to the constructor of 
+				<code>org.eclipse.sirius.tests.swtbot.support.api.business.UINewRepresentationBuilder</code> for the same above reasons.
+			</li>
+		</ul>
+		<h4 id="Changesinorg.eclipse.sirius.common.xtext">Changes in 
+			<code>org.eclipse.sirius.common.xtext</code>
+		</h4>
+		<ul>
+			<li><span class="label label-info">Modified</span> The dependency from 
+				<code>org.eclipse.sirius.common.xtext</code> to the JDT plug-in 
+				<code>org.eclipse.jdt.core</code> is now optional. If you need the JDT Core in your environment, you will need to add the dependency explicitly. The Sirius specification environment (
+				<code>org.eclipse.sirius.editor</code>) still depends on PDE (and thus indirectly the JDT too).
+			</li>
+		</ul>
+		<h4 id="Changesinorg.eclipse.sirius.editor">Changes in 
+			<code>org.eclipse.sirius.editor</code>
+		</h4>
+		<ul>
+			<li><span class="label label-success">Added</span> The method 
+				<code>bindCompletionProcessor(AbstractPropertySection, IAssistContentProvider, Text)</code> has been added to the class 
+				<code>org.eclipse.sirius.editor.tools.api.assist.TypeContentProposalProvider</code> to allow to bind a specific IAssistContentProvider to the text.
+			</li>
+		</ul>
+		<h2 id="sirius3.1.0">Changes in Sirius 3.1.0</h2>
+		<h3 id="UserVisibleChanges8">User-Visible Changes</h3>
+		<ul>
+			<li><span class="label label-success">Added</span> A new feature allows to snap to all shapes (instead of just to snap to sibling shapes). The <kdb>F4</kdb> shortcut key activates this mode when you resize a node, move a node or move a bendpoint of an edge, see 
+				<a href="./user/diagrams/Diagrams.html#snap_to_shapes">the documentation</a> for details.
+			</li>
+			<li><span class="label label-success">Added</span> A new feature allows to move the edge group (Edge, Label, Border Nodes) if the <kdb>F3</kdb> shortcut is pressed during the edge moving/dragging. This feature is only available for the case of edges with border node as source and target. See 
+				<a href="./user/diagrams/Diagrams.html#move_edge_group">documentation</a> for more details.
+			</li>
+			<li><span class="label label-success">Added</span> The label of edges now stays as much as possible near the edge when it is moved.</li>
+		</ul>
+		<p>Sample before Sirius 3.1:
+			<br/>
+			<img border="0" src="images/edgeLabelMoveBeforeSirius3.1.gif"/> 
+			<br/>Same sample since Sirius 3.1:
+			<br/>
+			<img border="0" src="images/edgeLabelMoveAfterSirius3.1.gif"/>
+		</p>
+		<ul>
+			<li><span class="label label-success">Added</span> It is now possible to collapse compartments using the handle visible on the following illustrations. The handle&#8217;s position varies depending on the label alignment to avoid overlapping (depending on the list elements alignment for a list with an hidden label).</li>
+		</ul>
+		<p>
+			<img border="0" src="images/compartments_collapse.png"/> 
+			<br/>
+			<img border="0" src="images/compartments_collapse2.png"/>
+		</p>
+		<ul>
+			<li><span class="label label-info">Modified</span> The 
+				<em>Snap to Grid</em> and 
+				<em>Snap to Shapes</em> features are now automatically disabled on Sequence diagrams. As indicated 
+				<a href="./user/sequences/Sequence%20Diagrams.html#introduction">in the user documentation</a>, to work correctly, Sirius sequence diagrams must have a tight control on where the graphical elements are placed on the diagram and on their synchronization with the underlying semantic model. Previously, the user had to explicitely disable the snap features.
+			</li>
+			<li><span class="label label-info">Modified</span> The 
+				<em>Link with Editor</em> behavior has changed. The link with editor was previously unidirectional from the Common Navigator (Model Explorer view or Project view) toward the active representation. Now, when selecting one or several elements in the representation, the corresponding semantic elements are selected in the Common Navigator.
+			</li>
+			<li><span class="label label-info">Modified</span> The 
+				<em>Arrange Linked Bordered Nodes</em> tabbar action has been renamed to 
+				<em>Arrange Linked Border Nodes</em> as it is border nodes which are layouted and not bordered nodes.
+			</li>
+		</ul>
+		<h3 id="SpecifierVisibleChanges5">Specifier-Visible Changes</h3>
+		<ul>
+			<li><span class="label label-info">Modified</span> The 
+				<em>Acceleo Query Language</em> (AQL) interpreter has been improved. AQL, and its support in Sirius, is no longer considered experimental, and instead is now the recommended query language to use for new VSMs. Improvements mostly concern better completion and validation, and more precise error reporting. In particular AQL expressions will now be able to display warnings and errors in the Interpreter view. The message displayed in the Interpreter view after an evaluation has also been improved to display the qualified name of the type of the value computed (
+				<code>ePackageName::eClassName</code>). The improvements realized can be viewed by clicking on the image below (click to zoom).
+			</li>
+		</ul>
+		<p>
+			<a href="images/improvedsiriusinterpreter.png">
+				<img border="0" src="images/improvedsiriusinterpreter_thumbnail.png"/>
+			</a>
+		</p>
+		<ul>
+			<li><span class="label label-info">Modified</span> Related to the previous point, the projects created by the 
+				<em>Viewpoint Specification Project</em> wizard are now configured to use AQL by default (instead of Acceleo 3/MTL before). They depend on 
+				<code>org.eclipse.sirius.common.acceleo.aql</code> instead of 
+				<code>org.eclipse.sirius.common.acceleo.mtl</code>, and do not have the Acceleo nature anymore (it is not needed by AQL). If you want to use another language in your queries, make sure you set the appropriate dependencies so that the Sirius support for that language will be present at runtime to interpret the queries.
+			</li>
+			<li><span class="label label-info">Modified</span> The support for containers with vertical or horizontal 
+				<em>compartments</em> on diagrams was introduced in Sirius 3.0.0 as an experimental feature. Several improvements and corrections have been done around the behaviors of this feature which is no longer considered experimental. Validation rules and tooltips in the VSM editor are here to help the specifier create a consistent mapping structure.
+			</li>
+			<li><span class="label label-info">Modified</span> <span class="label label-info">Experimental</span> New, experimental support for recursive 
+				<em>compartments</em> on diagrams: the 
+				<em>children presentation</em> property of a 
+				<em>Container Mapping</em>, which is defined as a 
+				<em>compartment</em> (its parent 
+				<em>ContainerMapping</em> has a 
+				<em>VerticalStack</em> or 
+				<em>HorizontalStack</em> 
+				<em>children presentation</em>), can now also be set to 
+				<em>Vertical Stack</em> and 
+				<em>Horizontal Stack</em>. It allows to define complex stacks of 
+				<em>compartments</em> mixing both stack directions. While working reliably, this support is marked experimental in Sirius 3.1.0 as there are still some behaviors which do not behave as expected. If you make use of this feature, be aware that some details may still change in future releases, including 3.1.x maintenance releases.
+			</li>
+			<li><span class="label label-info">Modified</span> You now really have the capability to set the 
+				<code>BorderSizeComputationExpression</code> as 0 for style of 
+				<code>ContainerMapping</code>. Before Sirius 3.1.0, a size of 0 was interpreted as 1 at runtime. For compatibility reason, all existing 
+				<code>BorderSizeComputationExpression</code> equals to 0 for style of 
+				<code>ContainerMapping</code> are automatically set to 1 (ditto for results of this expression in representations file for container elements). For 
+				<code>ContainerMapping</code>, the default value of 
+				<code>BorderSizeComputationExpression</code> for new style is now 1, except for 
+				<em>Worskpace Image</em> where the value is 0.
+			</li>
+			<li><span class="label label-info">Modified</span> The delete command availability computation has been changed. In case of a delete tool, the availability is now computed considering first the precondition of the tool and then the delete authorisation (using 
+				<code>IPermissionAuthority</code>) of the potential to delete objects. This is the reverse order of what was done before, and can have performance impacts if the precondition is slow. The specifier will to take care to ensure a good performance for the precondition expression of the delete tool.
+			</li>
+		</ul>
+		<h3 id="DeveloperVisibleChanges8">Developer-Visible Changes</h3>
+		<h4 id="Partialsupportforinternationalization">Partial support for internationalization</h4>
+		<p>Sirius 3.1 introduces partial support for internationalization: all literal strings from the runtime part of Sirius are now externalized and can be localized by third parties by providing the appropriate &#8220;language packs&#8221; as OSGi fragments. Note that this does not concern the VSM editor&#8217;s UI, the VSMs themselves, or the parts of the UI inherited from Eclipse/EMF/GEF/GMF and other libraries and frameworks used by Sirius.</p>
+		<p>Some API changes were required to enable this. While technically breaking changes if interpreting strictly the OSGi versioning rules, the major version number of the impacted bundles was not incremented as the changes only concern classes that should not impact the vast majority of users. Most breaking changes concern the plug-in/activator classes from each bundle. They are:</p>
+		<ul>
+			<li><span class="label label-success">Added</span>
+				<code>org.eclipse.sirius.diagram.layoutdata.LayoutDataPlugin</code>, a subclass of 
+				<code>org.eclipse.emf.common.EMFPlugin</code> has been added. The corresponding OSGi bundle activator is the internal class 
+				<code>LayoutDataPlugin.Implementation</code>.
+			</li>
+			<li><span class="label label-success">Added</span>
+				<code>org.eclipse.sirius.diagram.sequence.SequenceDiagramPlugin</code>, a subclass of 
+				<code>org.eclipse.emf.common.EMFPlugin</code> has been added. The corresponding OSGi bundle activator is the internal class 
+				<code>SequenceDiagramPlugin.Implementation</code>.
+			</li>
+			<li><span class="label label-success">Added</span>
+				<code>org.eclipse.sirius.common.xtext.internal.XtextIntegrationPlugin</code>, a subclass of 
+				<code>org.eclipse.emf.common.EMFPlugin</code> has been added. The corresponding OSGi bundle activator is the internal class 
+				<code>XtextIntegrationPlugin.Implementation</code>.
+			</li>
+			<li><span class="label label-success">Added</span> 
+				<code>org.eclipse.sirius.ext.base.BasePlugin</code>, a subclass of 
+				<code>org.eclipse.emf.common.EMFPlugin</code> has been added. The corresponding OSGi bundle activator is the internal class 
+				<code>BasePlugin.Implementation</code>.
+			</li>
+			<li><span class="label label-success">Added</span> 
+				<code>org.eclipse.sirius.ext.draw2d.Draw2DExtPlugin</code>, a subclass of 
+				<code>org.eclipse.emf.common.EMFPlugin</code> has been added. The corresponding OSGi bundle activator is the internal class 
+				<code>Draw2DExtPlugin.Implementation</code>.
+			</li>
+			<li><span class="label label-success">Added</span> 
+				<code>org.eclipse.sirius.ext.e3.ui.Eclipse3UIExtPlugin</code>, a subclass of 
+				<code>org.eclipse.emf.common.EMFPlugin</code> has been added. The corresponding OSGi bundle activator is the internal class 
+				<code>Eclipse3UIExtPlugin.Implementation</code>.
+			</li>
+			<li><span class="label label-success">Added</span> 
+				<code>org.eclipse.sirius.ext.emf.EMFExtPlugin</code>, a subclass of 
+				<code>org.eclipse.emf.common.EMFPlugin</code> has been added. The corresponding OSGi bundle activator is the internal class 
+				<code>EMFExtPlugin.Implementation</code>.
+			</li>
+			<li><span class="label label-success">Added</span> 
+				<code>org.eclipse.sirius.synchronizer.internal.SynchronizerPlugin</code>, a subclass of 
+				<code>org.eclipse.emf.common.EMFPlugin</code> has been added. The corresponding OSGi bundle activator is the internal class 
+				<code>SynchronizerPlugin.Implementation</code>.
+			</li>
+			<li><span class="label label-success">Added</span> 
+				<code>org.eclipse.sirius.tree.tools.internal.TreePlugin</code>, a subclass of 
+				<code>org.eclipse.emf.common.EMFPlugin</code> has been added. The corresponding OSGi bundle activator is the internal class 
+				<code>TreePlugin.Implementation</code>.
+			</li>
+			<li><span class="label label-info">Modified</span> 
+				<code>org.eclipse.sirius.common.acceleo.mtl.ide.AcceleoMTLInterpreterIDEPlugin</code> is no longer an OSGi 
+				<code>BundleActivator</code>, and instead extends 
+				<code>org.eclipse.emf.common.EMFPlugin</code>. The actual bundle activator is the new internal class 
+				<code>AcceleoMTLInterpreterIDEPlugin.Implementation</code>.
+			</li>
+			<li><span class="label label-info">Modified</span> 
+				<code>org.eclipse.sirius.common.acceleo.mtl.ide.AcceleoMTLInterpreterPlugin</code> is no longer an OSGi 
+				<code>BundleActivator</code>, and instead extends 
+				<code>org.eclipse.emf.common.EMFPlugin</code>. The actual bundle activator is the new internal class 
+				<code>AcceleoMTLInterpreterPlugin.Implementation</code>.
+			</li>
+			<li><span class="label label-info">Modified</span> 
+				<code>org.eclipse.sirius.common.ocl.DslOclPlugin</code> is no longer a 
+				<code>org.eclipse.core.runtime.Plugin</code> (nor an OSGi 
+				<code>BundleActivator</code>), and instead extends 
+				<code>org.eclipse.emf.common.EMFPlugin</code>. The actual bundle activator is the new internal class 
+				<code>DslOclPlugin.Implementation</code>.
+			</li>
+			<li><span class="label label-info">Modified</span> 
+				<code>org.eclipse.sirius.common.tools.DslCommonPlugin</code> is no longer a 
+				<code>org.eclipse.core.runtime.Plugin</code> (nor an OSGi 
+				<code>BundleActivator</code>), and instead extends 
+				<code>org.eclipse.emf.common.EMFPlugin</code>. The actual bundle activator is the new internal class 
+				<code>DslCommonPlugin.Implementation</code>.
+			</li>
+			<li><span class="label label-info">Modified</span> 
+				<code>org.eclipse.sirius.diagram.DiagramPlugin</code> is no longer a 
+				<code>org.eclipse.core.runtime.Plugin</code> (nor an OSGi 
+				<code>BundleActivator</code>), and instead extends 
+				<code>org.eclipse.emf.common.EMFPlugin</code>. The actual bundle activator is the new internal class 
+				<code>DiagramPlugin.Implementation</code>.
+			</li>
+			<li><span class="label label-info">Modified</span> 
+				<code>org.eclipse.sirius.ecore.extender.business.internal.ExtenderPlugin</code> is no longer a 
+				<code>org.eclipse.core.runtime.Plugin</code> (nor an OSGi 
+				<code>BundleActivator</code>), and instead extends 
+				<code>org.eclipse.emf.common.EMFPlugin</code>. The actual bundle activator is the new internal class 
+				<code>ExtenderPlugin.Implementation</code>.
+			</li>
+			<li><span class="label label-info">Modified</span> 
+				<code>org.eclipse.sirius.table.tools.internal.TablePlugin</code> is no longer a 
+				<code>org.eclipse.core.runtime.Plugin</code> (nor an OSGi 
+				<code>BundleActivator</code>), and instead extends 
+				<code>org.eclipse.emf.common.EMFPlugin</code>. The actual bundle activator is the new internal class 
+				<code>TablePlugin.Implementation</code>.
+			</li>
+			<li><span class="label label-info">Renamed, Modified</span> 
+				<code>org.eclipse.sirius.eef.adapters.Activator</code> has been renamed into 
+				<code>org.eclipse.sirius.eef.adapters.EEFAdapterPlugin</code> and is no longer an OSGi bundle activator (hence the name change, to avoid confusion). Instead it extends 
+				<code>org.eclipse.emf.common.EMFPlugin</code>. The actual bundle activator is the new internal class 
+				<code>EEFAdapterPlugin.Implementation</code>.
+			</li>
+			<li><span class="label label-info">Renamed, Modified</span> 
+				<code>org.eclipse.sirius.common.acceleo.interpreter.Activator</code> has been renamed into 
+				<code>org.eclipse.sirius.common.acceleo.interpreter.InterpreterViewPlugin</code> and is no longer an OSGi bundle activator (hence the name change, to avoid confusion). Instead it extends 
+				<code>org.eclipse.emf.common.EMFPlugin</code>. The actual bundle activator is the new internal class 
+				<code>InterpreterViewPlugin.Implementation</code>.
+			</li>
+			<li><span class="label label-info">Renamed, Modified</span> 
+				<code>org.eclipse.sirius.table.ui.ext.Activator</code> has been renamed into 
+				<code>org.eclipse.sirius.table.ui.ext.TableUIExtPlugin</code> and is no longer an OSGi bundle activator (hence the name change, to avoid confusion). Instead it extends 
+				<code>org.eclipse.emf.common.EMFPlugin</code>. The actual bundle activator is the new internal class 
+				<code>TableUIExtPlugin.Implementation</code>.
+			</li>
+			<li><span class="label label-info">Renamed, Modified</span> 
+				<code>org.eclipse.sirius.ui.ext.Activator</code> has been renamed into 
+				<code>org.eclipse.sirius.ui.ext.SiriusUIExtPlugin</code> and is no longer an OSGi bundle activator (hence the name change, to avoid confusion). Instead it extends 
+				<code>org.eclipse.emf.common.EMFPlugin</code>. The actual bundle activator is the new internal class 
+				<code>SiriusUIExtPlugin.Implementation</code>.
+			</li>
+			<li><span class="label label-info">Renamed, Modified</span> 
+				<code>org.eclipse.sirius.tree.ui.ext.Activator</code> has been renamed into 
+				<code>org.eclipse.sirius.tree.ui.ext.TreeUIExtPlugin</code> and is no longer an OSGi bundle activator (hence the name change, to avoid confusion). Instead it extends 
+				<code>org.eclipse.emf.common.EMFPlugin</code>. The actual bundle activator is the new internal class 
+				<code>TreeUIExtPlugin.Implementation</code>.
+			</li>
+			<li><span class="label label-info">Renamed</span> 
+				<code>org.eclipse.sirius.diagram.sequence.ui.SequenceDiagramPlugin</code> has been renamed into 
+				<code>org.eclipse.sirius.diagram.sequence.ui.SequenceDiagramUIPlugin</code> for consistency and to avoid potential name clashes with the new 
+				<code>org.eclipse.sirius.diagram.sequence.SequenceDiagramPlugin</code>.
+			</li>
+		</ul>
+		<p>Additional non-breaking changes:</p>
+		<ul>
+			<li><span class="label label-success">Added</span> 
+				<code>org.eclipse.sirius.ext.base.I18N</code> has been added. It provides common utility code to support internationalization. 
+			</li>
+			<li><span class="label label-success">Added</span> The translation keys (and default values) have been added to all the concerned bundles, in their 
+				<code>plugin.properties</code> file. These (translated) messages are available at runtime as static fields of new 
+				<code>Messages</code> classes, added to all concerned bundles (always in the same package as their plug-in/activator class). The concerned bundles are:
+				<ul>
+					<li>
+						<code>org.eclipse.sirius</code>
+					</li>
+					<li>
+						<code>org.eclipse.sirius.ext.base</code>
+					</li>
+					<li>
+						<code>org.eclipse.sirius.ecore.extender</code>
+					</li>
+					<li>
+						<code>org.eclipse.sirius.synchronizer</code>
+					</li>
+					<li>
+						<code>org.eclipse.sirius.common</code>
+					</li>
+					<li>
+						<code>org.eclipse.sirius.common.acceleo.aql</code>
+					</li>
+					<li>
+						<code>org.eclipse.sirius.common.acceleo.aql.ide</code>
+					</li>
+					<li>
+						<code>org.eclipse.sirius.common.acceleo.mtl</code>
+					</li>
+					<li>
+						<code>org.eclipse.sirius.common.acceleo.mtl.ide</code>
+					</li>
+					<li>
+						<code>org.eclipse.sirius.common.ui</code>
+					</li>
+					<li>
+						<code>org.eclipse.sirius.diagram.layoutdata</code>
+					</li>
+					<li>
+						<code>org.eclipse.sirius.diagram.sequence</code>
+					</li>
+					<li>
+						<code>org.eclipse.sirius.diagram.sequence.ui</code>
+					</li>
+					<li>
+						<code>org.eclipse.sirius.diagram</code>
+					</li>
+					<li>
+						<code>org.eclipse.sirius.diagram.ui</code>
+					</li>
+					<li>
+						<code>org.eclipse.sirius.eef.adapters</code>
+					</li>
+					<li>
+						<code>org.eclipse.sirius.interpreter</code>
+					</li>
+					<li>
+						<code>org.eclipse.sirius.table</code>
+					</li>
+					<li>
+						<code>org.eclipse.sirius.table.ui</code>
+					</li>
+					<li>
+						<code>org.eclipse.sirius.tree</code>
+					</li>
+					<li>
+						<code>org.eclipse.sirius.tree.ui</code>
+					</li>
+					<li>
+						<code>org.eclipse.sirius.ui</code>
+					</li>
+				</ul>
+			</li>
+		</ul>
+		<h4 id="Changesinorg.eclipse.sirius.common4">Changes in 
+			<code>org.eclipse.sirius.common</code>
+		</h4>
+		<ul>
+			<li><span class="label label-success">Added</span> The method 
+				<code>invokeMethod</code> has been added in class 
+				<code>org.eclipse.sirius.common.tools.api.util.ReflectionHelper</code> to call a private method. Warning: This method must be used carefully.
+			</li>
+			<li><span class="label label-success">Added</span> The method 
+				<code>invokeMethodWithoutException</code> has been added in class 
+				<code>org.eclipse.sirius.common.tools.api.util.ReflectionHelper</code> to call a private method. This method returns true (and not the result of the method) if it is called without exception. It returns false otherwise. Warning: This method must be used carefully.
+			</li>
+		</ul>
+		<ul>
+			<li><span class="label label-success">Added</span> The new interface 
+				<code>org.eclipse.sirius.common.tools.api.interpreter.IInterpreterWithDiagnostic</code> has been added. It allows an interpreter to evaluate an expression and return not only the result of the evaluation but also a diagnostic.
+			</li>
+			<li><span class="label label-success">Added</span> The new class 
+				<code>org.eclipse.sirius.common.tools.api.contentassist.ContentProposalWithReplacement</code> has been added. It allows interpreters to provide proposals for the code completion which can replace an existing part of the expression used. This behavior can be used if the user has started to type a value that would be returned by the code completion. For example, if the user types 
+				<code>aql:self.na</code> and if he selects the content proposal 
+				<code>name</code>, it can replace the existing part of the expression 
+				<code>na</code> to write 
+				<code>aql:self.name</code> instead of just appending 
+				<code>name</code> to create 
+				<code>aql:self.naname</code>.
+			</li>
+			<li><span class="label label-success">Added</span> The new class 
+				<code>org.eclipse.sirius.common.tools.api.contentassist.ContentProposalBuilder</code> used to build the content proposals with their various parameters more easily.
+			</li>
+		</ul>
+		<h4 id="Changesinorg.eclipse.sirius6">Changes in 
+			<code>org.eclipse.sirius</code>
+		</h4>
+		<ul>
+			<li><span class="label label-success">Added</span> The method 
+				<code>addEvaluateSelectionExpressionTask</code> has been added in class 
+				<code>org.eclipse.sirius.tools.api.command.AbstractCommandFactory</code> to allow selection after tool execution.
+			</li>
+			<li><span class="label label-success">Added</span> The class 
+				<code>org.eclipse.sirius.common.tools.api.interpreter.StandardServices</code> has been added. This class owns methods used for 
+				<code>service:</code> interpreter.
+			</li>
+			<li><span class="label label-success">Added</span> The class 
+				<code>org.eclipse.sirius.business.api.extender.MetamodelDescriptorProvider2</code> has been added and should be preferred instead of implementing 
+				<code>MetamodelDescriptorProvider</code>.
+			</li>
+			<li><span class="label label-success">Added</span> 
+				<code>org.eclipse.sirius.business.api.componentization.ViewpointRegistryImpl.addViewpointFileCollector()</code> method has been added to replace deprecated 
+				<code>ViewpointRegistryImpl.addSiriusFileCollector()</code>.
+			</li>
+			<li><span class="label label-info">Modified</span> 
+				<code>org.eclipse.sirius.ecore.extender.business.api.permission.IPermissionAuthority.canDeleteInstance(EObject)</code> when called for an object will not be called for children of this object as we know it will return true because if we can delete a parent object we can delete its children. 
+			</li>
+			<li><span class="label label-info">Modified</span> 
+				<code>org.eclipse.sirius.tools.api.command.DCommand</code> no longer inherits from 
+				<code>IUndoableCommand</code> since undo/redo is managed by EMF Transaction.
+			</li>
+			<li><span class="label label-warning">Deprecated</span> 
+				<code>org.eclipse.sirius.business.api.componentization.ViewpointRegistryImpl.addSiriusFileCollector()</code> method has been deprecated as it is about 
+				<code>ViewpointFileCollector</code> and not 
+				<code>SiriusFileCollector</code>.
+			</li>
+			<li><span class="label label-danger">Removed</span> 
+				<code>org.eclipse.sirius.business.api.helper.task.ICommandTask.undo()/redo()</code> methods removed because they are useless since undo/redo is managed by EMF Transaction.
+			</li>
+			<li><span class="label label-danger">Removed</span> 
+				<code>org.eclipse.sirius.tools.api.command.IUndoableCommand</code> interface removed because it is useless since undo/redo is managed by EMF Transaction.
+			</li>
+		</ul>
+		<h4 id="Changesinorg.eclipse.sirius.ui7">Changes in 
+			<code>org.eclipse.sirius.ui</code>
+		</h4>
+		<ul>
+			<li><span class="label label-success">Added</span> 
+				<code>org.eclipse.sirius.ui.business.api.session.SessionEditorInput.getInput()</code> method has been added to get the real input for a 
+				<code>DRepresentation</code>.
+			</li>
+			<li><span class="label label-success">Added</span> 
+				<code>org.eclipse.sirius.ui.business.api.session.SessionEditorInput.getSession(boolean)</code> method has been added to let the caller choose to create and open a new 
+				<code>Session</code> or not when the known session is closed or does not exist. The 
+				<code>getSession</code> method calls getSession(true).
+			</li>
+			<li><span class="label label-success">Added</span> 
+				<code>org.eclipse.sirius.ui.business.api.dialect.DialectUIServices.selectAndReveal(DialectEditor, List&lt;DRepresentationElement&gt;)</code> method has been added to explicitly indicate to reveal elements out of the screen (hidden because of the scrollbars location) when selecting them.
+			</li>
+			<li><span class="label label-warning">Deprecated</span> 
+				<code>org.eclipse.sirius.ui.business.api.session.SessionEditorInput.dispose()</code> method has been deprecated as an 
+				<code>IEditorInput</code> can be reused by several instances of 
+				<code>IEditorPart</code> through the navigation history view.
+			</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.graphical.edit.policies.RegionRegionContainerResizableEditPolicy</code> has been added to handle 
+				<code>DNodeContainer</code> which are both 
+				<code>Region</code> and 
+				<code>RegionContainer</code>: during resize they might have to propagate the resize to their children and/or parents.
+			</li>
+			<li><span class="label label-success">Added</span> The constant 
+				<code>org.eclipse.sirius.diagram.ui.tools.api.layout.LayoutUtils.COLLAPSED_VERTICAL_REGION_HEIGHT</code> has been added to centralize the minimum height of a collapsed Region from a Region Container with a vertical stack children presentation.
+			</li>
+			<li><span class="label label-success">Added</span> 
+				<code>org.eclipse.sirius.diagram.ui.edit.api.part.IDiagramNodeEditPart/IDiagramBorderNodeEditPart.getNodeLabel()</code> methods has been moved up to 
+				<code>org.eclipse.sirius.diagram.ui.edit.api.part.IAbstractDiagramNodeEditPart.getNodeLabel()</code> as both 
+				<code>IDiagramNodeEditPart</code> and 
+				<code>IDiagramBorderNodeEditPart</code> inherits of 
+				<code>IAbstractDiagramNodeEditPart</code>.
+			</li>
+			<li><span class="label label-success">Added</span> 
+				<code>org.eclipse.sirius.diagram.ui.tools.api.ui.actions.ActionIds.ARRANGE_BORDER_NODES</code> added to replace 
+				<code>org.eclipse.sirius.diagram.ui.tools.api.ui.actions.ActionIds.ARRANGE_BORDERED_NODES_TOOLBAR</code> which is deprecated.
+			</li>
+			<li><span class="label label-success">Added</span> 
+				<code>org.eclipse.sirius.diagram.ui.tools.api.ui.actions.ActionIds.ARRANGE_BORDER_NODES_TOOLBAR</code> added to replace 
+				<code>org.eclipse.sirius.diagram.ui.tools.api.ui.actions.ActionIds.ARRANGE_BORDERED_NODES</code> which is deprecated 
+			</li>
+			<li><span class="label label-success">Added</span> 
+				<code>org.eclipse.sirius.diagram.ui.graphical.edit.policies.SetConnectionBendpointsAndLabelCommmand</code> is a new class that allows to update edge label when updating bendpoints. Several existing Sirius commands now extends this new class.
+			</li>
+			<li><span class="label label-success">Added</span> 
+				<code>org.eclipse.sirius.diagram.ui.tools.api.decorators.AbstractSiriusDecorator.shouldBeVisibleAtPrint()</code> method added to leave 
+				<code>AbstractSiriusDecorator</code> extenders indicate if decoration should be visible at diagram export/print.
+			</li>
+			<li><span class="label label-warning">Deprecated</span> 
+				<code>org.eclipse.sirius.diagram.ui.tools.api.ui.actions.ActionIds.ARRANGE_BORDERED_NODES</code> deprecated in favor 
+				<code>org.eclipse.sirius.diagram.ui.tools.api.ui.actions.ActionIds.ARRANGE_BORDER_NODES</code> as it is an action id about border nodes layout.
+			</li>
+			<li><span class="label label-warning">Deprecated</span> 
+				<code>org.eclipse.sirius.diagram.ui.tools.api.ui.actions.ActionIds.ARRANGE_BORDERED_NODES_TOOLBAR</code> deprecated in favor 
+				<code>org.eclipse.sirius.diagram.ui.tools.api.ui.actions.ActionIds.ARRANGE_BORDER_NODES_TOOLBAR</code> as it is an action id about border nodes layout.
+			</li>
+			<li><span class="label label-danger">Removed</span> 
+				<code>org.eclipse.sirius.diagram.ui.graphical.edit.policies.EdgeCreationEditPolicy</code> has been removed as it should not be in API and has been replaced by internal 
+				<code>org.eclipse.sirius.diagram.ui.internal.edit.policies.SiriusConnectionEditPolicy</code>.
+			</li>
+			<li><span class="label label-danger">Removed</span> The method 
+				<code>setUseLocalCoordinates(boolean)</code> has been removed from 
+				<code>org.eclipse.sirius.diagram.ui.tools.api.figure.GradientRoundedRectangle</code>, 
+				<code>org.eclipse.sirius.diagram.ui.tools.api.figure.ViewNodeContainerParallelogram</code>, 
+				<code>org.eclipse.sirius.diagram.ui.tools.api.figure.ViewNodeContainerRectangleFigureDesc</code> as it was generated by GMF tooling and never used in Sirius whose edit parts and edit policies expect 
+				<code>org.eclipse.draw2d.IFigure.useLocalCoordinates()</code> to always return false for its figures. 
+			</li>
+		</ul>
+		<h4 id="Changesinorg.eclipse.sirius.synchronizer">Changes in 
+			<code>org.eclipse.sirius.synchronizer</code>
+		</h4>
+		<ul>
+			<li><span class="label label-success">Added</span> 
+				<code>org.eclipse.sirius.synchronizer.CreatedOutput.synchronizeChildren()</code> method takes now a 
+				<code>RefreshPlan</code> in parameter to have more informations to say if children must be synchronized.
+			</li>
+		</ul>
+		<h4 id="Changesinorg.eclipse.sirius.tests.junit.support5">Changes in 
+			<code>org.eclipse.sirius.tests.junit.support</code>
+		</h4>
+		<ul>
+			<li><span class="label label-success">Added</span> The class 
+				<code>org.eclipse.sirius.tests.support.api.AbstractToolDescriptionTestCase</code> has been created. It contains utility methods about tools.
+			</li>
+			<li><span class="label label-info">Modified</span> The class 
+				<code>org.eclipse.sirius.tests.support.api.SiriusDiagramTestCase</code> has been modified 
+				<ul>
+					<li><span class="label label-info">Modified</span> It now inherits from 
+						<code>AbstractToolDescriptionTestCase</code> 
+					</li>
+					<li><span class="label label-success">Added</span> The method 
+						<code>applyContainerCreationTool(String,DDiagram,EObject)</code> has been added.
+					</li>
+					<li><span class="label label-success">Added</span> The method 
+						<code>applyGenericTool(String,DDiagram,EObject)</code> has been added.
+					</li>
+				</ul>
+			</li>
+		</ul>
+		<h4 id="Changesinorg.eclipse.sirius.tests.swtbot.support4">Changes in 
+			<code>org.eclipse.sirius.tests.swtbot.support</code>
+		</h4>
+		<ul>
+			<li><span class="label label-success">Added</span> The methods 
+				<code>closePerspective(String)</code>, 
+				<code>closeSiriusPerspective()</code> and 
+				<code>closeModelingPerspective()</code> have been added in class 
+				<code>org.eclipse.sirius.tests.swtbot.support.api.perspective.DesignerPerspectives</code> to allow the closing of perspectives.
+			</li>
+			<li><span class="label label-success">Added</span> The 
+				<code>org.eclipse.sirius.tests.swtbot.support.api.condition.PerspectiveActivatedCondition</code> new offers the capability to inverse the test. This condition becomes a DeactivatedCondition instead of an ActivatedCondition by using the new constructor with inverse parameter.
+			</li>
+			<li><span class="label label-success">Added</span> The methods 
+				<code>isSnapToShape</code> and 
+				<code>isSnapToGrid()</code> have been added in class 
+				<code>org.eclipse.sirius.tests.swtbot.support.api.editor.SWTBotSiriusDiagramEditor</code>. They allow to know the state of the corresponding properties.
+			</li>
+			<li><span class="label label-success">Added</span> The method 
+				<code>org.eclipse.sirius.tests.swtbot.support.api.editor.SWTBotSiriusDiagramEditor.dragWithKey(int, int, int, int, int)</code> (and also 
+				<code>SWTBotSiriusGefViewer.dragWithKey</code> and 
+				<code>SWTBotSiriusFigureCanvas.mouseDragWithKey</code>), has an additional fifth parameter compared to 
+				<code>drag(int, int, int, int)</code> method, to indicate the key code to press during the drag&#8217;n&#8217;drop. It is possible to call this method with 
+				<code>SWT.None</code> to obtain the standard behavior of 
+				<code>drag</code> method. This method also has a correct behavior for the move of bendpoints of edges.
+			</li>
+			<li><span class="label label-success">Added</span> 
+				<code>org.eclipse.sirius.tests.swtbot.support.api.condition.TopCondition</code>: New condition to wait that top of the edit part is on the expected location.
+			</li>
+			<li><span class="label label-success">Added</span> 
+				<code>org.eclipse.sirius.tests.swtbot.support.api.condition.BendpointLocationCondition</code>: New condition to wait that a bendpoint is on the expected x or y location.
+			</li>
+			<li><span class="label label-success">Added</span> 
+				<code>org.eclipse.sirius.tests.swtbot.support.api.condition.TreeChildrenNumberCondition</code>: New condition to wait that a tree has the expected number of children.
+			</li>
+			<li><span class="label label-success">Added</span> 
+				<code>org.eclipse.sirius.tests.swtbot.support.utils.SWTBotCommonHelper.saveCurrentEditor(Session)</code>: This new method is preferable to 
+				<code>saveCurrentEditor()</code> because there is a wait condition to ensure that the save is finished.
+			</li>
+			<li><span class="label label-info">Modified</span> 
+				<code>org.eclipse.sirius.tests.swtbot.support.api.condition.CheckBoundsCondition</code>: This condition now also checks the bounds location if the checkWidth or checkHeight (or both) is false.
+			</li>
+		</ul>
+		<h4 id="Changesinorg.eclipse.sirius.ext.gef">Changes in 
+			<code>org.eclipse.sirius.ext.gef</code>
+		</h4>
+		<ul>
+			<li><span class="label label-success">Added</span> The new class 
+				<code>org.eclipse.sirius.ext.gef.query.EditPartQuery</code> has been added. It allows to retrieve all children of the current part.
+			</li>
+		</ul>
+		<h4 id="Changesinorg.eclipse.sirius.ext.jface">Changes in 
+			<code>org.eclipse.sirius.ext.jface</code>
+		</h4>
+		<ul>
+			<li><span class="label label-success">Added</span> The new class 
+				<code>org.eclipse.sirius.ext.jface.viewers.IToolTipProvider</code> has been copied from JFace 3.10 from Luna, so that we can use it with Juno and Kepler too.
+			</li>
+		</ul>
+		<h4 id="Changesinorg.eclipse.sirius.ext.gmf.runtime3">Changes in 
+			<code>org.eclipse.sirius.ext.gmf.runtime</code>
+		</h4>
+		<ul>
+			<li><span class="label label-success">Added</span> Two new 
+				<code>getIntersection</code> methods have been added in 
+				<code>org.eclipse.sirius.ext.gmf.runtime.editparts.GraphicalHelper</code>. They are similar to the existing 
+				<code>getIntersection</code> methods, but they consider the nearest point on the figure if there is no intersection.
+			</li>
+		</ul>
+		<h2 id="sirius3.0.0">Changes in Sirius 3.0.0</h2>
+		<h3 id="UserVisibleChanges9">User-Visible Changes</h3>
+		<ul>
+			<li><span class="label label-success">Added</span> The ability to print table representations has been re-introduced.</li>
+			<li><span class="label label-success">Added</span> The quick outline feature has been added for tree and table editors, see documentation for details.</li>
+			<li><span class="label label-success">Added</span> The label of a list or container can now be hidden by the user from the outline, the tabbar or the contextual menu.</li>
+			<li><span class="label label-success">Added</span> In the 
+				<em>Appearance</em> tab, in addition to 
+				<em>Bold</em> and 
+				<em>Italic</em>, it is now possible to set the font formatting style to 
+				<em>Underline</em> and 
+				<em>Strike through</em> (or any combination of these).
+			</li>
+			<li><span class="label label-success">Added</span> Container elements on diagrams now support vertical and horizontal compartments layout (this is only visible if the modeler configuration makes use of this new feature). </li>
+			<li><span class="label label-success">Added</span> In table and tree editors, a 
+				<em>Refresh</em> can now be launched by hitting <kbd>F5</kbd> like in diagrams (previously the only way was to click on the 
+				<em>Refresh</em> icon or menu item).
+			</li>
+			<li><span class="label label-success">Added</span> In table editors, hitting the <kdb>Del</kdb> key is now equivalent to selecting 
+				<em>Delete Line</em> in the context menu.
+			</li>
+			<li><span class="label label-success">Added</span> On diagrams, it is now possible to set a custom background image on list containers.</li>
+			<li><span class="label label-info">Modified</span> In the 
+				<em>Viewpoint Selection</em> dialog and wizard page, the &#8220;plug-in&#8221; decorator for viewpoints loaded from plug-ins is removed, and a &#8220;Folder&#8221; decorator for viewpoints loaded from the current workspace has been added. This makes the icons more visible in the most common where viewpoints come from installed plug-ins.
+			</li>
+		</ul>
+		<h3 id="SpecifierVisibleChanges6">Specifier-Visible Changes</h3>
+		<ul>
+			<li><span class="label label-success">Added</span> <span class="label label-info">Experimental</span> Optional support for the experimental 
+				<em>Acceleo Query Language</em> (AQL) has been added to write interpreted expressions.  It is provided by the 
+				<code>org.eclipse.sirius.common.acceleo.aql</code> (required for evaluating the expressions) and 
+				<code>org.eclipse.sirius.common.acceleo.aql.ide</code>  (optional, only needed to provide specification-time features like expression completion) plug-ins. AQL is similar to Acceleo 3/MTL, but simpler and provides much better performance in the Sirius context. If you make use of this feature, be aware that some details may still change in future releases, including 3.0.x maintenance releases. See <a href="https://www.eclipse.org/acceleo/documentation/aql.html" target="_blank">the AQL documentation</a> for more details on the language itself.
+			</li>
+			<li><span class="label label-success">Added</span> <span class="label label-info">Experimental</span> New, experimental support for containers with vertical or horizontal 
+				<em>compartments</em> on diagrams: the 
+				<em>children presentation</em> property of a 
+				<em>Container Mapping</em> has two new values: 
+				<em>Vertical Stack</em> and 
+				<em>Horizontal Stack</em>. They indicate that a container will present its children containers as a vertical/horizontal stack of compartments. While working reliably, this support is marked experimental in Sirius 3.0.0 as there are still some combinations of mappings, styles and behaviors which do not behave as expected. If you make use of this feature, be aware that some details may still change in future releases, including 3.0.x maintenance releases.
+			</li>
+			<li><span class="label label-success">Added</span> Everywhere an image path can be configured in the VSM, a new button is present on the right of the text field. It opens a dialog to select an image, either from the workspace or from an installed plug-in.</li>
+			<li><span class="label label-success">Added</span> Everywhere an interpreted expression can be configured in the VSM, a new button is present on the right of the text field. It opens a multi-line dialog to edit long expression more easily. Auto-completion is supported inside the multi-line dialog.</li>
+			<li><span class="label label-success">Added</span> Compressed SVG images (
+				<code>*.svgz</code>) are now supported everywhere normal SVG images were supported.
+			</li>
+			<li><span class="label label-success">Added</span> When developing a modeler in &#8220;live mode&#8221;, with the VSM in the same workspace as the sample session(s) which use it, VSM expressions which use 
+				<code>service:</code> or 
+				<code>aql:</code> can now invoke Java services which are defined in the workspace (with no need to launch a separate runtime).
+			</li>
+			<li><span class="label label-success">Added</span> A quick outline is now accessible in the VSM editor by using the shortcut <kbd>Ctrl+o</kbd>. It supports filtering on both an element&#8217;s name and properties for quick, keyboard-only navigation in complex VSMs.</li>
+			<li><span class="label label-success">Added</span> The &#8220;hide label by default capability&#8221; has been added to the container styles.</li>
+			<li><span class="label label-success">Added</span> In addition to 
+				<em>Bold</em> and 
+				<em>Italic</em>, 
+				<em>Underline</em> and 
+				<em>Strike Through</em> styles have been added on the label font format.
+			</li>
+			<li><span class="label label-success">Improved</span> Many VSM elements which are required are now created automatically. For example the default layer of a 
+				<em>Diagram Description</em> is automatically added to new 
+				<em>Diagram Descriptions</em>.
+			</li>
+			<li><span class="label label-success">Improved</span> Some default values have been modified to better reflect actual usage. This does not impact existing VSM and only applies to newly created elements.
+				<ul>
+					<li>The label position on a 
+						<em>Node</em> mapping is now 
+						<em>node</em> by default (instead of 
+						<em>border</em> before).
+					</li>
+					<li>The 
+						<em>Arc Width</em> and 
+						<em>Arc Height</em> are now 10 by default (instead of 1 before).
+					</li>
+					<li>The 
+						<em>Enable popup bars</em> is now set by default on new diagrams.
+					</li>
+					<li>No default value for interpreted expressions use the Acceleo 3 / MTL syntax anymore, but only use the core 
+						<code>var:</code> and 
+						<code>feature:</code> interpreters, which are always present.
+					</li>
+				</ul>
+			</li>
+			<li><span class="label label-success">Improved</span> The precision of the VSM validation, especially regarding the typing of computed expressions, has been greatly improved. Other validation rules like static image paths have also been added or improved.</li>
+			<li><span class="label label-info">Modified</span> In the VSM editor, the context menu entries (categories and items) have been reorganized to put most common actions/items first.</li>
+			<li><span class="label label-info">Modified</span> In diagrams, the style previously named &#8220;Lozenge&#8221; is now called &#8220;Diamond&#8221;.</li>
+			<li><span class="label label-info">Modified</span> In the 
+				<em>Open</em> menu on a representation, the menu is computed from the navigation tool&#8217;s label instead of its name/id.
+			</li>
+			<li><span class="label label-info">Modified</span> All Acceleo 3 references have been removed from the Sirius metamodels to avoid a dependency to Acceleo 3. An automatic migration has been added during the loading of the VSM to avoid a change of behavior. This migration adds explicitly the old default value (
+				<code>[eContents()-&gt;size()/]</code>) in the VSM, that was implicit before. Customers who want to completely remove this dependency must remove the Acceleo 3 expressions from there VSM after the migration.
+			</li>
+			<li><span class="label label-info">Modified</span> The default icons paths of 
+				<em>Selection Wizard</em> and 
+				<em>Pane-Based Selection Wizard</em> used to reference invalid icons, so the corresponding tools had no icon per default in the palette. The default icons paths have been corrected to reference the icons displayed for those elements in the VSM editor.
+			</li>
+			<li><span class="label label-info">Modified</span> "
+				<code>*</code>" can now be used as feature name of a table&#8217;s 
+				<em>Feature Column</em> to skip the feature name validation during the cell creation. This allow to compute the label of cells for lines whose semantic element types have no common 
+				<em>EStructuralFeature</em> (inherited or with same name).
+			</li>
+		</ul>
+		<h3 id="DeveloperVisibleChanges9">Developer-Visible Changes</h3>
+		<p>The most important and impacting changes in this release are (details below in plug-in specific sections):</p>
+		<ul>
+			<li><span class="label label-success">Added</span>  The new extension point 
+				<code>org.eclipse.sirius.ui.siriuspropertiescelleditor</code>, defined in 
+				<code>org.eclipse.sirius.ui</code>, can be used to provide customized cell editors for semantic element&#8217;s properties as shown in the properties view on a Sirius representation.
+			</li>
+			<li><span class="label label-success">Added</span>  The new class 
+				<code>org.eclipse.sirius.eef.components.SiriusAwarePropertiesEditingComponent</code> can be used as root class of the generated EEF components to greatly improve performances when using both EEF properties views with Sirius representations. 
+			</li>
+			<li><span class="label label-info">Modified</span> The minimum version of EEF required for using 
+				<code>org.eclipse.sirius.eef.adapters</code> is now 1.5.0 (from 1.2 before). EEF 1.5 is source and binary-compatible with EEF 1.2 to 1.4, and no re-generation of the EEF views should be needed to switch to 1.5.
+			</li>
+			<li><span class="label label-info">Modified</span> The 
+				<code>org.eclipse.sirius.business.internal.session.IsModifiedSavingPolicy</code> saving policy, introduced in Sirius 2.0.0 but not enabled at that time is now the default. The previous implementation, 
+				<code>org.eclipse.sirius.business.api.session.SavingPolicyImpl</code> is still available if needed.
+			</li>
+			<li><span class="label label-info">Modified</span> All metamodels defined by Sirius have been modified to use EMF&#8217;s 
+				<code>MinimalEObjectImpl.Container</code> as base class, which reduces memory consumption compared to previous versions.
+			</li>
+			<li><span class="label label-info">Modified</span> The 
+				<code>RGBValues</code> type used in Sirius to represent colors has been converted into an immutable EMF EDataType, which also reduces memory consumption compared to previous versions.
+			</li>
+			<li><span class="label label-info">Modified</span> The 
+				<code>AirdResourceImpl</code> type, use for the 
+				<code>*.aird</code> resources, no longer inherits from GMF&#8217;s 
+				<code>GMFResource</code> or depend on GMF in any way. This makes the 
+				<code>org.eclipse.sirius</code> now completely independent on GMF.
+			</li>
+			<li><span class="label label-info">Modified</span> The 
+				<code>DAnalsysis.models</code> reference has been replaced by the 
+				<code>DAnalsysis.semanticModels</code> attribute, in conjunction with the new 
+				<code>ResourceDescriptor</code> data-type. The 
+				<code>DAnalysis.getModels()</code> Java method is still present for compatibility and returns the same values, but the returned list can not be modified. All changes must be made directly on 
+				<code>DAnalsysis.semanticModels</code> and will be reflected in the value returned by 
+				<code>DAnalysis.getModels()</code>. While not technically deprecated yet, 
+				<code>DAnalysis.getModels()</code> should be avoided and may be removed in a future release.
+			</li>
+			<li><span class="label label-info">Moved</span> Extensions in 
+				<code>plugin.xml</code> that provide UI functionalities have been moved to new 
+				<code>org.eclipse.sirius.*.ext</code> plug-ins, to make the contributions to the UI optional. If your product consumed directly the Sirius plug-ins instead of the high-level features, you may need to add the new plug-ins if you want the Sirius UI contributions to stay available.
+			</li>
+			<li><span class="label label-danger">Removed</span> Many unused types defined in the metamodels have been removed. This should not impact normal client code. Existing models will be automatically migrated on loading if needed.</li>
+			<li><span class="label label-danger">Removed</span> Sirius no longer installs the 
+				<code>AirDCrossReferenceAdapterImpl</code>, which was a subclass of GMF&#8217;s 
+				<code>CrossReferenceAdapter</code> on session resources (
+				<code>*.aird</code>). If your code relied on GMF&#8217;s implementation to find inverse references, it can use the Sirius session&#8217;s 
+				<code>Session.getSemanticCrossReferencer()</code> instead, which provides the same service (and more) and avoids the redundant installation of GMF&#8217;s version.
+			</li>
+		</ul>
+		<p>Packaging changes:</p>
+		<ul>
+			<li><span class="label label-success">Added</span> Two new feature have been added concerning the new support for the AQL language:
+				<ul>
+					<li>
+						<code>org.eclipse.sirius.runtime.aql</code> includes the minimum required to execute AQL queries at runtime. It must be present on end-users' systems for modelers which use AQL expressions to work.
+					</li>
+					<li>
+						<code>org.eclipse.sirius.aql</code> includes both the runtime requirements and the development-time features like support for auto-completion of AQL expressions in the VSM editor.
+					</li>
+				</ul>
+			</li>
+			<li><span class="label label-success">Added</span>  The new feature 
+				<code>org.eclipse.sirius.specifier</code> includes everything needed to have a complete Sirius specification environment, with support for all dialects. It includes support for Acceleo 3/MTL queries, but not for AQL (provided by 
+				<code>org.eclipse.sirius.aql</code>) or OCL (provided by 
+				<code>org.eclipse.sirius.runtime.ocl</code>). Future Sirius releases will probably swap AQL and Acceleo 3, making AQL the defaut and part of the main feature, and Acceleo 3/MTL optional in a separate feature.
+			</li>
+			<li><span class="label label-success">Added</span> All Sirius releases and milestones are available as zipped archives in addition to a normal p2 repository/update-site. For each version and platform (e.g. 3.0.0 on Eclipse Mars), two archives are available: one with the Sirius core, and one with the Sirius automated test suites and the sample modelers they rely on. See the 
+				<a href="https://wiki.eclipse.org/Sirius/Update_Sites">Sirius wiki</a> and release pages for more details and links to these archives, for example 
+				<code>http://download.eclipse.org/sirius/updates/releases/2.0.5/</code>. This is retro-active on all previously released versions of Sirius, but not on milestones before 3.0.0.
+			</li>
+		</ul>
+		<p>Other changes:</p>
+		<ul>
+			<li><span class="label label-success">Added</span> Sirius now provides an <a href="http://www.eclipse.org/oomph" target="_blank">Oomph</a> setup file to automatically create a fully configured Eclipse installation ready for contributing patches to Sirius. The latest version can be obtained <a href="http://git.eclipse.org/c/sirius/org.eclipse.sirius.git/plain/releng/org.eclipse.sirius.settings/Sirius.setup" target="_blank">here</a>.</li>
+			<li><span class="label label-success">Added</span> New patches proposed by contributors on the <a href="https://git.eclipse.org/r/#/admin/projects/sirius/org.eclipse.sirius" target="_blank">Sirius Gerrit</a> now automatically trigger a sub-set of the Sirius automated test suites, which give a good feedback on the absence of regressions introduced by the proposed patch.</li>
+		</ul>
+		<h4 id="Changesinorg.eclipse.sirius.common5">Changes in 
+			<code>org.eclipse.sirius.common</code>
+		</h4>
+		<ul>
+			<li><span class="label label-success">Added</span> The 
+				<code>org.eclipse.sirius.common.tools.api.util.SiriusCrossReferenceAdapter</code> interface and the 
+				<code>org.eclipse.sirius.common.tools.api.util.SiriusCrossReferenceAdapterImpl</code> have been added to have the capability to disable the proxy resolution. This feature is typically used to prevent loading a resource during its unloading. 
+				<strong>Warning</strong> : 
+				<em>Every additional custom CrossReferenceAdapter</em>  should extend 
+				<code>SiriusCrossReferenceAdapterImpl</code> or at least implement 
+				<code>SiriusCrossReferenceAdapter</code> with the same implementation as 
+				<code>SiriusCrossReferenceAdapterImpl</code>.
+			</li>
+			<li><span class="label label-success">Added</span> 
+				<code>org.eclipse.sirius.common.tools.api.util.ECrossReferenceAdapterWithUnproxyCapability</code> is a specific kind of 
+				<code>SiriusCrossReferenceAdapter</code>. It provides the capability to resolve all proxy cross references to a given resource. It is now used by the Session as semantic cross referencer. This type is exposed as API but it is not intended to be used/referenced/extended by user code (as the below 
+				<code>LazyCrossReferencer</code> type).
+			</li>
+			<li><span class="label label-success">Added</span> The static method 
+				<code>org.eclipse.sirius.common.tools.api.util.ReflectionHelper.getFieldValueWithoutException(Class&lt;?&gt;, String)</code> has been added to return an internal static value of a class.   
+			</li>
+			<li><span class="label label-success">Added</span> 
+				<code>org.eclipse.sirius.common.tools.api.resource.ResourceSetSync</code> has a new state 
+				<code>CHANGES_CANCELED</code> used to define the state where the user canceled its changes.
+			</li>
+			<li><span class="label label-success">Added</span> The 
+				<code>org.eclipse.sirius.common.tools.api.resource.ImageFileFormat</code> class has been added (it was in 
+				<code>org.eclipse.sirius.ext.swt</code> before).
+			</li>
+			<li><span class="label label-success">Added</span> The method 
+				<code>org.eclipse.sirius.common.tools.api.util.EclipseUtil.getConfigurationElementsFor()</code> has been added: it calls 
+				<code>org.eclipse.core.runtime.Platform.getExtensionRegistry().getConfigurationElementsFor()</code> only if 
+				<code>Platform.isRunning()</code>.
+			</li>
+			<li><span class="label label-success">Added</span> The interface 
+				<code>org.eclipse.sirius.business.api.migration.IMigrationParticipant</code> exposes a new method 
+				<code>postXMLEndElement([..])</code> which is called during a migration operation. This method should be overridden by participants which have to hook the loading process after each end of XML tag. The  corresponding abstract class 
+				<code>org.eclipse.sirius.business.api.migration.AbstractMigrationParticipant</code> provides a default empty  implementation.
+			</li>
+			<li><span class="label label-success">Added</span> A new class 
+				<code>org.eclipse.sirius.common.tools.api.interpreter.JavaExtensionsManager</code> can now be used by langages interpreters to benefit from a consistent handling of Java extensions and support for loading Java services from the workspace.
+			</li>
+			<li><span class="label label-success">Added</span> The class 
+				<code>org.eclipse.sirius.common.tools.api.interpreter.TypeName</code> has been introduced to represent in the codebase any type which was previously represented as a plain String.
+			</li>
+			<li><span class="label label-success">Added</span> A new interface 
+				<code>org.eclipse.sirius.common.tools.api.interpreter.TypedValidation</code> has been introduced for 
+				<code>IInterpreter</code> implementations able to provide richer information when validating an expression. This information is captured through a 
+				<code>org.eclipse.sirius.common.tools.api.interpreter.ValidationResult</code> instance.
+			</li>
+			<li><span class="label label-success">Added</span> The class 
+				<code>org.eclipse.sirius.common.tools.api.interpreter.VariableType</code> has been introduced to represent the possible types a variable can have in a Viewpoint specification model.
+			</li>
+			<li><span class="label label-success">Added</span> The utility class 
+				<code>org.eclipse.sirius.common.tools.api.interpreter.IInterpreterContextUtils</code> has been introduced to factorize code related to managing 
+				<code>IInterpreterContext</code> instances.
+			</li>
+			<li><span class="label label-success">Added</span> The class 
+				<code>org.eclipse.sirius.business.api.dialect.description.MultiLanguagesValidator</code> has been introduced to provide a safe and more efficient way to switch to the proper 
+				<code>IInterpreter</code> instance when validating expressions.
+			</li>
+			<li><span class="label label-success">Added</span> <span class="label label-danger">Removed</span> The class 
+				<code>org.eclipse.sirius.common.tools.api.util.RefreshIdFactory</code> has been replaced with 
+				<code>org.eclipse.sirius.common.tools.api.util.RefreshIdsHolder</code> which no longer rely on a global singleton but attach information to an EObject representing the current scope. This impacts 
+				<code>org.eclipse.sirius.diagram.business.api.query.AbstractDNodeQuery</code> , 
+				<code>org.eclipse.sirius.common.tools.api.util.CartesianProduct</code> and 
+				<code>org.eclipse.sirius.common.tools.api.util.EObjectCouple</code> which are now requiring now a 
+				<code>RefreshIdsHolder</code> instance.
+			</li>
+			<li><span class="label label-info">Modified</span>
+				<code>org.eclipse.sirius.common.tools.api.util.LazyCrossReferencer</code> now extends 
+				<code>ECrossReferenceAdapterWithUnproxyCapability</code> and implements 
+				<code>resolveProxyCrossReferences(Resource)</code>.
+			</li>
+			<li><span class="label label-info">Moved</span> The 
+				<code>org.eclipse.sirius.common.tools.api.util.LazyCrossReferencer.enableResolve()</code>  and 
+				<code>disableResolve()</code>  methods has been moved to 
+				<code>SiriusCrossReferenceAdapter.enableResolveProxy()</code>  and 
+				<code>disableResolveProxy()</code>.
+			</li>
+			<li><span class="label label-info">Modified</span> The static method 
+				<code>org.eclipse.sirius.common.tools.api.interpreter.DefaultInterpreterContextFactory.createInterpreterContext(...)</code> now requires a 
+				<code>Map&lt;String, VariableType&gt;</code> for the accessible variables instead of a 
+				<code>Map&lt;String, String&gt;</code>.
+			</li>
+			<li><span class="label label-info">Modified</span> The methods 
+				<code>org.eclipse.sirius.common.tools.api.interpreter.IInterpreterContext.getVariables()</code>  and 
+				<code>org.eclipse.sirius.business.api.dialect.description.IInterpretedExpressionQuery.getAvailableVariables()</code> are now returning a map containing 
+				<code>VariableType</code> instances instead of encoded Strings.
+			</li>
+			<li><span class="label label-info">Modified</span> The method 
+				<code>org.eclipse.sirius.common.tools.api.interpreter.IInterpreterStatus.getTargetTypes()</code> no longer returns a list of encoded Strings but a 
+				<code>VariableType</code> instance instead.
+			</li>
+			<li><span class="label label-warning">Deprecated</span> The method 
+				<code>org.eclipse.sirius.common.tools.api.interpreter.IInterpreterContext.getTargetTypes()</code> has been deprecated in favor of 
+				<code>org.eclipse.sirius.common.tools.api.interpreter.IInterpreterContext.getTargetType()</code> which returns a 
+				<code>VariableType</code> instance instead of encoded Strings.
+			</li>
+		</ul>
+		<h4 id="Changesinorg.eclipse.sirius.common.ui2">Changes in 
+			<code>org.eclipse.sirius.common.ui</code>
+		</h4>
+		<ul>
+			<li><span class="label label-success">Added</span> Classes from 
+				<code>org.eclipse.sirius.common.ui.tools.api.dialog.quickoutline</code> packages are available in API to allow editor to provide quick outline feature easily.
+			</li>
+			<li><span class="label label-success">Added</span> The methods 
+				<code>displaySyncExec(Runnable)</code> , 
+				<code>displayAsyncExec(Runnable)</code> and 
+				<code>synchronizeWithUIThread()</code> have been added in class 
+				<code>org.eclipse.sirius.common.ui.tools.api.util.EclipseUIUtil</code> to encapsulate accesses to the current 
+				<code>Display</code> instance.
+			</li>
+			<li><span class="label label-info">Moved</span> Extensions in 
+				<code>plugin.xml</code> that provide UI functionalities have been moved to 
+				<code>org.eclipse.sirius.common.ui.ext</code>.
+			</li>
+		</ul>
+		<h4 id="Changesinorg.eclipse.sirius7">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.session.danalysis.DAnalysisSessionHelper.findContainerForAddedRepresentation(DAnalysis, DRepresentation)</code> has been added to return a 
+				<code>DRepresentationContainer</code> from the 
+				<code>DAnalysis</code> parameter and the added 
+				<code>DRepresentation</code>.
+			</li>
+			<li><span class="label label-success">Added</span> The method 
+				<code>org.eclipse.sirius.business.api.migration.IMigrationParticipant.updateCreatedObject(EObject newObject, String loadedVersion)</code> has been added to update object values in VSM before loading this objects from XML file.
+			</li>
+			<li><span class="label label-success">Added</span> The method 
+				<code>org.eclipse.sirius.tools.api.ui.RefreshEditorsPrecommitListener.disable()</code> has been added to disable the next refresh attempt in the current precommit loop iteration.
+			</li>
+			<li><span class="label label-success">Added</span> The new constant 
+				<code>org.eclipse.sirius.business.api.helper.SiriusUtil.ENVIRONMENT_URI_SCHEME</code> declares environment URI scheme.
+			</li>
+			<li><span class="label label-success">Added</span> The new constant 
+				<code>org.eclipse.sirius.business.api.helper.SiriusUtil.VIEWPOINT_ENVIRONMENT_RESOURCE_URI</code> declares 
+				<code>environment:/viewpoint</code> resource URI.
+			</li>
+			<li><span class="label label-success">Added</span> The new constant 
+				<code>org.eclipse.sirius.viewpoint.description.util.DescriptionResourceImpl.OPTION_SIRIUS_USE_URI_FRAGMENT_AS_ID</code> added to define a option to enable the use of a id map for odesign resource, id being uri&#8217;s fragment. 
+			</li>
+			<li><span class="label label-success">Added</span> The query 
+				<code>org.eclipse.sirius.business.api.query.EObjectQuery</code> has now a new constructor with an additional parameter, ECrossReferenceAdapter. This can be usefull if there is many calls to inverse references methods for the same Session. This avoids to get the semantic cross referencer from the EObject each time. This query also proposes a new method 
+				<code>getInverseReferences(Set&lt;EReference&gt;)</code>.
+			</li>
+			<li><span class="label label-success">Added</span> There is a new capability on Dialect. This capability is to refresh only impacted elements concerned by a list of notifications. It is used, for example, to refresh the opened representations when the user chooses manual refresh mode. Each dialect that want to offer this capability must implement 
+				<code>org.eclipse.sirius.business.api.dialect.DialectServices.refreshImpactedElements(DRepresentation, Collection&lt;Notification&gt;, IProgressMonitor)</code>. A default implementation that does nothing is done in 
+				<code>org.eclipse.sirius.business.api.dialect.AbstractRepresentationDialectServices</code>.
+			</li>
+			<li><span class="label label-success">Added</span> A new method has been added in the query 
+				<code>org.eclipse.sirius.business.api.query.DAnalysisQuery</code> named 
+				<code>getMainModels()</code>. This method returns a Set of the main model and the other non controlled models.
+			</li>
+			<li><span class="label label-success">Added</span> A new method has been added in 
+				<code>org.eclipse.sirius.viewpoint.DAnalysis</code> named 
+				<code>getSemanticResources()</code>. This method returns a list of 
+				<code>org.eclipse.sirius.business.api.resource.ResourceDescriptor</code> which is a descriptor of the semantic resource.
+			</li>
+			<li><span class="label label-info">Modified</span> 
+				<code>org.eclipse.sirius.viewpoint.RGBValues</code> has been changed from an 
+				<code>EClass</code> to an 
+				<code>EDataType</code>, it is not an 
+				<code>EObject</code> anymore.
+			</li>
+			<li><span class="label label-success">Added</span> The API 
+				<code>org.eclipse.sirius.business.api.metamodel.helper.FontFormatHelper</code> has been added. It helps to update label format multi valued features.
+			</li>
+			<li><span class="label label-info">Modified</span> 
+				<code>org.eclipse.sirius.business.api.session.SessionListener.SEMANTIC_CHANGE</code> is no more send to 
+				<code>SessionListener</code> and 
+				<code>SessionManagerListener</code> listeners on save when a semantic resource is saved. Use a 
+				<code>ResourceSyncClient</code> listener on 
+				<code>ResourceSetSync</code> to have know if a semantic resource is saved.
+			</li>
+			<li><span class="label label-info">Modified</span> The default constructor has been changed in 
+				<code>org.eclipse.sirius.tools.api.command.semantic.RemoveSemanticResourceCommand</code>.
+				<ul>
+					<li>The boolean value 
+						<code>removeReferencingResources</code> has been added to indicate if the referencing resources are also to remove.
+					</li>
+					<li>The boolean value 
+						<code>removeFromControlledResources</code> has been removed because controlled resources are managed internally.
+					</li>
+				</ul>
+			</li>
+			<li><span class="label label-info">Modified</span> The boolean value 
+				<code>removeReferencingResources</code> has been added in 
+				<code>org.eclipse.sirius.business.api.session.Session.removeSemanticResource</code> method to indicate if the referencing resources are also to remove.
+			</li>
+			<li><span class="label label-info">Modified</span> The 
+				<code>getModels()</code> method in 
+				<code>org.eclipse.sirius.viewpoint.DAnalysis</code> returns a non-modifiable list. Use 
+				<code>getSemanticResources()</code> instead.
+			</li>
+			<li><span class="label label-info">Moved</span> The 
+				<code>isBbocked()</code> and 
+				<code>setBlocked()</code> methods on the 
+				<code>org.eclipse.sirius.viewpoint.DAnalysisSessionEObject</code> EClass have been removed, as they were not actually used in the internal code.
+			</li>
+			<li><span class="label label-warning">Deprecated</span> 
+				<code>org.eclipse.sirius.business.api.helper.task.ICommandTask.undo()/redo()</code> methods are deprecated because they are useless since undo/redo is managed by EMF Transaction.
+			</li>
+			<li><span class="label label-warning">Deprecated</span> 
+				<code>org.eclipse.sirius.tools.api.command.IUndoableCommand</code> interface are deprecated because it is useless since undo/redo is managed by EMF Transaction.
+			</li>
+			<li><span class="label label-warning">Deprecated</span> 
+				<code>org.eclipse.sirius.business.api.helper.task.TaskExecutor.undo()/redo()</code> methods are deprecated because they are useless since undo/redo is managed by EMF Transaction.
+			</li>
+			<li><span class="label label-danger">Removed</span> The 
+				<code>org.eclipse.sirius.business.api.session.Session.createSemanticResource()</code> method has been removed. Use 
+				<code>Session.addSemanticResource()</code> instead.
+			</li>
+			<li><span class="label label-danger">Removed</span> The 
+				<code>ExtendedPackage</code> 
+				<code>EDataType</code> which was defined in the 
+				<code>http://www.eclipse.org/sirius/1.1.0</code> package was not actually used anywhere and has been removed.
+			</li>
+			<li><span class="label label-danger">Removed</span> The 
+				<code>DView</code> methods 
+				<code>getAllRepresentations()</code>, 
+				<code>getReferencedRepresentations()</code> and 
+				<code>getHiddenRepresentations()</code> have been removed: 
+				<code>getReferencedRepresentations()</code> and 
+				<code>getHiddenRepresentations()</code>  were never actually used, making 
+				<code>getAllRepresentations()</code> strictly equivalent to 
+				<code>getOwnedRepresentations()</code>. Code that used 
+				<code>getAllRepresentations()</code> can simply use 
+				<code>getOwnedRepresentations()</code> instead. 
+			</li>
+			<li><span class="label label-danger">Removed</span> The API 
+				<code>org.eclipse.sirius.viewpoint.DSourceFileLink</code> has been removed.
+			</li>
+			<li><span class="label label-danger">Removed</span> The API 
+				<code>org.eclipse.sirius.viewpoint.DNavigable</code> has been removed.
+			</li>
+			<li><span class="label label-danger">Removed</span> The API 
+				<code>org.eclipse.sirius.viewpoint.DNavigationLink</code> has been removed.
+			</li>
+			<li><span class="label label-danger">Removed</span> The API 
+				<code>org.eclipse.sirius.viewpoint.DValidable</code> has been removed.
+			</li>
+			<li><span class="label label-danger">Removed</span> The enum 
+				<code>org.eclipse.sirius.viewpoint.NavigationTargetType</code> has been removed.
+			</li>
+			<li><span class="label label-danger">Removed</span> The API 
+				<code>org.eclipse.sirius.viewpoint.DLabelled</code> has been removed.
+			</li>
+			<li><span class="label label-danger">Removed</span> The API 
+				<code>org.eclipse.sirius.viewpoint.DContainer</code> has been removed.
+			</li>
+		</ul>
+		<h4 id="Changesinorg.eclipse.sirius.ui8">Changes in 
+			<code>org.eclipse.sirius.ui</code>
+		</h4>
+		<ul>
+			<li><span class="label label-success">Added</span> The method 
+				<code>org.eclipse.sirius.ui.business.api.dialect.DialectUIServices.completeToolTipText(String, EObject, EStructuralFeature)</code> has been added to customize the tooltip displayed in the VSM editor by using the feature of the current object. The old method 
+				<code>org.eclipse.sirius.ui.business.api.dialect.DialectUIServices.completeToolTipText(String, EObject)</code> has been deprecated.
+			</li>
+			<li><span class="label label-success">Added</span> The class 
+				<code>org.eclipse.sirius.ui.tools.api.properties.SiriusExtensiblePropertySource</code> has been added. It allows developers to make their properties views CellEditor customizable by using the new extension point 
+				<code>org.eclipse.sirius.ui.siriuspropertiescelleditor</code>
+			</li>
+			<li><span class="label label-success">Added</span> The interface 
+				<code>org.eclipse.sirius.ext.emf.ui.ICellEditorProvider</code> has been added to allow clients to provide their own 
+				<code>CellEditor</code> - in the Sirius semantic properties views &#8211; through the new extension point 
+				<code>org.eclipse.sirius.ui.siriuspropertiescelleditor</code>.
+			</li>
+			<li><span class="label label-success">Added</span> The method 
+				<code>org.eclipse.sirius.ui.business.api.session.IEditingSession.detachEditor(DialectEditor, boolean)</code> has been added to choose whether we should revert the user changes when detaching the editor.
+			</li>
+			<li><span class="label label-success">Added</span> A 
+				<code>org.eclipse.sirius.ui.tools.api.views.LockDecorationUpdater</code> is now available to add it on a 
+				<code>org.eclipse.ui.navigator.CommonNavigator</code> to be refreshed when notifications are send to 
+				<code>org.eclipse.sirius.ecore.extender.business.api.permission.IAuthorityListener</code>. 
+			</li>
+			<li><span class="label label-success">Added</span> A new job 
+				<code>org.eclipse.sirius.ui.tools.api.views.RefreshLabelImageJob</code> has been added to refresh the icon of specified elements on a 
+				<code>org.eclipse.ui.navigator.CommonNavigator</code>.
+			</li>
+			<li><span class="label label-info">Moved</span> Extensions in 
+				<code>plugin.xml</code> that provide UI functionalities have been moved to 
+				<code>org.eclipse.sirius.ui.ext</code>.
+			</li>
+		</ul>
+		<h4 id="Changesinorg.eclipse.sirius.ecore.extender2">Changes in 
+			<code>org.eclipse.sirius.ecore.extender</code>
+		</h4>
+		<ul>
+			<li><span class="label label-info">Modified</span> The method 
+				<code>org.eclipse.sirius.ecore.extender.business.api.accessor.ModelAccessor.eRemoveInverseCrossReferences()</code> has been changed to return the list of changed objects by the inverse cross references removal.
+			</li>
+			<li><span class="label label-info">Modified</span> The method 
+				<code>org.eclipse.sirius.ecore.extender.business.api.accessor.IMetamodelExtender.eRemoveInverseCrossReferences()</code> has been changed to return the list of changed objects by the inverse cross references removal.
+			</li>
+			<li><span class="label label-info">Modified</span> The method 
+				<code>org.eclipse.sirius.ecore.extender.business.api.accessor.CompositeMetamodelExtender.eRemoveInverseCrossReferences()</code> has been changed to return the list of changed objects by the inverse cross references removal.
+			</li>
+			<li><span class="label label-danger">Removed</span> The exception 
+				<code>org.eclipse.sirius.ecore.extender.IllegalURIException</code> has been removed. It was not actually thrown anywhere in the code.
+			</li>
+		</ul>
+		<h4 id="Changesinorg.eclipse.sirius.editor2">Changes in 
+			<code>org.eclipse.sirius.editor</code>
+		</h4>
+		<ul>
+			<li><span class="label label-success">Added</span> The static method 
+				<code>org.eclipse.sirius.editor.tools.api.assist.TypeContentProposalProvider.bindPluginsCompletionProcessors(AbstractPropertySection, Text)</code> has been added. This method is very similar to 
+				<code>org.eclipse.sirius.editor.tools.api.assist.TypeContentProposalProvider.bindCompletionProcessor(AbstractPropertySection, Text)</code>, the difference is that it binds the completion processors available in plugins to the text.
+			</li>
+		</ul>
+		<h4 id="Changesinorg.eclipse.sirius.diagram5">Changes in 
+			<code>org.eclipse.sirius.diagram</code>
+		</h4>
+		<ul>
+			<li><span class="label label-success">Added</span> The 
+				<code>org.eclipse.sirius.diagram.tools.api.command.ChangeLayerActivationCommand</code> has been added. This command was previously internal.
+			</li>
+			<li><span class="label label-success">Added</span> The new constant 
+				<code>org.eclipse.sirius.diagram.business.api.helper.SiriusDiagramUtil.DIAGRAM_ENVIRONMENT_RESOURCE_URI</code> declares the 
+				<code>environment:/diagram</code> resource URI.
+			</li>
+			<li><span class="label label-success">Added</span> The method 
+				<code>org.eclipse.sirius.diagram.business.api.diagramtype.IDiagramDescriptionProvider.completeToolTipText(String, EObject, EStructuralFeature)</code> has been added to customize the tooltip displayed in the VSM editor by using the feature of the current object. The old method 
+				<code>org.eclipse.sirius.diagram.business.api.diagramtype.IDiagramDescriptionProvider.completeToolTipText(String, EObject)</code> has been deprecated.
+			</li>
+			<li><span class="label label-success">Added</span> New methods have been added to 
+				<code>org.eclipse.sirius.diagram.business.api.query.ContainerMappingQuery</code> to test the children presentation mode of the current 
+				<code>ContainerMapping</code>: 
+				<code>isVerticalStackContainer()</code>, 
+				<code>isHorizontalStackContainer()</code>, 
+				<code>isRegionContainer()</code> and 
+				<code>isRegion()</code>.
+			</li>
+			<li>
+				<code>org.eclipse.sirius.diagram.business.api.query.AbstractDNodeQuery</code> now requires a 
+				<code>org.eclipse.sirius.common.tools.api.util.RefreshIdsHolder</code> to check for equality in the context of a refresh operation.
+			</li>
+			<li><span class="label label-danger">Removed</span> The 
+				<code>DNodeList.lineWidth</code> attribute has been removed from the metamodel, the corresponding generated elements do not exist anymore:  
+				<code>org.eclipse.sirius.diagram.DNodeList.getLineWidth()</code>,  
+				<code>org.eclipse.sirius.diagram.DNodeList.setLineWidth()</code>,  
+				<code>org.eclipse.sirius.diagram.DiagramPackage.DNODE_LIST__LINE_WIDTH</code>, 
+				<code>org.eclipse.sirius.diagram.DiagramPackage.getDNodeList_LineWidth()</code>, 
+				<code>org.eclipse.sirius.diagram.DiagramPackage.Literals.DNODE_LIST__LINE_WIDTH()</code>.
+			</li>
+			<li><span class="label label-danger">Removed</span> 
+				<code>org.eclipse.sirius.diagram.ComputedStyleDescriptionRegistry.cache</code> reference has been removed from the metamodel as it is no more useful, to limit memory consumed by computed 
+				<code>StyleDescription</code> we directly look for them in the 
+				<code>ComputedStyleDescriptionRegistry.computedStyleDescriptions</code> list.
+			</li>
+		</ul>
+		<h4 id="Changesinorg.eclipse.sirius.diagram.ui7">Changes in 
+			<code>org.eclipse.sirius.diagram.ui</code>
+		</h4>
+		<ul>
+			<li><span class="label label-success">Added</span> <span class="label label-info">Modified</span>  The 
+				<code>org.eclipse.sirius.diagram.ui.tools.api.figure.ImageFigureWithAlpha</code> interface has been added to identify Figures having the capability to return an alpha value from a coordinate. 
+				<code>org.eclipse.sirius.diagram.ui.tools.api.figure.AbstractCachedSVGFigure</code> and 
+				<code>org.eclipse.sirius.diagram.ui.tools.api.figure.AbstractTransparentImage</code>  now implement this new interface.
+			</li>
+			<li><span class="label label-success">Added</span> The method 
+				<code>org.eclipse.sirius.diagram.ui.tools.api.figure.locator.DBorderItemLocator.resetBorderItemMovedState()</code> has been added to allow to reset the state of 
+				<code>borderItemHasMoved</code>. This method must be used carefully only in case where 
+				<code>setConstraint(Rectangle)</code> is called to compute temporary a 
+				<code>getValidLocation(Rectangle, IFigure, Collection, List)</code>, one time with a new value and just after with the old value.
+			</li>
+			<li><span class="label label-success">Added</span> The constant 
+				<code>org.eclipse.sirius.diagram.ui.tools.api.image.DiagramImagesPath.HIDDEN_LABEL_DECORATOR</code> has been added to represent the path of hidden label decorator used in the outline.
+			</li>
+			<li><span class="label label-success">Added</span> The class 
+				<code>org.eclipse.sirius.diagram.ui.business.api.provider.DDiagramElementContainerLabelItemProvider</code> has been added to represent container and list labels as virtual nodes in the Show/Hide wizards.
+			</li>
+			<li><span class="label label-info">Modified</span> The 
+				<code>org.eclipse.sirius.diagram.ui.tools.api.figure.locator.DBorderItemLocator</code> did not take into account the rectangle size passed to 
+				<code>getValidLocation</code>. To resolve that limitation, several protected methods that took a Point as location now take a Rectangle:
+				<ul>
+					<li>
+						<code>locateOnBorder(Point, int, int, IFigure, Collection&lt;IFigure&gt;, List&lt;IFigure&gt;)</code> now takes a 
+						<code>Rectangle</code> instead a 
+						<code>Point</code>: 
+						<code>locateOnBorder(Rectangle, int, int, IFigure, Collection&lt;IFigure&gt;, List&lt;IFigure&gt;)</code>;
+					</li>
+					<li>
+						<code>locateOnSouthBorder</code>, 
+						<code>locateOnNorthBorder</code>, 
+						<code>locateOnWestBorder</code> and 
+						<code>locateOnEastBorder</code> signatures is now 
+						<code>(Rectangle, int, IFigure, Collection&lt;IFigure&gt;, List&lt;IFigure&gt;)</code>;
+					</li>
+					<li>
+						<code>locateOnParent</code> signature is now 
+						<code>locateOnParent(Rectangle, int, IFigure)</code>;
+					</li>
+					<li>
+						<code>conflicts</code> signature is now 
+						<code>conflicts(Rectangle, IFigure, Collection&lt;IFigure&gt;, List&lt;IFigure&gt;)</code>.
+					</li>
+				</ul>
+			</li>
+			<li><span class="label label-info">Moved</span> The constant 
+				<code>DiagramImagesPath.LINK_TO_VIEWPOINT_IMG</code> has been moved to 
+				<code>org.eclipse.sirius.ui.tools.api.image.ImagesPath.LINK_TO_VIEWPOINT_IMG</code>. This is more coherent because the corresponding image is in core 
+				<code>org.eclipse.sirius.common.ui</code> plugin.
+			</li>
+			<li><span class="label label-info">Moved</span> 
+				<code>org.eclipse.sirius.diagram.ui.tools.api.layout.PinHelper</code> moved from 
+				<code>org.eclipse.sirius.diagram.ui</code> plugin to 
+				<code>org.eclipse.sirius.diagram</code> plugin, i.e. 
+				<code>org.eclipse.sirius.diagram.tools.api.layout.PinHelper</code> with 
+				<code>PinHelper.IsPinned(IDiagramElementEditPart)</code> removed in favor of 
+				<code>PinHelper.IsPinned(DDiagramElement)</code>.
+			</li>
+			<li><span class="label label-info">Moved</span> External java actions declared as 
+				<code>org.eclipse.sirius.diagram.ui.tools.internal.actions.pinning.pinElementsActionId</code> and 
+				<code>org.eclipse.sirius.diagram.ui.tools.internal.actions.pinning.unpinElementsActionId</code> are now declared as 
+				<code>org.eclipse.sirius.diagram.tools.internal.actions.pinning.pinElementsActionId</code> and 
+				<code>org.eclipse.sirius.diagram.tools.internal.actions.pinning.unpinElementsActionId</code> in 
+				<code>org.eclipse.sirius.diagram</code> plugin.
+			</li>
+			<li><span class="label label-info">Moved</span> Extensions in 
+				<code>plugin.xml</code> that provides UI functionalities have been moved to 
+				<code>org.eclipse.sirius.diagram.ui.ext</code>.
+			</li>
+			<li><span class="label label-warning">Deprecated</span> 
+				<code>org.eclipse.sirius.diagram.ui.tools.api.util.GMFNotationHelper.findGMFDiagram()</code> became deprecated in favor of 
+				<code>DiagramCreationUtil.findAssociatedGMFDiagram()/getAssociatedGMFDiagram()</code>
+			</li>
+			<li><span class="label label-danger">Removed</span> The 
+				<code>org.eclipse.sirius.diagram.ui.edit.api.part.IDiagramEdgeEditPart.getEAdapterStrokeColor</code> method has been removed as the corresponding adapter was uneffective and is no more used and installed on the edge edit parts.
+			</li>
+			<li><span class="label label-danger">Removed</span> 
+				<code>org.eclipse.sirius.diagram.ui.tools.api.figure.InvisibleResizableCompartmentFigure</code> class has been removed, use a 
+				<code>org.eclipse.gmf.runtime.diagram.ui.figures.ShapeCompartmentFigure</code> with a 
+				<code>org.eclipse.draw2d.MarginBorder</code> or a null border instead.
+			</li>
+			<li><span class="label label-danger">Removed</span>  The method 
+				<code>org.eclipse.sirius.diagram.ui.edit.api.part.IDiagramElementEditPart.getEAdapterSemanticElements()</code> has been removed (and all its implementations). For manual refresh, this adapter has been replaced with the 
+				<code>RefreshEditorsPrecommitListener</code>.
+			</li>
+			<li><span class="label label-danger">Removed</span>   The method 
+				<code>org.eclipse.sirius.diagram.ui.part.SiriusDiagramEditorUtil.findView()</code> has been deleted in flavor of 
+				<code>SiriusGMFHelper.getGmfView()</code>. If you was using 
+				<code>SiriusDiagramEditorUtil.findView()</code> with a semantic element in parameter, retrieve before the corresponding 
+				<code>DDiagram</code> or 
+				<code>DDiagramElement</code> and use 
+				<code>SiriusGMFHelper.getGmfView(DSemanticDecorator)</code> from this last to get the corresponding GMF View. To get a 
+				<code>DDiagram</code> or 
+				<code>DDiagramElement</code> from a semantic element, you can use 
+				<code>EObjectQuery.getInverseReferences(EReference)</code> API, see 
+				<code>org.eclipse.sirius.diagram.ui.business.api.view.ValidateAction.getDSemanticDecorator()</code> for an example. 
+			</li>
+		</ul>
+		<h4 id="Changesinorg.eclipse.sirius.table2">Changes in 
+			<code>org.eclipse.sirius.table</code>
+		</h4>
+		<ul>
+			<li><span class="label label-danger">Removed</span> The methods 
+				<code>org.eclipse.sirius.table.business.api.helper.TableHelper.getColumn()</code> have been removed because they are not useful, 
+				<code>TableHelper.getColumn(DLine, int)</code> can be replaced by 
+				<code>DTable.getColumns().get(int)</code> and 
+				<code>TableHelper.getColumn(DTable, String)</code> should not be used as we can have several columns with a same featureName.
+			</li>
+			<li><span class="label label-danger">Removed</span> The method 
+				<code>org.eclipse.sirius.table.business.api.helper.TableHelper.getEClassifier(DLine, int)</code> has been removed because it is not useful, use 
+				<code>TableHelper.getEClassifier(line, column)</code> instead.
+			</li>
+			<li><span class="label label-danger">Removed</span> The method 
+				<code>org.eclipse.sirius.table.business.api.helper.TableHelper.getTableElement(DTableElementStyle)</code> has been removed because it is not useful, 
+				<code>DTableElementStyle.eContainer()</code> can be used instead.
+			</li>
+			<li><span class="label label-danger">Removed</span> The methods 
+				<code>org.eclipse.sirius.table.business.api.helper.TableHelper.getCell(DCellStyle)</code> has been removed because they are not useful, use 
+				<code>DCellStyle.eContainer</code> instead.
+			</li>
+			<li><span class="label label-danger">Removed</span> The methods 
+				<code>org.eclipse.sirius.table.business.api.helper.TableHelper.getCell(RGBValues)</code> has been removed, 
+				<code>RGBValues</code> is not an 
+				<code>EObject</code> anymore. The method was looking in the eContainer hierarchy of a an instance of 
+				<code>RGBValues</code> to find the parent 
+				<code>DCell</code>.
+			</li>
+			<li><span class="label label-danger">Removed</span> The method 
+				<code>org.eclipse.sirius.table.business.api.helper.TableHelper.getCreateCellTool(DCell)</code> has been removed because it is not useful, use 
+				<code>TableHelper.getCreateCellTool(line, column)</code> instead.
+			</li>
+			<li><span class="label label-danger">Removed</span> The method 
+				<code>org.eclipse.sirius.table.business.api.helper.TableHelper.getCellDefaultForegroundColor()</code> has been removed because it is not useful, use 
+				<code>EnvironmentSystemColorFactory.getDefault().getSystemColorDescription("gray")</code> instead.
+			</li>
+			<li><span class="label label-danger">Removed</span> The interface 
+				<code>DTableElementUpdater</code> has been removed from metamodel. It is now unnecessary. This interface was here to provide operations to activate and deactivate the listeners, that have been replaced by the 
+				<code>RefreshImpactedElementsCommand</code> launched from 
+				<code>RefreshEditorsPrecommitListener</code>.
+			</li>
+		</ul>
+		<h4 id="Changesinorg.eclipse.sirius.table.ui">Changes in 
+			<code>org.eclipse.sirius.table.ui</code>
+		</h4>
+		<ul>
+			<li><span class="label label-info">Moved</span> Extensions in 
+				<code>plugin.xml</code> that provide UI functionalities have been moved to 
+				<code>org.eclipse.sirius.table.ui.ext</code>.
+			</li>
+		</ul>
+		<h4 id="Changesinorg.eclipse.sirius.tree">Changes in 
+			<code>org.eclipse.sirius.tree</code>
+		</h4>
+		<ul>
+			<li><span class="label label-success">Added</span> The method 
+				<code>org.eclipse.sirius.tree.business.api.interaction.DTreeItemUserInteraction.refreshContent(boolean fullRefresh)</code> has been added to allow full refresh from a specified 
+				<code>DTreeItem</code>.
+			</li>
+			<li><span class="label label-success">Added</span> The EMF Command 
+				<code>org.eclipse.sirius.tree.business.api.command.DTreeItemLocalRefreshCommand</code> has been added to call 
+				<code>DTreeItemUserInteraction.refreshContent(boolean fullRefresh)</code> in an EMF Command. 
+			</li>
+			<li><span class="label label-success">Added</span> The method 
+				<code>org.eclipse.sirius.tree.business.api.interaction.DTreeItemUserInteraction.expand(IProgressMonitor)</code> has been added similar to 
+				<code>DTreeItemUserInteraction.expand()</code> but taking a 
+				<code>IProgressMonitor</code> in parameter to have progression on 
+				<code>DTreeItem</code> expanding.
+			</li>
+			<li><span class="label label-success">Added</span> The method 
+				<code>org.eclipse.sirius.tree.business.api.interaction.DTreeItemUserInteraction.collapse(IProgressMonitor)</code> has been added similar to 
+				<code>DTreeItemUserInteraction.collapse()</code> but taking a 
+				<code>IProgressMonitor</code> in parameter to have progression on 
+				<code>DTreeItem</code> collapsing.
+			</li>
+			<li><span class="label label-success">Added</span> The method 
+				<code>org.eclipse.sirius.tree.business.api.interaction.DTreeItemUserInteraction.expandAll(IProgressMonitor)</code> has been added similar to 
+				<code>DTreeItemUserInteraction.expandAll()</code> but taking a 
+				<code>IProgressMonitor</code> in parameter to have progression on 
+				<code>DTreeItem</code> expanding.
+			</li>
+			<li><span class="label label-success">Added</span> The method 
+				<code>org.eclipse.sirius.tree.business.api.interaction.DTreeItemUserInteraction.refreshContent(boolean, IProgressMonitor)</code> has been added similar to 
+				<code>DTreeItemUserInteraction.refreshContent(boolean)</code> but taking a 
+				<code>IProgressMonitor</code> in parameter to have progression on 
+				<code>DTreeItem</code> expanding.
+			</li>
+			<li><span class="label label-success">Added</span> The method 
+				<code>DTreeUserInteraction.expand(IProgressMonitor)</code> has been added similar to 
+				<code>org.eclipse.sirius.tree.business.api.interaction.DTreeUserInteraction.expand()</code> but taking a 
+				<code>IProgressMonitor</code> in parameter to have progression on 
+				<code>DTreeItem</code> expanding.
+			</li>
+			<li><span class="label label-success">Added</span> The method 
+				<code>DTreeUserInteraction.expandAll(IProgressMonitor)</code> has been added similar to 
+				<code>org.eclipse.sirius.tree.business.api.interaction.DTreeUserInteraction.expandAll()</code> but taking a 
+				<code>IProgressMonitor</code> in parameter to have progression on 
+				<code>DTreeItem</code> expanding.
+			</li>
+			<li><span class="label label-info">Modified</span> The constructor 
+				<code>org.eclipse.sirius.tree.business.api.command.DTreeItemExpansionChangeCommand.DTreeItemExpansionChangeCommand(GlobalContext, TransactionalEditingDomain, DTreeItem, IProgressMonitor, boolean)</code> has an additional 
+				<code>IProgressMonitor</code> parameter.
+			</li>
+			<li><span class="label label-danger">Removed</span> The interface 
+				<code>DTreeElementUpdater</code> has been removed from metamodel. It is now unnecessary. This interface was here to provide operations to activate and deactivate the listeners, that have been replaced by the 
+				<code>RefreshImpactedElementsCommand</code> launched from 
+				<code>RefreshEditorsPrecommitListener</code>.
+			</li>
+		</ul>
+		<h4 id="Changesinorg.eclipse.sirius.tree.ui2">Changes in 
+			<code>org.eclipse.sirius.tree.ui</code>
+		</h4>
+		<ul>
+			<li><span class="label label-info">Modified</span> The method 
+				<code>org.eclipse.sirius.tree.ui.properties.section.common.AbstractDTreePropertySection.update(final TransactionalEditingDomain domain, final Notification notification)</code> has been replaced by 
+				<code>org.eclipse.sirius.tree.ui.properties.section.common.AbstractDTreePropertySection.update(ResourceSetChangeEvent)</code> to allow to update only once per ResourceSetChangeEvent and let subclasses make additional filtering on the notifications.
+			</li>
+			<li><span class="label label-info">Modified</span> The return type of the method 
+				<code>org.eclipse.sirius.tree.ui.properties.section.common.AbstractDTreePropertySection.getEventListener()</code> has been changed from 
+				<code>DemultiplexingListener</code> to 
+				<code>ResourceSetListener</code>.
+			</li>
+			<li><span class="label label-info">Modified</span> The type of 
+				<code>org.eclipse.sirius.tree.ui.properties.section.common.AbstractDTreePropertySection.eventListener</code> has been changed from 
+				<code>DemultiplexingListener</code> to 
+				<code>ResourceSetListener</code>.
+			</li>
+			<li><span class="label label-info">Moved</span> Extensions in 
+				<code>plugin.xml</code> that provide UI functionalities have been moved to 
+				<code>org.eclipse.sirius.tree.ui.ext</code>.
+			</li>
+		</ul>
+		<h4 id="Changesinorg.eclipse.sirius.synchronizer2">Changes in 
+			<code>org.eclipse.sirius.synchronizer</code>
+		</h4>
+		<ul>
+			<li><span class="label label-success">Added</span>  The method 
+				<code>org.eclipse.sirius.synchronizer.ModelToModelSynchronizer.update(CreatedOutput, boolean, IProgressMonitor)</code> has been added similar to 
+				<code>org.eclipse.sirius.synchronizer.ModelToModelSynchronizer.update(CreatedOutput, boolean)</code> but taking a 
+				<code>IProgressMonitor</code> in parameter to have progression on synchronization.
+			</li>
+			<li><span class="label label-info">Modified</span> The method 
+				<code>org.eclipse.sirius.synchronizer.SemanticPartitionInvalidator.hasFastResult(EObject, SemanticPartition, CreatedOutput)</code> now takes a 
+				<code>CreatedOutput</code> as additional parameter element to allow to have the parent output element.
+			</li>
+			<li><span class="label label-info">Modified</span> The method 
+				<code>org.eclipse.sirius.synchronizer.SemanticPartition.evaluate(EObject, CreatedOutput)</code> now takes a 
+				<code>CreatedOutput</code> as additional parameter. This 
+				<code>CreatedOutput</code> represents the output model element which will become the parent of the elements created from the evaluation result.
+			</li>
+		</ul>
+		<h4 id="Changesinorg.eclipse.sirius.ext.swt">Changes in 
+			<code>org.eclipse.sirius.ext.swt</code>
+		</h4>
+		<ul>
+			<li><span class="label label-info">Moved</span> The 
+				<code>org.eclipse.sirius.ext.swt.ImageFileFormat</code> class has been moved in 
+				<code>org.eclipse.sirius.common.tools.api.resource</code> (in the 
+				<code>org.eclipse.sirius.common</code> plugin).
+			</li>
+		</ul>
+		<h4 id="Changesinorg.eclipse.sirius.ext.e3.ui">Changes in 
+			<code>org.eclipse.sirius.ext.e3.ui</code>
+		</h4>
+		<ul>
+			<li><span class="label label-success">Added</span> The classes 
+				<code>org.eclipse.sirius.ext.e3.ui.dialogs.FilteredTree</code> and 
+				<code>org.eclipse.sirius.ext.e3.ui.dialogs.PatternFilter</code> have been added in order to have the latest functionalites of 
+				<code>org.eclipse.ui.dialogs.FilteredTree</code> with Eclipse Juno.
+			</li>
+		</ul>
+		<h4 id="Changesinorg.eclipse.sirius.ext.emf.tx">Changes in 
+			<code>org.eclipse.sirius.ext.emf.tx</code>
+		</h4>
+		<ul>
+			<li><span class="label label-success">Added</span> The class 
+				<code>org.eclipse.sirius.ext.emf.tx.DelegatingValidateEditSupport</code> has been added to be able to have a 
+				<code>ValidateEditSupport</code> which delegate to an existing 
+				<code>ValidateEditSupport</code>.
+			</li>
+		</ul>
+		<h4 id="Changesinorg.eclipse.sirius.eef.adapters">Changes in 
+			<code>org.eclipse.sirius.eef.adapters</code>
+		</h4>
+		<p>This plug-in now requires the version 1.5.0 of 
+			<code>org.eclipse.emf.eef.runtime</code> bundle.
+		</p>
+		<ul>
+			<li><span class="label label-success">Added</span>  The new class 
+				<code>org.eclipse.sirius.eef.components.SiriusAwarePropertiesEditingComponent</code> can be used as root class of the generated EEF components to greatly improve performances when using both EEF properties views with Sirius representations. Refer to 
+				<em>Using the Extended Editing Framework with Sirius</em> documentation for details.
+			</li>
+			<li><span class="label label-info">Modified</span>The following packages are set to 
+				<code>x-internal:=true</code>
+				<ul>
+					<li>
+						<code>org.eclipse.sirius.eef.actions</code>
+					</li>
+					<li>
+						<code>org.eclipse.sirius.eef.adapters</code>
+					</li>
+				</ul>
+			</li>
+		</ul>
+		<h4 id="Changesinorg.eclipse.sirius.tests.junit.support6">Changes in 
+			<code>org.eclipse.sirius.tests.junit.support</code>
+		</h4>
+		<ul>
+			<li><span class="label label-success">Added</span> The method 
+				<code>org.eclipse.sirius.tests.support.api.EclipseTestsSupportHelper.setReadOnlyStatus(boolean, IResource...)</code> has been added to change the read only status of the given resources.
+			</li>
+			<li><span class="label label-success">Added</span> The 
+				<code>warnings</code> member variable has been added to 
+				<code>org.eclipse.sirius.tests.support.api.SiriusTestCase</code> to allow the recording of warning logs. Methods 
+				<code>doesAWarningOccurs()</code>, 
+				<code>clearWarnings()</code>, 
+				<code>setWarningCatchActive(boolean)</code>, 
+				<code>isWarningCatchActive()</code> and 
+				<code>getWarningLoggersMessage()</code> have also been added to manage the 
+				<code>warnings</code> member variable in the same way as the existing 
+				<code>errors</code> member variable.
+			</li>
+			<li><span class="label label-success">Added</span> The method 
+				<code>org.eclipse.sirius.tests.support.api.SiriusTestCase.loadModeler(URI, EditingDomain)</code> has been added to load a VSM resource and make the 
+				<code>Viewpoints</code> it defines accessible via the 
+				<code>SiriusTestsCase.viewpoints</code> field.
+			</li>
+			<li><span class="label label-success">Added</span> The class 
+				<code>org.eclipse.sirius.tests.support.api.ImageComposer</code> has been added to the test API to do assertions on image decorators.
+			</li>
+			<li><span class="label label-success">Added</span> The enum 
+				<code>SiriusTestCase.ResourceURIType</code> and the method 
+				<code>SiriusTestCase.toURI(final String, ResourceURIType)</code> have been added to allow choosing the type of URI created (
+				<code>platform:</code> or 
+				<code>plugin:</code>).
+			</li>
+			<li><span class="label label-info">Modified</span> The 
+				<code>SiriusTestCase.genericSetUp(List&lt;URI&gt;, List&lt;URI&gt;, boolean, URI)</code> method has been set to protected so that it can be called from concrete test cases. This method allows initializing session.
+			</li>
+			<li><span class="label label-info">Moved</span> The class 
+				<code>TreeItemLabelFontFormatQuery</code> was moved into 
+				<code>org.eclipse.sirius.tests.support.api</code> (from 
+				<code>org.eclipse.sirius.tests.swtbot.support.api.widget</code>), as it can be used in non-SWTBot tests..
+			</li>
+			<li><span class="label label-warning">Deprecated</span> The method 
+				<code>org.eclipse.sirius.tests.support.api.SiriusDiagramTestCase.setReadOnly(IFile)</code> has been deprecated, 
+				<code>org.eclipse.sirius.tests.support.api.EclipseTestsSupportHelper.setReadOnlyStatus(boolean, IResource...)</code> can be used instead.
+			</li>
+		</ul>
+		<h4 id="Changesinorg.eclipse.sirius.tests.swtbot.support5">Changes in 
+			<code>org.eclipse.sirius.tests.swtbot.support</code>
+		</h4>
+		<ul>
+			<li><span class="label label-success">Added</span> The 
+				<code>warnings</code> member variable has been added to 
+				<code>org.eclipse.sirius.tests.swtbot.support.api.AbstractSiriusSwtBotGefTestCase</code> to allow the recording of warning logs. Methods 
+				<code>doesAWarningOccurs()</code>, 
+				<code>setWarningCatchActive(boolean)</code>, 
+				<code>isWarningCatchActive()</code> and 
+				<code>getWarningLoggersMessage()</code> have also been added to manage the 
+				<code>warnings</code> member variable in the same way as the existing 
+				<code>errors</code> member variable.
+			</li>
+			<li><span class="label label-success">Added</span> The method 
+				<code>org.eclipse.sirius.tests.swtbot.support.api.editor.SWTBotSiriusDiagramEditor.getDRepresentation()</code> has been added to return the 
+				<code>org.eclipse.sirius.viewpoint.DRepresentation</code> instance available in the diagram editor.
+			</li>
+			<li><span class="label label-info">Modified</span> The method 
+				<code>org.eclipse.sirius.tests.swtbot.support.api.AbstractSiriusSwtBotGefTestCase.getSectionButton()</code>  now only takes the button&#8217;s tooltip instead of a numerical position index and the tooltip.
+			</li>
+			<li><span class="label label-info">Modified</span> The methods 
+				<code>org.eclipse.sirius.tests.swtbot.support.api.editor.SWTBotSiriusHelper.selectPropertyTabItem(String)</code> now returns a 
+				<code>boolean</code> that is true when the property tab item is found, false otherwise.
+			</li>
+			<li><span class="label label-info">Moved</span> The class 
+				<code>TreeItemLabelFontFormatQuery</code> was moved into 
+				<code>org.eclipse.sirius.tests.support.api</code> (from 
+				<code>org.eclipse.sirius.tests.swtbot.support.api.widget</code>), as it can be used in non-SWTBot tests..
+			</li>
+			<li><span class="label label-warning">Deprecated</span> The methods 
+				<code>org.eclipse.sirius.tests.swtbot.support.api.business.UIPerspective.deleteProject(UIProject)</code> and 
+				<code>org.eclipse.sirius.tests.swtbot.support.api.business.UIPerspective.deleteProject(String)</code> have been deprecated, 
+				<code>org.eclipse.sirius.tests.support.api.EclipseTestsSupportHelper.setReadOnlyStatus(boolean, IResource...)</code> can be used instead.
+			</li>
+		</ul>
+		<h4 id="Newplugins">New plug-ins</h4>
+		<p>The following UI plug-ins has been added:</p>
+		<ul>
+			<li><span class="label label-success">Added</span> 
+				<code>org.eclipse.sirius.ui.ext</code>
+			</li>
+			<li><span class="label label-success">Added</span> 
+				<code>org.eclipse.sirius.common.ui.ext</code>
+			</li>
+			<li><span class="label label-success">Added</span> 
+				<code>org.eclipse.sirius.diagram.ui.ext</code>
+			</li>
+			<li><span class="label label-success">Added</span> 
+				<code>org.eclipse.sirius.table.ui.ext</code>
+			</li>
+			<li><span class="label label-success">Added</span> 
+				<code>org.eclipse.sirius.tree.ui.ext</code>
+			</li>
+		</ul>
+		<p>These plug-ins own the extension definitions related to perspective, views, newWizard, menus, contextual menus, editors and preference pages that were previously in 
+			<code>org.eclipse.sirius.xxx.ui</code> plug-ins.
+			<br/>Now, downstream projects can define features that do not contain 
+			<code>org.eclipse.sirius.xxx.ui.ext</code>, allowing them not have all that functionalities they may not want.
+		</p>
+		<h2 id="sirius2.0.0">Changes in Sirius 2.0.0</h2>
+		<h3 id="UserVisibleChanges10">User-Visible Changes</h3>
+		<ul>
+			<li>It is now possible to select element that intersects the selection rectangle and not that is completely contained by the selection rectangle. This new behavior is enabled when user selects elements from right to left. The normal mode (previous mode) remains when the user selects elements from left to right.</li>
+			<li>The edges appearance is now kept, as much as possible, when one of its extremity is moved. A move of an extremity should move only the closest segment of the edge.</li>
+			<li>The edges appearance is kept as much as possible when a node (container or not) is moved. A move of a node now impacts only the closest segment of the linked edges.</li>
+		</ul>
+		<p>
+			<img border="0" src="images/moveNode-edgeImpact-changedBehavior.gif"/>
+		</p>
+		<ul>
+			<li>When a node, container or not, is resized to the left, upwards, or both, the location of its children (elements inside a container and border nodes) is not changed. It is possible to retrieve the previous behavior by pressing the F3 function key during the resize.</li>
+		</ul>
+		<p>
+			<img border="0" src="images/containerResize-changedBehavior.gif"/>
+		</p>
+		<ul>
+			<li>The &#8220;snap to shapes&#8221; is now enabled by default (see  
+				<em>Sirius &gt; Sirius Diagram &gt; Rulers and Grid</em> preference page). This is true only for new diagrams. The existing diagrams are not impacted.
+			</li>
+			<li>The &#8220;Navigate&#8221; top-level contextual menu entry with mixed actions for creating new representations and opening existing ones has been changed by two top-level menus:
+				<ul>
+					<li>One named &#8220;New&#8221;, which lists only the available actions to create new representations on the selected element.</li>
+					<li>One named &#8220;Open&#8221;, which lists only the existing representations on the selected element. </li>
+				</ul>
+			</li>
+			<li>When a shape is resized (no matter the direction), the edge(s) connection location (toward or from this one) is kept. Before that, edges connections moved according to the ratio of the resizing.</li>
+		</ul>
+		<p>Example with this initial state before resizing:
+			<br/>
+			<img border="0" src="images/shapeResize1.png"/>
+			<br/>Result after resizing without this feature (the edges have moved):
+			<br/>
+			<img border="0" src="images/shapeResize2.png"/>
+			<br/>Result after resizing with this feature (the edges keep the same location):
+			<br/>
+			<img border="0" src="images/shapeResize3.png"/>
+		</p>
+		<ul>
+			<li>There is now the possibility to distribute the selected shapes (see 
+				<a href="user/diagrams/Diagrams.html#distribute">Sirius User Manual/Diagrams/Features Overview/Distribute elements</a> for more details):
+				<ul>
+					<li>Distribute gaps horizontally</li>
+					<li>Distribute centers horizontally</li>
+					<li>Distribute gaps vertically</li>
+					<li>Distribute centers vertically</li>
+				</ul>
+			</li>
+			<li>The end user can now remove all bend-points between the two edge ends. This action is available on edge context menu &#8220;Remove Bend-points&#8221; or by using the shortcut &#8220;Ctrl&#8221; + &#8220;Shift&#8221; + &#8220;-&#8221;.</li>
+			<li>Reconnection of an edge will only now move the minimum necessary bendpoints instead of reseting it to default.</li>
+			<li>A new action has been added to reset the diagram (or container) origin: the diagram (or container) bounds (the rectangle formed by the highest, the leftmost, the lowest and the rightmost children elements) can have a negative origin or can be shifted toward the bottom-right with a blank zone at the top-left. This action aims to move all diagram (or container) elements so that the it retrieves its origin while keeping elements layout.</li>
+		</ul>
+		<h3 id="SpecifierVisibleChanges7">Specifier-Visible Changes</h3>
+		<ul>
+			<li>The specifier can now choose to hold the edge ends toward the center of the source, target or both. New fields within the &#8220;advance&#8221; tab of EdgeStyle description have been added to choose for which source or target mappings an edge should be centered. See 
+				<a href="specifier/diagrams/Diagrams.html#edges_styles">Edges Styles &gt; Edge Centering</a> in the specifier manual for more details.
+			</li>
+			<li>When creating a new Viewpoint Specification Project using the supplied wizard: 
+				<em>New &gt; Viewpoint Specification Project</em>, the VSM name is now given according to the project name. If the project name is suffixed with &#8220;design&#8221;, the VSM name is provided by the last word before this suffix. Otherwise, the VSM name is given by the last word of the project name.
+			</li>
+			<li>&#8220;Lozenge&#8221; is replaced by &#8220;Diamond&#8221; in diagram style.</li>
+		</ul>
+		<h3 id="APIChanges">API Changes</h3>
+		<h4 id="Changesinorg.eclipse.sirius8">Changes in 
+			<code>org.eclipse.sirius</code>
+		</h4>
+		<ul>
+			<li>The 
+				<code>org.eclipse.sirius.business.api.session.ViewpointSelector</code> class has been added, with easy-to-use methods to select/deselect viewpoint in a given session.
+			</li>
+			<li>The 
+				<code>VIEWPOINT_REGISTRY_INITIAL_SIZE</code> preference and 
+				<code>VIEWPOINT_REGISTRY_INITIAL_SIZE_DEFAULT_VALUE</code> default value has been removed from 
+				<code>org.eclipse.sirius.tools.api.preferences.DCorePreferences</code>.
+			</li>
+			<li>The method 
+				<code>org.eclipse.sirius.business.api.query.DRepresentationQuery.isDanglingRepresentation()</code> has been added to introduce the possibility to check if a representation is a dangling representation, ie. if its a DSemanticDecorator, its target is null or does not belong to a session.
+			</li>
+			<li>
+				<code>org.eclipse.sirius.ecore.extender.business.api.permission.exception.LockedInstanceException</code> now can take several EObjects in constructor and a method 
+				<code>LockedInstanceException.getLockedElements()</code> has been added to get all EObjects put in constructor.
+			</li>
+		</ul>
+		<p>
+			<code>org.eclipse.sirius.tools.api.command.InvalidPermissionCommand</code> now can take several EObjects in constructor to throw a 
+			<code>LockedInstanceException</code> with several EObjects.
+		</p>
+		<ul>
+			<li>The 
+				<code>org.eclipse.sirius.business.api.helper.task.AbstractDeleteDRepresentationElementTask</code> class has been renamed into 
+				<code>DeleteEObjectTask</code>.
+			</li>
+			<li>The interface 
+				<code>org.eclipse.sirius.tools.api.command.listener.IChangeListener</code> and all classes related to this mechanism (
+				<code>ChangeListenerFactory</code>, 
+				<code>TriggerOperation</code>) have been removed as this mechanism proves to be inefficient. It can be replaced by a pre/post commit listener or a 
+				<code>org.eclipse.sirius.business.api.session.ModelChangeTrigger</code>
+			</li>
+			<li>The 
+				<code>org.eclipse.sirius.tools.api.ui.IExternalAction2</code> interface has been removed. It was created to disable some 
+				<code>IChangeListener</code> when the action indicates it will not delete elements.
+			</li>
+			<li>
+				<code>org.eclipse.sirius.business.api.dialect.DialectServices.refresh(DRepresentation, boolean, IProgressMonitor</code> has been added to specify if we want partial refresh or not. By default partial refresh is done. full refresh is only implements for tree dialect.
+			</li>
+			<li>
+				<code>org.eclipse.sirius.business.api.dialect.AbstractRepresentationDialectServices.refresh(DRepresentation, IProgressMonitor)</code> has been added to call by default 
+				<code>DialectServices.refresh(DRepresentation, false, IProgressMonitor)</code> to do a partial refresh.
+			</li>
+			<li>
+				<code>org.eclipse.sirius.business.api.dialect.command.RefreshRepresentationsCommand.RefreshRepresentationsCommand(TransactionalEditingDomain, boolean, IProgressMonitor, DRepresentation...)</code> and 
+				<code>RefreshRepresentationsCommand(TransactionalEditingDomain, boolean, IProgressMonitor, Collection&lt;DRepresentation&gt;)</code> constructors has been added to specify a partial refresh or a full refresh.
+			</li>
+			<li>
+				<code>org.eclipse.sirius.business.api.dialect.DRepresentationNotificationFilter</code> has been added to have
+			</li>
+		</ul>a common precommit/postcommit notifications filter to tree/table dialect.
+		<ul>
+			<li>
+				<code>org.eclipse.sirius.tools.api.profiler.SiriusTasksKey.CHANGE_SWT_LINE_COLAPSE_STATE_KEY</code> constant has been deprecated in favor of 
+				<code>SiriusTasksKey.CHANGE_SWT_LINE_COLLAPSE_STATE_KEY</code> to fix a typo.
+			</li>
+			<li>
+				<code>org.eclipse.sirius.business.api.color.AbstractColorUpdater.DEFAULT_RED_VALUE/DEFAULT_GREEN_VALUE/DEFAULT_BLUE_VALUE</code> constants have been added to have access to default 
+				<code>RGBValues</code>'s values. This is used during refresh when there isn&#8217;t any 
+				<code>ColorDescription</code>, for example in tree dialect where background color definition is optional.
+			</li>
+			<li>The 
+				<code>org.eclipse.sirius.business.api.tool.ToolFilterDescriptionListener.ToolFilterDescriptionListener()</code> constructor now takes an 
+				<code>IInterpreter</code> as additional parameter to capture the current interpreter and avoid calls to the 
+				<code>IInterpreterRegistry</code> for each evaluation of the tool filter expressions.
+			</li>
+			<li>
+				<code>org.eclipse.sirius.business.api.query.AirdResourceQuery.getAirDCrossReferenceAdapter()</code> and 
+				<code>org.eclipse.sirius.business.internal.resource.AirdCrossReferencerAdapter</code> have been removed. The adapter was here to customize GMF&#8217;s own 
+				<code>org.eclipse.gmf.runtime.emf.core.util.CrossReferenceAdapter</code>. However considering the way Sirius uses GMF, this adapter is not needed.
+			</li>
+		</ul>
+		<h4 id="Changesinorg.eclipse.sirius.ui9">Changes in 
+			<code>org.eclipse.sirius.ui</code>
+		</h4>
+		<ul>
+			<li>In 
+				<code>org.eclipse.sirius.ui.business.api.session.UserSession</code>, the methods 
+				<code>selectSirius()</code>, 
+				<code>selectOnlySirius()</code> and 
+				<code>findSiriusByName()</code> have been renamed into 
+				<code>selectViewpoint()</code>, 
+				<code>selectOnlyViewpoint()</code> and 
+				<code>findViewpointByName()</code> to correct a wrong rebranding.
+			</li>
+		</ul>
+		<h4 id="Changesinorg.eclipse.sirius.common6">Changes in 
+			<code>org.eclipse.sirius.common</code>
+		</h4>
+		<ul>
+			<li>The method 
+				<code>org.eclipse.sirius.common.tools.api.resource.ResourceSetSync.getResourceSetSync(TransactionalEditingDomain)</code> has been added to look for a 
+				<code>ResourceSetSync</code> without creating a new one if no synchronizer currently exists.
+			</li>
+			<li>The class 
+				<code>org.eclipse.sirius.common.tools.api.util.SmartAdapter</code> has been removed as this mechanism proves to be inefficient. The only user of this mechanism was the 
+				<code>org.eclipse.sirius.tools.api.command.listener.IChangeListener</code> which has also been removed.
+			</li>
+			<li>The class 
+				<code>org.eclipse.sirius.common.tools.api.ecore.WorkspaceEPackageRegistry</code> has been moved to the 
+				<code>org.eclipse.sirius.editor</code> plugin. 
+				<code>org.eclipse.sirius.common.tools.DslCommonPlugin.getWorkspaceEPackageRegistry</code> has been removed. The same method has been added in 
+				<code>org.eclipse.sirius.editor.editorPlugin.SiriusEditorPlugin</code>.
+			</li>
+			<li>A new class 
+				<code>org.eclipse.sirius.common.tools.api.resource.ResourceMigrationMarker</code> has been introduced for adopters. This marker can be attached to a Resource in order to indicate that some automatic migration 
+				<strong>might</strong> have change the structure of the model during the loading (with no isModified flag). Sirius will then use this information to consider saving the file even if there is no logical change. 
+			</li>
+		</ul>
+		<h4 id="Changesinorg.eclipse.sirius.common.ui3">Changes in 
+			<code>org.eclipse.sirius.common.ui</code>
+		</h4>
+		<ul>
+			<li>The method 
+				<code>org.eclipse.sirius.common.ui.tools.api.util.EclipseUIUtil.addSelectionListener(IWorkbenchPart, ISelectionListener)</code> has been added to register a new selection listener to the site for the workbench part. This method looks for a 
+				<code>ISelectionService</code> by calling 
+				<code>IServiceLocator.getService()</code> on the site.
+			</li>
+			<li>The method 
+				<code>org.eclipse.sirius.common.ui.tools.api.util.EclipseUIUtil.removeSelectionListener(IWorkbenchPart, ISelectionListener)</code> has been added to unregister an existing selection listener from site for the workbench part. This method looks for a 
+				<code>ISelectionService</code> by calling 
+				<code>IServiceLocator.getService()</code> on the site.
+			</li>
+		</ul>
+		<h4 id="Changesinorg.eclipse.sirius.diagram6">Changes in 
+			<code>org.eclipse.sirius.diagram</code>
+		</h4>
+		<ul>
+			<li>The 
+				<code>org.eclipse.sirius.diagram.ui.business.api.view.refresh</code> package and all its content has been move into the 
+				<code>org.eclipse.sirius.diagram</code> plug-in, under the name 
+				<code>org.eclipse.sirius.diagram.business.api.view.refresh</code>.
+			</li>
+			<li>A new extension point 
+				<code>org.eclipse.sirius.diagram.canonicalSynchronizerFactoryOverride</code> has been defined. Its only intended implementer is the 
+				<code>org.eclipse.sirius.diagram.ui</code> plug-in. It is used by the diagram dialect&#8217;s core to delegate to the UI plug-in the canonical synchronizer logic, which depends on the UI.
+			</li>
+			<li>In 
+				<code>org.eclipse.sirius.diagram.business.api.refresh.CanonicalSynchronizer</code>, a new method 
+				<code>postCreation()</code> has been added. It is called exactly once, right after a diagram has been created and synchronized the first time.
+			</li>
+			<li>
+				<code>org.eclipse.sirius.diagram.description.style.EdgeStyleDescription</code> metamodel class has three more features: 
+				<code>centeredSourceMappings</code>, 
+				<code>centeredTargetMappings</code> and 
+				<code>AlwaysCenter</code>. Those features let the specifier determine for which mappings the edge source/target should be centered or whether the source/target should be systematically centered. The 
+				<code>endsCentering</code> values are restricted by the new 
+				<code>org.eclipse.sirius.diagram.description.CenteringStyle</code> enumeration.
+			</li>
+			<li>
+				<code>org.eclipse.sirius.diagram.EdgeStyle</code> metamodel class has now an attribute 
+				<code>centered</code> of type 
+				<code>org.eclipse.sirius.diagram.description.CenteringStyle</code>, to determine whether the edge target or source ends should be centered.
+			</li>
+		</ul>
+		<h4 id="Changesinorg.eclipse.sirius.diagram.ui8">Changes in 
+			<code>org.eclipse.sirius.diagram.ui</code>
+		</h4>
+		<ul>
+			<li>The 
+				<code>org.eclipse.sirius.diagram.ui.business.api.view.refresh</code> package and all its content has been move into the 
+				<code>org.eclipse.sirius.diagram</code> plug-in, under the name 
+				<code>org.eclipse.sirius.diagram.business.api.view.refresh</code>.  
+			</li>
+			<li>The method 
+				<code>org.eclipse.sirius.diagram.ui.business.internal.query.DNodeContainerQuery.getDefaultDimension()</code> has been added to compute the default size of a DNodeContainer.
+			</li>
+			<li>The parameter 
+				<code>additionalFiguresForConflictDetection</code> has been added to several methods of 
+				<code>org.eclipse.sirius.diagram.ui.tools.api.figure.locator.DBorderItemLocator</code>. This parameter is used in case of simultaneous border nodes moves. This list corresponds to the already known border nodes feedbacks. They are used to detect conflicts with other moved nodes.
+			</li>
+			<li>
+				<code>org.eclipse.sirius.diagram.ui.business.api.query.ConnectionEditPartQuery</code> now provides two new methods 
+				<code>isEdgeWithRectilinearRoutingStyle()</code> and 
+				<code>isEdgeWithObliqueRoutingStyle()</code> that respectively checks if an edge has a rectilinear routing style or an oblique routing style.
+			</li>
+			<li>
+				<code>org.eclipse.sirius.diagram.ui.business.api.query.ConnectionQuery</code> now provides two new methods 
+				<code>getAbsoluteBendpointsConstraint()</code> and 
+				<code>getRelativeBendpointsConstraint()</code> that returns an option of list of 
+				<code>Bendpoint</code> of a connection whether they are respectively 
+				<code>AbsoluteBendpoint</code> or 
+				<code>RelatveBendpoint</code>.
+			</li>
+			<li>
+				<code>org.eclipse.sirius.diagram.ui.business.api.query.EdgeQuery</code> also provides two new methods 
+				<code>isEdgeWithRectilinearRoutingStyle()</code> and 
+				<code>isEdgeWithObliqueRoutingStyle()</code> that respectively checks if an edge has a rectilinear routing style or an oblique routing style.
+			</li>
+			<li>
+				<code>org.eclipse.sirius.diagram.ui.tools.api.requests.DistributeRequest</code>: A new 
+				<code>ChangeBoundsRequest</code> to manage distribution of shapes.
+			</li>
+			<li>A constant 
+				<code>REQ_DISTRIBUTE</code> has been added in 
+				<code>org.eclipse.sirius.diagram.ui.tools.api.requests.RequestConstants</code> to identify the new type of request, 
+				<code>DistributeRequest</code>.
+			</li>
+			<li>Constants have been added in 
+				<code>org.eclipse.sirius.diagram.ui.tools.api.ui.actions.ActionIds</code> for the new drop down menu in tabbar and for the four new distribute actions.
+			</li>
+			<li>Constants have been added in 
+				<code>org.eclipse.sirius.diagram.ui.tools.api.image.DiagramImagesPath</code> for the icon path of the four new distribute actions.
+			</li>
+			<li>A new method has been added in 
+				<code>org.eclipse.sirius.diagram.ui.business.api.view.SiriusLayoutDataManager</code> to retrieve the opposite edge layout data of another edge layout data. An edge layout data stored in the incomingEdgeLayoutDatas ref of its parent data can have an opposite edge layout data in the outgoingEdgeLayoutDatas of the other ends.
+			</li>
+			<li>A Constant 
+				<code>org.eclipse.sirius.diagram.ui.tools.api.requests.RequestConstants.REQ_RESET_ORIGIN</code> has been added to identify requests to get the ResetOrigin command.
+			</li>
+			<li>A new method 
+				<code>org.eclipse.sirius.diagram.ui.business.api.query.NodeQuery.isContainer()</code> has been added to test whether the GMF node visualID corresponds to a ContainerEditPart.
+			</li>
+		</ul>
+		<h4 id="Changesinorg.eclipse.sirius.tree.ui3">Changes in 
+			<code>org.eclipse.sirius.tree.ui</code>
+		</h4>
+		<ul>
+			<li>
+				<code>org.eclipse.sirius.tree.ui.business.api.helper.TreeUIHelper.toContentHTMl()</code> has changed of behavior: refresh of 
+				<code>DTree</code> is now partial, i.e. not done for children of collapsed 
+				<code>DTreeItemContainer</code>. Consequently code calling 
+				<code>TreeUIHelper.toContentHTMl()</code> must do a full refresh if children of collapsed 
+				<code>DTreeItemContainer</code> must be displayed in returned HTML.
+			</li>
+			<li>
+				<code>org.eclipse.sirius.tree.ui.business.api.helper.TreeUIHelper.toTreeDescriptor()</code> same as for 
+				<code>TreeUIHelper.toContentHTMl()</code>
+			</li>
+		</ul>
+		<h4 id="Changesinorg.eclipse.sirius.tree2">Changes in 
+			<code>org.eclipse.sirius.tree</code>
+		</h4>
+		<ul>
+			<li>
+				<code>org.eclipse.sirius.tree.business.api.interaction.DTreeUserInteraction.refreshContent(boolean, IProgressMonitor)</code> has been added to specify if we want partial refresh or not.
+			</li>
+			<li>
+				<code>org.eclipse.sirius.tree.business.api.command.DTreeItemExpansionChangeCommand</code> has been added to execute an expansion/collapse of 
+				<code>DTreeItem</code>. On expansion a refresh of children is done.
+			</li>
+		</ul>
+		<h4 id="Changesinorg.eclipse.sirius.synchronizer3">Changes in 
+			<code>org.eclipse.sirius.synchronizer</code>
+		</h4>
+		<ul>
+			<li>
+				<code>org.eclipse.sirius.synchronizer.CreatedOutput.synchronizeChildren()</code> has been added to allow doing a partial refresh of tree, i.e. to not refresh children of collapsed tree item.
+			</li>
+			<li>
+				<code>org.eclipse.sirius.synchronizer.ModelToModelSynchronizer.update(CreatedOutput, boolean)</code> has been added to specify if we want partial refresh or not.
+			</li>
+		</ul>
+		<h4 id="Changesinorg.eclipse.sirius.ecore.extender3">Changes in 
+			<code>org.eclipse.sirius.ecore.extender</code>
+		</h4>
+		<ul>
+			<li>
+				<code>org.eclipse.sirius.ecore.extender.business.api.accessor.IMetamodelExtender.eRemoveInverseCrossReferences(EObject, ECrossReferenceAdapter, EReferencePredicate)</code> has been added as a way to remove the inverse cross references without removing an 
+				<code>EObject</code> from its container. For example it can be used to avoid the dangling references to an indirectly detached object without removing it from its already detached container and avoid additional REMOVE notifications. The method has been extracted from and is now used by 
+				<code>IMetamodelExtender.eDelete()</code>.
+			</li>
+			<li>
+				<code>org.eclipse.sirius.ecore.extender.business.api.accessor.ModelAccessor.eRemoveCrossReferences(EObject, ECrossReferenceAdapter, EReferencePredicate)</code> has been added as a way to remove the inverse cross references without removing an 
+				<code>EObject</code> from its container after a check by the permission authority that all changeable feature to modify can be edited.
+			</li>
+		</ul>
+		<h4 id="Changesinorg.eclipse.sirius.ext.gmf.runtime4">Changes in 
+			<code>org.eclipse.sirius.ext.gmf.runtime</code>
+		</h4>
+		<ul>
+			<li>Several utilities have been added in 
+				<code>org.eclipse.sirius.ext.gmf.runtime.editparts.GraphicalHelper</code>:
+				<ul>
+					<li>
+						<code>applyZoomOnPoint(IGraphicalEditPart, Point)</code>: Apply the current zoom (of 
+						<code>IGraphicalEditPart</code>'s diagram) on the 
+						<code>Point</code> and return the 
+						<code>Point</code> for convenience.
+					</li>
+					<li>
+						<code>applyInverseZoomOnPoint(IGraphicalEditPart, Point)</code>: Apply the inverse of the current zoom (of 
+						<code>IGraphicalEditPart</code>'s diagram) on the 
+						<code>Point</code> and return the 
+						<code>Point</code> for convenience.
+					</li>
+					<li>
+						<code>appliedZoomOnRelativePoint(IGraphicalEditPart, Point)</code> is now deprecated. Use 
+						<code>applyZoomOnPoint(IGraphicalEditPart, Point)</code> instead.
+					</li>
+					<li>
+						<code>getAnchorPoint(IGraphicalEditPart parent, Anchor anchor)</code>: Get the 
+						<code>Point</code> (absolute draw2d coordinates) corresponding to this 
+						<code>Anchor</code>.
+					</li>
+					<li>
+						<code>getAnchorPoint(IGraphicalEditPart parent, IdentityAnchor anchor)</code>: Get the 
+						<code>Point</code> (absolute draw2d coordinates) corresponding to this 
+						<code>IdentityAnchor</code>.
+					</li>
+					<li>
+						<code>getIntersection(Point, Point, IGraphicalEditPart, boolean)</code>: Get intersection between a line between lineOrigin and lineTerminus, and the rectangle bounds of the 
+						<code>IGraphicalEditPart</code>. If there are several intersections, the shortest is returned.
+					</li>
+					<li>
+						<code>getAbsoluteBounds(IGraphicalEditPart)</code>: Get the absolute bounds of this 
+						<code>IGraphicalEditPart</code>.
+					</li>
+					<li>
+						<code>getAbsoluteBoundsIn100Percent(IGraphicalEditPart)</code>: Get the absolute bounds of this 
+						<code>IGraphicalEditPart</code> but adapted according to the current zoom level.
+					</li>
+					<li>
+						<code>isSnapToGridEnabled(EditPart)</code>: Return true if the snapToGrid is enabled for the diagram containing this edit part, false otherwise.
+					</li>
+				</ul>
+			</li>
+		</ul>
+		<h4 id="Changesinorg.eclipse.sirius.tests.swtbot.support6">Changes in 
+			<code>org.eclipse.sirius.tests.swtbot.support</code>
+		</h4>
+		<ul>
+			<li>The method 
+				<code>SWTBotSiriusDiagramEditor.setSnapToGrid(boolean)</code> has been added. It allows to disable or enable the snapToGrid option for this editor.
+			</li>
+			<li>The method 
+				<code>SWTBotSiriusDiagramEditor.setSnapToGrid(boolean, double, int)</code> has been added. It allows to disable or enable the snapToGrid option for this editor. In case of activation, you can also set the grid spacing and the ruler units.
+			</li>
+			<li>The method 
+				<code>SWTBotSiriusDiagramEditor.disableSnapToGrid()</code> has been deprecated, use 
+				<code>SWTBotSiriusDiagramEditor.setSnapToGrid(false)</code> instead.
+			</li>
+			<li>The method 
+				<code>SWTBotSiriusDiagramEditor.adaptLocationToSnap(Point)</code> has been added. It allows to adapt location according to SnapToHelper of the current editor.
+			</li>
+			<li>The method 
+				<code>SWTBotSiriusDiagramEditor.getDiagramEditPart()</code> has been added. It allows to retrieve the diagram edit part of the current editor.
+			</li>
+			<li>In 
+				<code>ViewpointSelectionDialog</code>, the methods 
+				<code>selectViewpoints(String...)</code> and 
+				<code>deselectViewpoints(String...)</code> have been added to allow viewpoints selection and deselection from an array of 
+				<code>String</code>. These methods are shortcuts to the 
+				<code>selectViewpoints(Set&lt;String&gt;, Set&lt;String&gt;)</code> method.
+			</li>
+			<li>Add method 
+				<code>changeLayerActivation(String)</code> on 
+				<code>SWTBotSiriusDiagramEditor</code> to offer the same service as similar method on 
+				<code>UIDiagramRepresentation</code>.
+			</li>
+		</ul>
+		<h4 id="Changesinorg.eclipse.sirius.tests.support">Changes in 
+			<code>org.eclipse.sirius.tests.support</code>
+		</h4>
+		<ul>
+			<li>In 
+				<code>org.eclipse.sirius.test.support.SiriusTestCase</code>, the methods deactivateSirius(), initSirius() and findSirius() have been renamed into deactivateViewpoint(), initViewpoint() and findViewppoint() to correct a wrong rebranding.
+			</li>
+		</ul>
+		<h2 id="sirius1.0.0">Changes in Sirius 1.0.0 (from Sirius 1.0.0M7)</h2>
+		<h3 id="UserVisibleChanges11">User-Visible Changes</h3>
+		<ul>
+			<li>The ability to print table representations has been disabled for the 1.0.0 release due to an external dependency issue (see <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=435204" target="_blank">bug #435204</a> for the details).</li>
+		</ul>
+		<h3 id="SpecifierVisibleChanges8">Specifier-Visible Changes</h3>
+		<ul>
+			<li>
+				<em>Node</em>, 
+				<em>Container</em> and 
+				<em>Edge</em> mappings can not be created as direct children of a 
+				<em>Diagram Description</em> anymore, the first level mappings must be created as direct children of a 
+				<em>Layer</em>.
+			</li>
+			<li>Mapping (resp. tools) can not be added as reused mapping (resp. tools) of a 
+				<em>Diagram Description</em>, they must be added to the reused mappings (resp. tools) of a 
+				<em>Layer</em>. The corresponding property sections will be shown only for old VSM with reused elements.
+			</li>
+		</ul>
+		<h3 id="APIChanges2">API Changes</h3>
+		<h4 id="Changesinorg.eclipse.sirius9">Changes in 
+			<code>org.eclipse.sirius</code>
+		</h4>
+		<ul>
+			<li>In package 
+				<code>org.eclipse.sirius.business.api.control</code>,  the constructors of 
+				<code>SiriusControlCommand</code> and 
+				<code>SiriusUncontrolCommand</code> which assume implicitly that the session should be saved as part of the command are now deprecated. Use the alternative constructors (a new one has been added to 
+				<code>SiriusUncontrolCommand</code>) to say explicitly if the command should save the session. Most code should do the save themselves outside of the command, and thus pass 
+				<code>false</code>  to the 
+				<code>shouldEndBySaving</code> argument of these constructors.
+			</li>
+			<li>In package 
+				<code>org.eclipse.sirius.business.api.session</code>, class 
+				<code>SavingPolicyImpl</code> (the default session saving policy) now inherits from the new 
+				<code>AbstractSavingPolicy</code> class. The new abstract class can be used as a base to implement different policies by simply overriding the 
+				<code>computeResourcesToSave()</code> method.
+			</li>
+		</ul>
+		<h4 id="Changesinorg.eclipse.sirius.diagram.ui9">Changes in 
+			<code>org.eclipse.sirius.diagram.ui</code>
+		</h4>
+		<ul>
+			<li>To enable the resize of border nodes whose parent is a list, the 
+				<code>createLayoutEditPolicy</code> and 
+				<code>getResizeBorderItemCommand</code> methods have been extracted from  
+				<code>org.eclipse.sirius.diagram.ui.edit.api.part.AbstractDiagramContainerPart</code> and placed into 
+				<code>org.eclipse.sirius.diagram.ui.edit.api.part.AbstractDiagramElementContainerEditPart</code>. The 
+				<code>org.eclipse.sirius.diagram.ui.edit.api.part.AbstractDiagramListEditPart.createLayoutEditPolicy</code> implementation has been removed.
+			</li>
+		</ul>
+		<h4 id="Changesinorg.eclipse.sirius.diagram.ui10">Changes in 
+			<code>org.eclipse.sirius.diagram.ui</code>
+		</h4>
+		<ul>
+			<li>
+				<code>org.eclipse.sirius.editor.tools.api.menu.AbstractMenuBuilder.getLabel()</code> visibility has been changed from protected to public.
+			</li>
+			<li>
+				<code>org.eclipse.sirius.editor.tools.api.menu.CompositeMenuBuilder</code> has been introduced to avoid duplicated menu. A 
+				<code>CompositeMenuBuilder</code> is created to encapsulate 
+				<code>AbstractMenuBuilder</code> with the same label.
+			</li>
+		</ul>
+		<h2 id="sirius1.0M7">Changes in Sirius 1.0.0M7 (from Sirius 1.0M6)</h2>
+		<h3 id="SpecifierVisibleChanges9">Specifier-Visible Changes</h3>
+		<ul>
+			<li>The default value of the 
+				<em>Semantic Candidates Expression</em> for Tree Items has changed from an empty string (meaning &#8220;any compatible element in the session&#8221;) to 
+				<code>feature:eAllContents</code> which only looks for compatible candidates inside the current element (recursively). The new behavior is more efficient on large models and consistent with what happens for diagrams. The change does not affect existing VSMs which continue to work as before whatever was the expression they used. Users who want the old behavior on specific mappings can simply remove the expression in the properties view.
+			</li>
+			<li>In the 
+				<em>Time Profiler</em> view, the 
+				<em>Time (hh:mm:ss,ms)</em> has been removed. It was redundant with the existing 
+				<em>Time (ms)</em> column, harder to read/sort, and showed wrongly formatted results.
+			</li>
+		</ul>
+		<h3 id="APIChanges3">API Changes</h3>
+		<h4 id="separationOfDiagramSpecificConcept-step3">Move diagram.ecore in its own plugin</h4>
+		<p>This milestone (Sirius 1.0M7) includes the third, and final, step towards a full separation of the diagram-specific stuff out of the core of Sirius (see 
+			<a href="#separationOfDiagramSpecificConcept-step1">Step1</a> and 
+			<a href="#separationOfDiagramSpecificConcept-step2">Step2</a> for more details).
+		</p>
+		<p>All classes related to diagrams in 
+			<code>org.eclipse.sirius</code> have been moved to 
+			<code>org.eclipse.sirius.diagram</code>.
+			<br/>All classes related to diagrams in 
+			<code>org.eclipse.sirius.ui</code> have been moved to 
+			<code>org.eclipse.sirius.diagram.ui</code>.
+			<br/>All classes related to diagrams in 
+			<code>org.eclipse.sirius.editor</code> have been moved to 
+			<code>org.eclipse.sirius.editor.diagram</code>.
+			<br/>In the same way, all classes related to UI in 
+			<code>org.eclipse.diagram</code> have been moved to 
+			<code>org.eclipse.sirius.diagram.ui</code>. To simplify this step almost all classes of 
+			<code>org.eclipse.diagram</code> have been moved in 
+			<code>org.eclipse.sirius.diagram.ui</code> (and probably not only UI classes). These classes have been moved in 
+			<code>src-diag</code> source folder to facilitate future work about moving some of these classes in 
+			<code>org.eclipse.diagram</code> again.
+		</p>
+		<p>Unlike, the 
+			<a href="#separationOfDiagramSpecificConcept-step1">Step1</a>, a simple &#8220;Organize Imports&#8221; operation is not enough. First, you will probably need to add dependencies to 
+			<code>org.eclipse.sirius.diagram</code>, 
+			<code>org.eclipse.sirius.diagram.ui</code> or 
+			<code>org.eclipse.sirius.editor.diagram</code> in the MANIFEST.MF of your projects that depend on Sirius diagram classes. The dependencies to add depend on what you really use.
+		</p>
+		<ul>
+			<li>
+				<code>ViewpointRegistry.getDiagramDescriptionMappingsRegistry()</code> has been removed. You can now directly call 
+				<code>org.eclipse.sirius.diagram.business.api.componentization.DiagramDescriptionMappingsRegistry.INSTANCE.DialectServices</code>.
+			</li>
+			<li>New methods have been added to 
+				<code>IRepairParticipant</code> to isolate specific diagram repair steps.
+				<ul>
+					<li>
+						<code>removeElements(DView, TransactionalEditingDomain, IProgressMonitor)</code>: Removes elements from the 
+						<code>DView</code> that will be recreated by the refresh (called later).
+					</li>
+					<li>
+						<code>cleanRepresentations(EList&lt;DRepresentation&gt;)</code>: Cleans representations (specific representation states like filters) and eventually returns some of them if they need to be removed.
+					</li>
+					<li>
+						<code>refreshRepresentations(DAnalysis, DView)</code>: This method is only implemented by the diagram participant. To simplify work for this step, this method manages core and diagram elements. It should be clean up once the split will be done.
+					</li>
+				</ul>
+			</li>
+			<li>To break the dependencies from Core to Diagram, several services have been added to:
+				<ul>
+					<li>
+						<code>DialectServices</code>, with default implementations in 
+						<code>AbstractRepresentationDialectServices</code>:
+						<ul>
+							<li>
+								<code>createTask(CommandContext, ModelAccessor, ModelOperation, Session, UICallBack)</code>: Creates a new task corresponding to the ModelOperation. Only needed for ModelOperation specific to one dialect.
+							</li>
+							<li>
+								<code>handles(RepresentationExtensionDescription)</code>: Tells if the current dialect handles the given 
+								<code>RepresentationExtensionDescription</code>.
+							</li>
+							<li>
+								<code>invalidateMappingCache()</code>: Allows each dialect to clean and compute again its proper mapping cache.
+							</li>
+							<li>
+								<code>allowsEStructuralFeatureCustomization(EObject)</code>: allows dialects to indicate if they allow EStrucuralFeaturesCustomization for the given VSM element. It is currently supported for style descriptions in diagrams only.
+							</li>
+						</ul>
+					</li>
+					<li>
+						<code>DialectUIServices</code>
+						<ul>
+							<li>
+								<code>canHandle(RepresentationDescription)</code> and 
+								<code>canHandle(RepresentationExtensionDescription)</code>: tell whether the dialect is able to handle the given representation description or extension description.
+							</li>
+							<li>
+								<code>completeToolTipText(String, EObject)</code> allows the dialect to customize the tooltip displayed in a property section of a given VSM element.
+							</li>
+						</ul>
+					</li>
+					<li>
+						<code>DialectUIManager</code>
+						<ul>
+							<li>
+								<code>canExport(DRepresentation, ExportFormat)</code>: New method returning true if at least one dialect is able to export this representation to this format, false otherwise.
+							</li>
+						</ul>
+					</li>
+					<li>
+						<code>IDiagramDescriptionProvider</code>
+						<ul>
+							<li>
+								<code>completeToolTipText(String, EObject)</code> allows the diagram type to customize the tooltip displayed in a property section of a given VSM element. 
+								<code>SequenceDiagramTypeProvider</code> implements this method to mention some Sequence specific variable available in core and diagram tool preconditions in the context of a Sequence diagram.
+							</li>
+						</ul>
+					</li>
+				</ul>
+			</li>
+			<li>All methods of 
+				<code>SiriusHelper</code> concerning diagrams have been moved to 
+				<code>org.eclipse.sirius.diagram.business.api.helper.SiriusDiagramHelper</code>.
+			</li>
+			<li>All methods of 
+				<code>SiriusUtil</code> concerning diagrams have been moved to 
+				<code>org.eclipse.sirius.diagram.business.api.helper.SiriusDiagramUtil</code>.
+			</li>
+			<li>All methods of 
+				<code>org.eclipse.sirius.business.api.query.EObjectQuery</code> concerning diagrams have been moved to 
+				<code>org.eclipse.sirius.diagram.business.api.query.EObjectQuery</code>.
+			</li>
+			<li><a href="https://wiki.eclipse.org/Sirius/Modularization#Library_Extensions" target="_blank">Library Extensions</a>:
+				<ul>
+					<li>All methods depending only on draw2d of 
+						<code>org.eclipse.sirius.diagram.ui.tools.api.draw2d.ui.figures.FigureUtilities</code> have been moved in 
+						<code>org.eclipse.sirius.ext.draw2d.figure.FigureUtilities</code>
+					</li>
+					<li>
+						<code>fr.obeo.dsl.viewpoint.diagram.ui.tools.api.layout.GraphicalHelper</code> has been moved to 
+						<code>org.eclipse.sirius.ext.gmf.runtime.editparts.GraphicalHelper</code>.
+					</li>
+					<li>
+						<code>org.eclipse.sirius.diagram.part.SiriusDiagramEditorPlugin</code> has been renamed into 
+						<code>org.eclipse.sirius.diagram.DiagramPlugin</code>. This plugin is not a UI plugin any more, 
+						<code>org.eclipse.sirius.diagram.ui.provider.DiagramUIPlugin.getPlugin()</code> should be used instead for UI related aspects. For example 
+						<code>DiagramUIPlugin.getPlugin().getPreferenceStore()</code> should be used instead of 
+						<code>DiagramPlugin.getDefault().getPreferenceStore()</code> or 
+						<code>SiriusDiagramEditorPlugin.getInstance().getPreferenceStore()</code>.
+					</li>
+				</ul>
+			</li>
+			<li>
+				<code>DeleteFromDiagramContributionItem</code> and 
+				<code>SetStyleToWorkspaceImageContributionItem</code> have been merged into 
+				<code>SiriusActionBarActionContributionItem</code>
+			</li>
+			<li>Images
+				<ul>
+					<li>Images of 
+						<code>org.eclipse.sirius.diagram</code> have been moved to 
+						<code>org.eclipse.sirius.diagram.ui</code>. In your code, you should replace 
+						<code>SiriusDiagramEditorPlugin.getInstance().getImage()</code> and 
+						<code>DiagramPlugin.getInstance().getImage()</code> by 
+						<code>DiagramUIPlugin.getPlugin().getImage()</code>. That is the case for all methods concerning images in 
+						<code>DiagramPlugin</code> (previously named 
+						<code>SiriusDiagramEditorPlugin</code>).
+					</li>
+					<li>Some images of 
+						<code>org.eclipse.sirius.ui</code> have been moved to 
+						<code>org.eclipse.sirius.diagram.ui</code>, the corresponding constants in 
+						<code>org.eclipse.sirius.ui.tools.api.image.ImagesPath</code> have been moved in 
+						<code>org.eclipse.sirius.diagram.ui.tools.api.image.DiagramImagesPath</code>.
+					</li>
+				</ul>
+			</li>
+			<li>The method 
+				<code>static void refreshSelection(DiagramElementMapping)</code> from 
+				<code>org.eclipse.sirius.editor.tools.api.menu.AbstractEObjectRefactoringAction</code> is not available anymore.
+			</li>
+			<li>Preferences
+				<ul>
+					<li>
+						<code>org.eclipse.sirius.business.api.preferences.SiriusPreferencesKeys.PREF_AUTO_PIN_ON_CREATE</code> has been moved to 
+						<code>org.eclipse.sirius.diagram.tools.api.preferences.SiriusDiagramPreferencesKeys</code>.
+					</li>
+				</ul>
+			</li>
+			<li>Ids
+				<ul>
+					<li>The Sirius diagram editor id is now 
+						<code>org.eclipse.sirius.diagram.ui.part.SiriusDiagramEditorID</code>
+					</li>
+					<li>Its property contributor is now 
+						<code>org.eclipse.sirius.diagram.ui</code>. This id has to be changed in plugins providing additional property sections to the Sirius diagram editor (created with EEF for example).
+					</li>
+				</ul>
+			</li>
+		</ul>
+		<h5 id="Movedextensionpoints">Moved extension points</h5>
+		<p>Several extension points have been moved:</p>
+		<ul>
+			<li>from 
+				<code>org.eclipse.sirius</code> to 
+				<code>org.eclipse.sirius.diagram</code>. You should change the id of the following extension point in your plugin.xml (
+				<code>org.eclipse.sirius.xxxx</code> replaced by 
+				<code>org.eclipse.sirius.diagram.xxxx</code>):
+				<ul>
+					<li>diagramTypeProvider</li>
+				</ul>
+			</li>
+			<li>from 
+				<code>org.eclipse.sirius.diagram</code> to 
+				<code>org.eclipse.sirius.diagram.ui</code>. You should change the id of the following extension points in your plugin.xml (
+				<code>org.eclipse.sirius.diagram.xxxx</code> replaced by 
+				<code>org.eclipse.sirius.diagram.ui.xxxx</code>):
+				<ul>
+					<li>diagramIdentifierProvider</li>
+					<li>imageSelector</li>
+					<li>layoutDataManager</li>
+					<li>layoutProvider</li>
+					<li>styleConfigurationProvider</li>
+					<li>viewOrderingProvider</li>
+				</ul>
+			</li>
+		</ul>
+		<h4 id="Changesinorg.eclipse.sirius.common7">Changes in 
+			<code>org.eclipse.sirius.common</code>
+		</h4>
+		<ul>
+			<li>In class 
+				<code>org.eclipse.sirius.common.tools.api.util.EclipseUtil</code>, the method 
+				<code>getExtensionPlugins(Class&lt;T&gt;, String, String, String, Predicate&lt;String&gt;)</code> has been removed from API to avoid exposing a Guava-specific 
+				<code>Predicate</code>. Instead, use the new method 
+				<code>getExtensionPluginsByKey()</code> which returns all the extensions organized by the specified key, and filter the result according to whatever critera the 
+				<code>Predicate</code> tested on the key.
+			</li>
+		</ul>
+		<h4 id="Changesinorg.eclipse.sirius10">Changes in 
+			<code>org.eclipse.sirius</code>
+		</h4>
+		<ul>
+			<li>
+				<code>org.eclipse.sirius.business.api.query.URIQuery.isSiriusEnvironmentURI</code> has been replaced by
+				<ul>
+					<li>
+						<code>isSiriusCoreEnvironmentURI</code> which checks that the given resource is the Sirius core Environment.xmi file.
+					</li>
+					<li>and 
+						<code>isEnvironmentURI</code> which checks that the given resource has an 
+						<code>environment</code> uri scheme.
+					</li>
+				</ul>
+			</li>
+			<li>In 
+				<code>org.eclipse.sirius.business.api.dialect.DialectManager</code>
+				<ul>
+					<li>the setter 
+						<code>setRefreshActivatedOnRepresentationOpening(boolean)</code> has been removed as the refresh on opening should be managed from the corresponding preference 
+						<code>org.eclipse.sirius.ui.business.api.preferences.SiriusUIPreferencesKeys.PREF_REFRESH_ON_REPRESENTATION_OPENING</code>.
+					</li>
+					<li>
+						<code>isRefreshActivatedOnRepresentationOpening()</code> has been moved into 
+						<code>org.eclipse.sirius.ui.business.api.dialect.DialectUIManager</code> as it refers to an UI behavior.
+					</li>
+				</ul>
+			</li>
+			<li>The 
+				<code>DRepresentation.createContents()</code> (both variants) and 
+				<code>DRepresentation.updateContents()</code> EOperations have been removed. They were not used anywhere.
+			</li>
+			<li>The 
+				<code>org.eclipse.sirius.business.api.modelingproject.ModelingProject.MODELING_PROJECT_PREDICATE</code> constant has been removed to reduce Sirius&#8217;s exposure of Guava&#8217;specific types. Use the equivalent 
+				<code>ModelingProject.hasModelingProjectNature()</code> method instead.
+			</li>
+			<li>The method 
+				<code>org.eclipse.sirius.business.api.query.EObjectQuery.getInverseReferences(Predicate&lt;Setting&gt;)</code> has been removed from API to avoid exposing a the Guava-specific 
+				<code>Predicate</code> type.
+			</li>
+			<li>In class 
+				<code>org.eclipse.sirius.business.api.dialect.description.AbstractInterpretedExpressionQuery</code>, the protected methods 
+				<code>appendAllLocalVariableDefinitions()</code> and 
+				<code>appendEditMaskVariables()</code> now take a 
+				<code>Map&lt;String, Collection&lt;String&gt;&gt;</code> instead of a Guava-specific 
+				<code>Multimap</code>. The new protected method 
+				<code>addDefinition()</code> can be used to make it easier to add entries to the map. Subclasses in Sirius have been updated to match the new signature.
+			</li>
+			<li>The message 
+				<code>org.eclipse.sirius.business.api.modelingproject.ModelingProject.ZERO_REPRESENTATIONS_FILE_FOUND_IN</code> has been removed without replacement. It was not really an API constant.
+			</li>
+			<li>The behavior of method 
+				<code>org.eclipse.sirius.business.api.modelingproject.ModelingProject.getMainRepresentationsFileURI()</code> has changed. It now marks this project as invalid and adds a marker on it, if it is considered as invalid (no or many representations files).
+			</li>
+			<li>A new query 
+				<code>org.eclipse.sirius.business.api.query.IFileQuery</code> has been added with a method to check if file is handled by an opened session, ie:
+				<ul>
+					<li>a semantic resource of this session,</li>
+					<li>a referenced sub representations file,</li>
+					<li>a controlled resource.</li>
+				</ul>
+			</li>
+			<li>The 
+				<code>EObjectLink</code> class has been removed from the metamodel. It was not used anywhere.
+			</li>
+			<li>In interface 
+				<code>org.eclipse.sirius.business.api.dialect.description.IInterpretedExpressionTargetSwitch</code>, the 
+				<code>getFirstRelevantContainerFinder()</code> method which returned a Guava 
+				<code>Function&lt;EObject, EObject&gt;</code> has been replaced with the new method 
+				<code>getFirstRelevantContainer(EObject)</code> which directly returns the result of applying the previously returned function. All implementers in Sirius itself have been updated.
+			</li>
+			<li>The constructor 
+				<code>org.eclipse.sirius.business.api.dialect.description.DefaultInterpretedExpressionTargetSwitch(EStructuralFeature, IInterpretedExpressionTargetSwitch, Function&lt;EObject, EObject&gt;)</code> has been removed to avoid exposing a the Guava-specific 
+				<code>Predicate</code> type. Sub-classes which used it with a non-null 
+				<code>Function</code> should override the 
+				<code>getFirstRelevantContainer(EObject)</code> method to return the result of that function instead.
+			</li>
+			<li>The 
+				<code>org.eclipse.sirius.business.api.helper.task.AbstractDeleteDRepresentationElementTask</code> constructor which took a Guava 
+				<code>Predicate&lt;EReference&gt;</code> now takes an equivalent 
+				<code>EReferencePredicate</code> (from 
+				<code>org.eclipse.sirius.ext.emf</code>).
+			</li>
+			<li>The constants 
+				<code>DSEMANTICDECORATOR_REFERENCE_TO_IGNORE_PREDICATE</code> and 
+				<code>NOTATION_VIEW_ELEMENT_REFERENCE_TO_IGNORE_PREDICATE</code> from 
+				<code>org.eclipse.sirius.business.internal.session.danalysis.DanglingRefRemovalTrigger</code> are now instances of 
+				<code>EReferencePredicate</code> instead of Guava&#8217;s 
+				<code>Predicate&lt;EReference&gt;</code>.
+			</li>
+			<li>In class 
+				<code>org.eclipse.sirius.business.api.session.SessionEventBroker</code>, the method 
+				<code>addlLocalTrigger()</code> now takes a 
+				<code>org.eclipse.emf.transaction.NotificationFilter</code> instead of a Guava-specific 
+				<code>Predicate&lt;Notification&gt;</code> as first argument.
+			</li>
+			<li>The constant 
+				<code>org.eclipse.sirius.tools.api.ui.RefreshEditorsPrecommitListener.IS_IMPACTING</code> is now a 
+				<code>NotificationFilter</code> instead of a 
+				<code>Predicate</code>, to match the API change in 
+				<code>SessionEventBroker.addLocalTrigger()</code>.
+			</li>
+			<li>The 
+				<code>org.eclipse.sirius.business.api.session.Session</code> interface has a new 
+				<code>getSavingPolicy()</code> method which gives access to the currently configured saving policy.
+			</li>
+		</ul>
+		<h4 id="Changesinorg.eclipse.sirius.diagram7">Changes in 
+			<code>org.eclipse.sirius.diagram</code>
+		</h4>
+		<ul>
+			<li>The references 
+				<code>DNode.ownedDetails</code> and 
+				<code>DDiagramElementContainerImpl.ownedDetails</code> have been removed from the metamodel, along with the corresponding implementation methods. They were not used in practice.
+			</li>
+			<li>The 
+				<code>DDiagramLink</code> EClass has been removed from the meta-model, along with the corresponding generated Java code. It was not used in practice.
+			</li>
+			<li>The 
+				<code>DDiagram.clean()</code> EOperation has been removed. It was deprecated and not used anymore. All the Java code which existed only to help in the implementation of that operation has also been removed. This includes:
+				<ul>
+					<li>The 
+						<code>org.eclipse.sirius.diagram.tools.api.validation.constraint.AbstractDDiagramConstraint.activate()</code> and 
+						<code>deactivate()</code> methods.
+					</li>
+					<li>The 
+						<code>org.eclipse.sirius.business.api.helper.SiriusHelper.unSetHarmlessDanglingReferences()</code> method.
+					</li>
+					<li>The 
+						<code>org.eclipse.sirius.tools.api.profiler.SiriusTasksKey.CLEANING_NODES_KEY</code> constant.
+					</li>
+				</ul>
+			</li>
+			<li>The 
+				<code>DSemanticDiagram.getRootContents()</code> method (which was deprecated) has been removed.
+			</li>
+			<li>The 
+				<code>DDiagram.findDiagramElements()</code> EOperation has been removed. It was deprecated and always returned an empty list if called.
+			</li>
+			<li>The 
+				<code>DDiagram.info</code> attribute has been removed. It was not used anywhere.
+			</li>
+			<li>The 
+				<code>DDiagram.subDiagram</code> reference has been removed. It was not used anywhere.
+			</li>
+			<li>The 
+				<code>DDiagramElement.isFold()</code> EOperation has been removed. It was deprecated and edge folding has long been implemented using different mechanisms.
+			</li>
+			<li>In the 
+				<code>ContainerMapping</code> type, the following EOperations have been removed: 
+				<code>createContainer()</code>, 
+				<code>updateContainer()</code>, and 
+				<code>getNodesCandidate()</code>. Although their usage is highly discouraged, if you really need to you can currently use the corresponding methods in the internal 
+				<code>ContainerMappingHelper</code> instead (use 
+				<code>SiriusPlugin.getDefault().getInterpreterRegistry().getInterpreter(semanticElement)</code> to obtain the 
+				<code>IInterpreter</code> those methods need). As with all internal code, there is no guarantee these methods will still exist in future versions.
+			</li>
+			<li>The 
+				<code>AbstractNodeMapping.getDNodesDone()</code> EOperation has been removed. It was not used anywhere.
+			</li>
+			<li>In the 
+				<code>NodeMapping</code> type, the 
+				<code>getBestStyle()</code> and 
+				<code>createListElement()</code> EOperations have been removed. Although their usage is highly discouraged, if you really need to you can currently use the corresponding methods in the internal 
+				<code>MappingHelper</code> instead (use 
+				<code>SiriusPlugin.getDefault().getInterpreterRegistry().getInterpreter(semanticElement)</code> to obtain the 
+				<code>IInterpreter</code> these methods need). As with all internal code, there is no guarantee these methods will still exist in future versions.
+			</li>
+			<li>In interface 
+				<code>org.eclipse.sirius.diagram.business.api.diagramtype.IDiagramDescriptionProvider</code>, the methods 
+				<code>allowsPinUnpin()</code>, 
+				<code>allowsHideReveal</code>, and 
+				<code>allowsCopyPasteLayout()</code>  have been modified to take directly the 
+				<code>DDiagramElement</code> to test (and return a 
+				<code>boolean</code>) instead of returning a Guava-specific 
+				<code>Predicate</code> which then had to be invoked.
+			</li>
+			<li>In class 
+				<code>org.eclipse.sirius.diagram.ui.tools.api.layout.PinHelper</code>, .the method 
+				<code>allowsPinUnpin()</code> has been modified to take a 
+				<code>DDiagramElement</code> directly and return a 
+				<code>boolean</code>, instead of taking a 
+				<code>DDiagram</code> and return a Guava-specific 
+				<code>Predicate</code> which then had to be invoked on actual 
+				<code>DDiagramElements</code>..
+			</li>
+			<li>The interface 
+				<code>org.eclipse.sirius.diagram.ui.edit.api.part.ISiriusEditPart</code> has been added and is now part of all the type hierarchy of any EditPart provided by Sirius. This allows a simple 
+				<code>instanceof ISiriusEditPart</code> to discriminate the edit part instances coming from Sirius.
+			</li>
+		</ul>
+		<h4 id="Changesinorg.eclipse.sirius.diagram.sequence">Changes in 
+			<code>org.eclipse.sirius.diagram.sequence</code>
+		</h4>
+		<ul>
+			<li>The 
+				<code>org.eclipse.sirius.diagram.sequence.util.SiriusFunctions</code> class has been removed. It was not used anywhere.
+			</li>
+			<li>The 
+				<code>org.eclipse.sirius.diagram.sequence.util.NotificationQuery</code> class has been removed. It had been exposed by mistake.
+			</li>
+			<li>The 
+				<code>org.eclipse.sirius.diagram.sequence.business.internal.util.NotationPredicate</code> class has been removed from API, to reduce Sirius&#8217;s exposure of Guava&#8217;specific types.
+			</li>
+			<li>All the static methods in 
+				<code>org.eclipse.sirius.diagram.sequence.util.Range</code> which returned Guava-specific types (
+				<code>Function</code> or 
+				<code>Ordering</code>) have been removed from API.
+			</li>
+			<li>
+				<code>org.eclipse.sirius.diagram.sequence.template.AbstractRule</code> no longer inherits from Guava&#8217;s 
+				<code>Function</code> interface, but from the news ad-hoc 
+				<code>org.eclipse.sirius.diagram.sequence.template.Transformer</code> interface instead, which is functionally equivalent.
+			</li>
+		</ul>
+		<h4 id="Changesinorg.eclipse.sirius.ui10">Changes in 
+			<code>org.eclipse.sirius.ui</code>
+		</h4>
+		<ul>
+			<li>
+				<code>org.eclipse.sirius.ui.business.api.preferences.DesignerUIPreferencesKeys</code> has been renamed into 
+				<code>org.eclipse.sirius.ui.business.api.preferences.SiriusUIPreferencesKeys</code>
+			</li>
+			<li>Methods 
+				<code>getMissingDependencies()</code> and 
+				<code>getMissingDependenciesErrorMessage()</code> from 
+				<code>org.eclipse.sirius.ui.business.api.viewpoint.ViewpointSelection</code> now use 
+				<code>Map&lt;String, Collection&lt;String&gt;&gt;</code> instead of Guava&#8217;s 
+				<code>Multimap</code>.
+			</li>
+			<li>
+				<code>org.eclipse.sirius.ui.tools.api.project.ModelingProjectManager.initializeAfterLoad()</code> method has been removed. There is no replacement for this method documented as &#8220;Not intended to be used by client&#8221;.
+			</li>
+		</ul>
+		<h4 id="Changesinorg.eclipse.sirius.ecore.extender4">Changes in 
+			<code>org.eclipse.sirius.ecore.extender</code>
+		</h4>
+		<ul>
+			<li>All variants of 
+				<code>eDelete()</code> methods which took a 
+				<code>Predicate&lt;EReference&gt;</code> in types 
+				<code>ModelAccessore</code>, 
+				<code>IMetamodelExtender</code> and 
+				<code>CompositeMetamodelExtender</code> now take an equivalent 
+				<code>EReferencePredicate</code> (from 
+				<code>org.eclipse.sirius.ext.emf</code>).
+			</li>
+			<li>The 
+				<code>ModelUtils.resolveAll(ResourceSet set, EReferencePredicate)</code> now takes an 
+				<code>EReferencePredicate</code> instead of a Guava-specific 
+				<code>Predicate&lt;EReference&gt;</code>.
+			</li>
+		</ul>
+		<h4 id="Changesinorg.eclipse.sirius.ext.base">Changes in 
+			<code>org.eclipse.sirius.ext.base</code>
+		</h4>
+		<ul>
+			<li>The 
+				<code>org.eclipse.sirius.ext.base.Options.isSome()</code> method has been removed to reduce Sirius&#8217;s exposure of Guava&#8217;specific types. Use 
+				<code>Option.some()</code> directly instead.
+			</li>
+			<li>
+				<code>org.eclipse.sirius.ext.base.relations.Relation</code> no longer inherits from 
+				<code>com.google.common.base.Function</code>, but keeps the same API otherwise.
+			</li>
+		</ul>
+		<h4 id="Changesinorg.eclipse.sirius.synchronizer4">Changes in 
+			<code>org.eclipse.sirius.synchronizer</code>
+		</h4>
+		<ul>
+			<li>The 
+				<code>org.eclipse.sirius.synchronizer.Mapping.IS_CHECK_ONLY</code> constant has been removed to reduce Sirius&#8217;s exposure of Guava&#8217;specific types. Use 
+				<code>!Mapping.getCreator().some()</code> instead.
+			</li>
+			<li>The 
+				<code>Maybe</code> and 
+				<code>MaybeFactory</code> types have been removed, and all their uses in 
+				<code>org.eclipse.sirius.synchronizer</code> converted to the equivalent 
+				<code>Option</code> and 
+				<code>Options</code> types from 
+				<code>org.eclipse.sirius.ext.base</code>.
+			</li>
+			<li>The internal class 
+				<code>MappingHiearchy.HiearchyIterator</code> has been removed from API.
+			</li>
+		</ul>
+		<h4 id="Changesinorg.eclipse.sirius.tests.support2">Changes in 
+			<code>org.eclipse.sirius.tests.support</code>
+		</h4>
+		<ul>
+			<li>The 
+				<code>shouldReloadSession</code> boolean parameter has been removed from 
+				<code>org.eclipse.sirius.tests.support.api.SiriusTestCase.disableUICallBackOnDialectEditor(DialectEditor)</code>, it was not used and could let the tester think he can change the reload behavior from the dialog factory.
+			</li>
+			<li>
+				<code>org.eclipse.sirius.tests.swtbot.support.api.AbstractSiriusSwtBotGefTestCase.refreshDiagram()</code> has been removed. This method did not handle the non dynamic tabbar and was a duplicate of manualRefresh(). Callers must select the diagram before the call,the click(0,0) instruction was not sufficient in several cases (for example if there is a node/container in (0,0)).
+			</li>
+			<li>
+				<code>org.eclipse.sirius.tests.swtbot.support.api.editor.SWTBotDesignerEditor</code> has been renamed into 
+				<code>SWTBotSiriusDiagramEditor</code>.
+			</li>
+			<li>
+				<code>org.eclipse.sirius.tests.swtbot.support.api.editor.SWTBotDesignerGefViewer</code> has been renamed into 
+				<code>SWTBotSiriusGefViewer</code>.
+			</li>
+			<li>
+				<code>org.eclipse.sirius.tests.swtbot.support.api.editor.SWTBotDesignerHelper</code> has been renamed into 
+				<code>SWTBotSiriusHelper</code>.
+			</li>
+			<li>Methods 
+				<code>AbstractSiriusSwtBotGefTestCase.openRepresentation</code> with 
+				<code>SWTBotDesignerEditor</code> as returned type have been renamed into 
+				<code>openDiagram</code>, marked as deprecated and replaced with methods returning a 
+				<code>SWTBotEditor</code>. You can now use methods 
+				<code>openRepresentation</code> for DTree or DTable. If the 
+				<code>expectedRepresentationClass</code> is 
+				<code>DDiagram.class</code>, the returned type will be a 
+				<code>SWTBotSiriusDiagramEditor</code>.
+			</li>
+			<li>Method 
+				<code>org.eclipse.sirius.tests.swtbot.support.api.editor.SWTBotSiriusHelper.getDesignerEditor(String)</code> has been renamed into 
+				<code>getSiriusDiagramEditor</code>.
+			</li>
+			<li>Add 
+				<code>SWTBotSiriusHelper.getSiriusEditor(String)</code> to return the 
+				<code>SWTBotEditor</code> (diagram, tree or table editor) with the given name. The name is the name as displayed on the editor&#8217;s tab in Eclipse. In case of multiple editors with the same fileName, the same method with an additional parameter, the index, has been added 
+				<code>SWTBotSiriusHelper.getSiriusEditor(String, int)</code>.
+			</li>
+			<li>Change the behavior of 
+				<code>org.eclipse.sirius.tests.swtbot.support.api.editor.SWTBotSiriusDiagramEditor.zoom(ZoomLevel)</code> to directly change the zoom level of the current diagram editor without trying to change it from the zoom combo in the tabbar.
+			</li>
+			<li>Add 
+				<code>org.eclipse.sirius.tests.swtbot.support.api.editor.SWTBotSiriusDiagramEditor.zoomFromToolbar(ZoomLevel)</code> to add possibility to explicitly change the zoom level from the tabbar.
+			</li>
+		</ul>
+		<h2 id="sirius1.0M6">Changes in Sirius 1.0.0M6 (from Sirius 1.0M5)</h2>
+		<h3 id="APIChanges4">API Changes</h3>
+		<h4 id="tests">High-level API for Automated Tests Using JUnit and SWTBot</h4>
+		<p>Starting from version 1.0.0M6, Sirius includes high-level APIs to help creating automated tests using JUnit and/or SWTBot. These can be used either to test Sirius itself or to test Sirius-based modelers. These APIs are provided by two plug-ins:</p>
+		<ul>
+			<li>
+				<code>org.eclipse.sirius.tests.support</code>: support code for JUnit (plug-in) tests using Sirius.
+			</li>
+			<li>
+				<code>org.eclipse.sirius.tests.swtbot.support</code>: support code for SWTBot tests using Sirius.
+			</li>
+		</ul>
+		<p>Both plug-ins are only available if you install the new 
+			<code>org.eclipse.sirius.tests</code> feature.
+		</p>
+		<h4 id="separationOfDiagramSpecificConcept-step2">Move diagram-specific EPackages into their own diagram.ecore model</h4>
+		<p>This milestone (Sirius 1.0M6) includes the second step towards a full separation of the diagram-specific stuff out of the core of Sirius (see 
+			<a href="#separationOfDiagramSpecificConcept-step1">Step1</a> for more details).
+		</p>
+		<p>This step is less impactful on your code than the first step. Nevertheless, some missed classes during first step have moved during this step:</p>
+		<ul>
+			<li>Remove 
+				<code>DDiagramSet</code> and its corresponding reference from 
+				<code>DRepresentationContainer</code>: No longer needed
+			</li>
+			<li>
+				<code>DragAndDropTarget</code>, 
+				<code>DragAndDropTargetDescription</code> and 
+				<code>ContainerDropDescription</code> have been moved to diagram EPackage.
+			</li>
+			<li>
+				<code>viewpoint/diagram/description/validation</code> EPackage has been moved to 
+				<code>viewpoint/description/validation</code>: revert what was done in step 1 by mistake.
+			</li>
+		</ul>
+		<p>The existing VSM (
+			<code>*.odesign</code>) and representations file (
+			<code>*.aird</code>) are automatically migrated.
+		</p>
+		<p>Warning: If you have some code based on the root EPackage of an EClass, it may be necessary to adapt it. Example:</p>
+		<pre>EPackage rootPackage = (EPackage) EcoreUtil.getRootContainer(element.eClass());
+if (rootPackage != null &amp;&amp; rootPackage.getNsURI().equals(ViewpointPackage.eINSTANCE.getNsURI())) {
+</pre>
+		<p>should be adapted in</p>
+		<pre>EPackage rootPackage = (EPackage) EcoreUtil.getRootContainer(element.eClass());
+if (rootPackage != null &amp;&amp; rootPackage.getNsURI().equals(DiagramPackage.eINSTANCE.getNsURI())) {
+</pre>
+		<p>if 
+			<code>element</code> is a Diagram concept.
+		</p>
+		<h4 id="Changesinorg.eclipse.sirius11">Changes in 
+			<code>org.eclipse.sirius</code>
+		</h4>
+		<ul>
+			<li>The 
+				<code>org.eclipse.sirius.tools.api.command.IDiagramCommandFactory.setAutoRefreshDView()</code> method was removed. It had no effect, any code which called it can simply be removed.
+			</li>
+			<li>The deprecated interface 
+				<code>org.eclipse.sirius.business.api.componentization.ViewpointRegistryListener</code> has been removed. Use 
+				<code>org.eclipse.sirius.business.api.componentization.ViewpointRegistryListener2</code> instead.
+			</li>
+			<li>
+				<code>org.eclipse.sirius.business.api.session.SessionManagerListener2</code> and 
+				<code>org.eclipse.sirius.business.api.session.SessionManagerListener</code> have been merged into 
+				<code>org.eclipse.sirius.business.api.session.SessionManagerListener</code> which is not deprecated any more.
+			</li>
+			<li>The deprecated method 
+				<code>org.eclipse.sirius.business.api.session.SessionManagerListener.notifyUpdatedSession(Session)</code> has been removed. Use 
+				<code>org.eclipse.sirius.business.api.session.SessionManagerListener.notify(Session, int)</code> instead.
+			</li>
+			<li>
+				<code>org.eclipse.sirius.business.api.helper.task.RemoveDanglingReferencesTask</code> and 
+				<code>org.eclipse.sirius.business.api.helper.task.RemoveSemanticDanglingReferenceTask</code> and 
+				<code>org.eclipse.sirius.tools.api.command.AbstractCommandFactory.addRemoveDanglingReferencesTask()</code> have been removed. These tasks were added to in several commands to remove dangling references at the end. They are now replaced by a specific 
+				<code>ModelChangeTrigger</code> to detect the detachment of 
+				<code>EObject</code> and remove the dangling references. It is added to the 
+				<code>SessionEventBroker</code> during the session opening.
+			</li>
+			<li>
+				<code>org.eclipse.sirius.tools.api.ui.RefreshEditorsPrecommitListener</code> was a precommit 
+				<code>ResourceSetListener</code>, it became a 
+				<code>ModelChangeTrigger</code> and is now added to the SessionEventBroker during the session opening. This modification allows to correctly manage the order of our different precommit commands. It is triggered after the dangling reference remover.
+			</li>
+			<li>
+				<code>org.eclipse.sirius.tools.api.command.semantic.RemoveDanglingReferences</code> is no more used in Sirius commands. It can still be used to clean a resourceSet or a resource (repair tool, import/export, ..). It also has a new static method 
+				<code>removeDanglingReferences(Resource)</code> to remove dangling references as an entry point.
+			</li>
+			<li>The protected predicate 
+				<code>org.eclipse.sirius.business.api.helper.task.AbstractDeleteDRepresentationElementTask.DSEMANTICDECORATOR_REFERENCE_T0_IGNORE_PREDICATE</code> has been removed, the internal predicate 
+				<code>DanglingRefRemovalTrigger.DSEMANTICDECORATOR_REFERENCE_T0_IGNORE_PREDICATE</code> is used instead.
+			</li>
+			<li>The 
+				<code>org.eclipse.sirius.business.api.helper.SiriusUtil.findDiagram(EObject)</code> method has been removed. Use the equivalent 
+				<code>new org.eclipse.sirius.business.api.query.EObjectQuery(element).getParentDiagram()</code> instead.
+			</li>
+		</ul>
+		<h4 id="Changesinorg.eclipse.sirius.ui11">Changes in 
+			<code>org.eclipse.sirius.ui</code>
+		</h4>
+		<ul>
+			<li>The 
+				<code>org.eclipse.sirius.ui.tools.api.perspectives.DesignPerspective</code> interface has been moved to 
+				<code>org.eclipse.sirius.editor.tools.api.perspectives</code> package in 
+				<code>org.eclipse.sirius.editor</code> plugin. This perspective is now provided through the 
+				<code>org.eclipse.sirius.editor</code> plugin. The perspective ID is kept unchanged for a compatibility reason.
+			</li>
+			<li>The deprecated class 
+				<code>org.eclipse.sirius.ui.tools.api.dialogs.ExportRepresentationsAsImagesDialog</code> has been removed. Use 
+				<code>org.eclipse.sirius.ui.tools.api.dialogs.ExportSeveralRepresentationsAsImagesDialog</code> instead.
+			</li>
+		</ul>
+		<h4 id="Changesinorg.eclipse.sirius.diagram8">Changes in 
+			<code>org.eclipse.sirius.diagram</code>
+		</h4>
+		<ul>
+			<li>
+				<code>org.sirius.diagram.graphical.edit.policies.AirNoteAttachmentEditPolicy</code> has been removed, with the new dangling reference management, it became identical to its superclass, use 
+				<code>org.eclipse.gmf.runtime.diagram.ui.internal.editpolicies.ConnectionEditPolicy</code> instead. Its provider 
+				<code>org.sirius.diagram.graphicalou .edit.policies.AirNoteAttachmentEditPolicyProvider</code> and declaration in plugin.xml have been removed too.
+			</li>
+		</ul>
+		<h4 id="Changesinorg.eclipse.sirius.table3">Changes in 
+			<code>org.eclipse.sirius.table</code>
+		</h4>
+		<ul>
+			<li>The 
+				<code>org.eclipse.sirius.table.tools.api.command.ITableCommandFactory.setAutoRefreshDTable()</code> method was removed. It had no effect, any code which called it can simply be removed.
+			</li>
+		</ul>
+		<h4 id="Changesinorg.eclipse.sirius.tree3">Changes in 
+			<code>org.eclipse.sirius.tree</code>
+		</h4>
+		<ul>
+			<li>The 
+				<code>org.eclipse.sirius.tree.business.api.command.ITreeCommandFactory.setAutoRefreshDTree()</code> method was removed. It had no effect, any code which called it can simply be removed.
+			</li>
+		</ul>
+		<h2 id="sirius1.0M5">Changes in Sirius 1.0.0M5 (from Sirius 1.0M4)</h2>
+		<h3 id="UserVisibleChanges12">User-Visible Changes</h3>
+		<ul>
+			<li>The table csv export has been improved to handle cropped label. In some specific cases, the cell label is automatically cropped and &#8216;...&#8217; is concatenated to the resulting value. This cropped displayed label was previously exported, now the complete semantic value is exported.</li>
+		</ul>
+		<h3 id="APIChanges5">API Changes</h3>
+		<h4 id="LibraryExtensions">Library Extensions</h4>
+		<p>This milestone (Sirius 1.0M5) introduces several new plug-ins, collectively called &#8220;library extensions&#8221;. They are all named 
+			<code>org.eclipse.sirius.ext.LIB</code>, where 
+			<code>LIB</code> is the name of a library or component Sirius depends on. These plug-ins are used to isolate generic code which extends existing libraries with features and helpers needed for Sirius, but which do not depend on Sirius themselves. A relatively large part of the code in Sirius is of this kind: things that could/should be in EMF, GMF, Eclipse itself, etc. and which are not Sirius-specific but which make it easier to build Sirius itself. Sirius 1.0M5 introduces several of these library extensions and starts to fill them with existing classes which were &#8220;hidden&#8221; inside Sirius and are now exposed in library extensions. Most of the time, existing code which used the Sirius API will only need to:
+		</p>
+		<ol>
+			<li>Add the necessary 
+				<code>Import-Package</code> (recommended) or 
+				<code>Require-Bundle</code> to depend on the library extension(s) where the code they use now lives;
+			</li>
+			<li>Perform a simple &#8220;Organize Imports&#8221; operation, which should find the classes and interfaces in their new locations.</li>
+		</ol>
+		<h4 id="separationOfDiagramSpecificConcept-step1">Move diagram-specific EClasses into a separate EPackage</h4>
+		<p>For historical reasons, the core Sirius metamodels defined in viewpoint.ecore contain both generic (dialect-independant like Viewpoint, RepresentationDescription, DAnalysis...) concepts and diagram-specific ones (e.g. DNode, EdgeStyle, ContainerCreationDescription...). The table and tree metamodels are more cleanly separated.
+			<br/>This milestone (Sirius 1.0M5) includes the first step towards a full separation of the diagram-specific stuff out of the core of Sirius. So many EClasses have been moved.
+		</p>
+		<p>Most of the time, existing code which used these Sirius EClasses will only need to perform a simple &#8220;Organize Imports&#8221; operation, which should find the classes and interfaces in their new locations.
+			<br/>The &#8220;Organize imports&#8221; is not sufficient in case of imported classes existing several time in different packages (
+			<code>EFactory</code> classes for example with 
+			<code>DescriptionFactory</code>, or 
+			<code>EPackage</code> classes for example with 
+			<code>DescriptionPackage</code>). And in some cases 
+			<code>ViewpointFactory</code> (and 
+			<code>ViewpointPackage</code>) will have to be replaced by 
+			<code>DiagramFactory</code> (and 
+			<code>DiagramPackage</code>).
+		</p>
+		<p>The 
+			<code>Switch</code> classes if overridden also require a particular attention.
+		</p>
+		<p>The existing VSM (
+			<code>*.odesign</code>) and representations file (
+			<code>*.aird</code>) are automatically migrated.
+			<br/>Warning: Nevertheless, if you reference these Sirius concepts with the EPackage qualifier in your VSM (
+			<code>*.odesign</code>), in interpreted expressions for example, you must change 
+			<code>viewpoint</code> in 
+			<code>diagram</code>. For example 
+			<code>viewpoint::DDiagramElement</code> becomes 
+			<code>diagram::DDiagramElement</code>.
+		</p>
+		<p>The impacted EPackages are :</p>
+		<ul>
+			<li>
+				<code>viewpoint</code> : some of its EClasses have been moved to 
+				<code>viewpoint/diagram</code>
+			</li>
+			<li>
+				<code>viewpoint/description</code> : some of its EClasses have been moved to 
+				<code>viewpoint/diagram/description</code>
+			</li>
+			<li>
+				<code>viewpoint/description/style</code> : some of its EClasses have been moved to 
+				<code>viewpoint/diagram/description/style</code>
+			</li>
+			<li>
+				<code>viewpoint/description/tool</code> : some of its EClasses have been moved to 
+				<code>viewpoint/diagram/description/tool</code>
+			</li>
+			<li>
+				<code>viewpoint/description/filter</code> : this EPackage has been moved to 
+				<code>viewpoint/diagram/description/filter</code>
+			</li>
+			<li>
+				<code>viewpoint/description/validation</code> : this EPackage has been moved to 
+				<code>viewpoint/diagram/description/validation</code>
+			</li>
+			<li>
+				<code>viewpoint/description/concern</code> : this EPackage has been moved to 
+				<code>viewpoint/diagram/description/concern</code>
+			</li>
+		</ul>
+		<h4 id="Changesinorg.eclipse.sirius12">Changes in 
+			<code>org.eclipse.sirius</code>
+		</h4>
+		<ul>
+			<li>The 
+				<code>org.eclipse.sirius.business.api.migration.resource.StringCouple</code> class has been removed.
+			</li>
+			<li>The 
+				<code>org.eclipse.sirius.business.api.dialect.description.IInterpretedExpressionTargetSwitch.getFirstRelevantContainerFinder</code> method has been added to let each dialect use its own 
+				<code>Function</code> to retrieve the first relevant container of a given 
+				<code>EObject</code>, i.e. the first container from which a domain class can be determined.
+			</li>
+		</ul>
+		<h4 id="Changesinorg.eclipse.sirius.common.ui4">Changes in 
+			<code>org.eclipse.sirius.common.ui</code>
+		</h4>
+		<ul>
+			<li>The 
+				<code>org.eclipse.sirius.common.ui.business.api.interpreter.VariableContentProvider</code> class has been removed.
+			</li>
+			<li>The 
+				<code>org.eclipse.sirius.common.ui.tools.api.util.ISimpleAction</code> interface has been removed.
+			</li>
+			<li>The method 
+				<code>org.eclipse.sirius.common.ui.tools.api.dialog.RenameDialog.setText()</code> has been removed. You can now directly call  
+				<code>org.eclipse.sirius.common.ui.tools.api.dialog.RenameDialog.setDefaultNewName()</code> which has been added to set the default new name to display. Note that this method must be called before Dialog.create().
+			</li>
+			<li>The overriden method 
+				<code>org.eclipse.sirius.common.ui.tools.api.dialog.RenameDialog.setTitle()</code> has been removed. Note that the inherited 
+				<code>setTile()</code> method is still available but must be called before Dialog.create().
+			</li>
+		</ul>
+		<h4 id="Changesinorg.eclipse.sirius.table4">Changes in 
+			<code>org.eclipse.sirius.table</code>
+		</h4>
+		<ul>
+			<li>The 
+				<code>org.eclipse.sirius.table.business.api.query.DCellQuery.getExportableLabel()</code> method has been added to compute the label to export when the label is cropped by the 
+				<code>org.eclipse.emf.edit.provider.ItemPropertyDescriptor.ItemDelegator</code>.
+			</li>
+		</ul>
+		<h4 id="Changesinorg.eclipse.sirius.table.ui2">Changes in 
+			<code>org.eclipse.sirius.table.ui</code>
+		</h4>
+		<ul>
+			<li>The 
+				<code>org.eclipse.sirius.table.ui.business.api.helper.TableUIHelper</code> now uses 
+				<code>DCellQuery.getExportableLabel()</code> to compute the cell labels used in HTML export.
+			</li>
+		</ul>
+		<h4 id="Changesinorg.eclipse.sirius.ui12">Changes in 
+			<code>org.eclipse.sirius.ui</code>
+		</h4>
+		<ul>
+			<li>The long-deprecated 
+				<code>org.eclipse.sirius.ui.business.api.session.DeprecatedIEditingSession</code> interface has been removed. Use the corresponding methods from 
+				<code>org.eclipse.sirius.ui.business.api.session.IEditingSession</code> instead.
+			</li>
+		</ul>
+		<h2 id="sirius1.0M4">Changes in Sirius 1.0.0M4 (from Sirius 0.9)</h2>
+		<h3 id="UserVisibleChanges13">User-Visible Changes</h3>
+		<ul>
+			<li>The ability to print table representations, which had been disabled for the 0.9 release, has been re-enabled.</li>
+		</ul>
+		<h3 id="APIChanges6">API Changes</h3>
+		<p>Sirius 1.0.0M4 includes a lots of API-breaking changes, as part of a global effort to improve the quality of the Sirius internals. In this milestone in particular, most of the APIs which were marked as deprecated in previous versions of Sirius (and before that of Viewpoint) have been either removed (if a replacement exists) or marked as non-deprecated (if no replacement exists yet).</p>
+		<h4 id="Changesinorg.eclipse.sirius.common8">Changes in 
+			<code>org.eclipse.sirius.common</code>
+		</h4>
+		<ul>
+			<li>Two deprecated constructors have been removed in 
+				<code>FeatureEditorDialog</code>. Use the remaining constructor instead, which provides proper behavior for both unique and non-unique features.
+			</li>
+			<li>The deprecated method 
+				<code>IEditingDomainFactory.createEditingDomain()</code> has been removed. Use the (inherited) 
+				<code>createEditingDomain(ResourceSet)</code> instead, which ensures correct behavior for all kinds of models (Xtext for example).
+			</li>
+			<li>The deprecated field 
+				<code>org.eclipse.sirius.common.tools.api.listener.Notification.FOLD</code> has been removed. It was never used by Sirius itself, so if your code tried to listen to this kind of notification it was never actually called and can be safely removed.
+			</li>
+			<li>The deprecated methods 
+				<code>getExtensionPlugins()</code> and 
+				<code>getElementsProvidedByPlugin</code> from 
+				<code>EcliseUtil</code> have been removed. If you need this kind of functionality, use the Eclipse APIs directly instead.
+			</li>
+			<li>The deprecated fields 
+				<code>COLUMN_SEMANTIC</code> and 
+				<code>LINE_SEMANTIC</code> of 
+				<code>IInterpreterSiriusVariables</code> have been removed. Use the constants of 
+				<code>org.eclipse.sirius.table.tools.api.interpreter.IInterpreterSiriusTableVariables</code> instead.
+			</li>
+		</ul>
+		<h4 id="Changesinorg.eclipse.sirius13">Changes in 
+			<code>org.eclipse.sirius</code>
+		</h4>
+		<ul>
+			<li>The deprecated method 
+				<code>DialectServices.initRepresentations(Viewpoint, EObject)</code> has been removed. Use the version which takes an additional 
+				<code>IProgressMonitor</code> instead.
+			</li>
+			<li>The deprecated constructor in 
+				<code>CreateRepresentationCommand</code> has been removed. Use the alternative constructor which takes an additional 
+				<code>IProgressMonitor</code> instead.
+			</li>
+			<li>The two deprecated constructors in 
+				<code>RefreshRepresentationCommand</code> have been removed. Use the alternative constructors which take an additional 
+				<code>IProgressMonitor</code> instead.
+			</li>
+			<li>The deprecated method 
+				<code>DisplayService.computeVisibility(Session, DDiagram, DDiagramElement)</code> has been removed. Use the variant 
+				<code>computeVisibility()</code> which takes a 
+				<code>DiagramMappingsManager</code> instead of a 
+				<code>Session</code>.
+			</li>
+			<li>The following deprecated methods in 
+				<code>FilterService</code> have been removed:
+				<ul>
+					<li>
+						<code>activateCache()</code>: use 
+						<code>DisplayService.activateCache()</code> instead.
+					</li>
+					<li>
+						<code>deactivateCache()</code>: use 
+						<code>DisplayService.deactivateCache()</code> instead.
+					</li>
+					<li>
+						<code>activate()</code>: use 
+						<code>DisplayService.activate()</code> instead.
+					</li>
+					<li>
+						<code>deactivate()</code>: use 
+						<code>DisplayService.deactivate()</code> instead.
+					</li>
+					<li>
+						<code>isActivated()</code>: use 
+						<code>DisplayServiceManager.INSTANCE.getMode() == DisplayMode.NORMAL</code> instead.
+					</li>
+					<li>
+						<code>isCollapse()</code>: use 
+						<code>isCollapsed()</code> instead.
+					</li>
+					<li>
+						<code>isVisibleForFilters()</code>: use 
+						<code>getAppliedFilters()</code> instead.
+					</li>
+					<li>
+						<code>isVisible()</code>: use 
+						<code>DisplayService.isDisplayed()</code> instead.
+					</li>
+					<li>
+						<code>isFiltered()</code>, 
+						<code>isNotFiltered()</code>, 
+						<code>isVisibleForActivatedFilters(), @checkFilters()</code>: use 
+						<code>getAppliedFilters()</code> and 
+						<code>DDiagram.getActivatedFilters()</code> instead.
+					</li>
+				</ul>
+			</li>
+			<li>The deprecated methods 
+				<code>isDirectlyHidden()</code> and 
+				<code>isIndirectlyHidden()</code> in 
+				<code>HideFilterHelper</code> have been removed. Use the corresponding methods in 
+				<code>DDiagramElementQuery</code> instead.
+			</li>
+			<li>The deprecated method 
+				<code>SavingPolicy.save(Iterable, Map)</code> has been removed. Use the variant which takes an additional 
+				<code>IProgressMonitor</code> instead.
+			</li>
+			<li>The deprecated constructor 
+				<code>AbstractCommandFactory(TransactionalEditingDomain, ModelAccessor)</code> has been removed. Use the variant without the 
+				<code>ModelAccessor</code> argument instead.
+			</li>
+			<li>The deprecated constructor 
+				<code>CommandContext(EObject)</code> has been removed. Use the variant which takes an additional 
+				<code>DRepresentation</code> instead.
+			</li>
+			<li>The deprecated methods 
+				<code>activate(TransactionalEditingDomain)</code> and 
+				<code>deactivate(TransactionalEditingDomain)</code> in 
+				<code>IChangeListener</code> have been removed. Use the variants with no argument instead.
+			</li>
+			<li>The deprecated constructor 
+				<code>AddSemanticResourceCommand(Session, URI)</code> has been removed. Use the variant which takes an additional 
+				<code>IProgressMonitor</code> instead.
+			</li>
+			<li>The deprecated constructors of 
+				<code>RemoveSemanticResourceCommand</code> have been removed. Use the variants which takes an additional 
+				<code>IProgressMonitor</code> instead.
+			</li>
+			<li>The deprecated constructor in 
+				<code>CreateDiagramWithInitialOperation</code> has been removed. Use the variant which takes an additional 
+				<code>IProgressMonitor</code> instead.
+			</li>
+			<li>The deprecated method 
+				<code>SessionManager.addResource(Session, Resource)</code> has been removed. Use the 
+				<code>Session.addSemanticResource(URI, IProgressMonitor)</code> instead. In code, 
+				<code>mySessionManager.addResource(mySession, myResource)</code> should be replaced by 
+				<code>mySession.addSemanticResource(myResource.getURI(), new NullProgressMonitor())</code>. Notice that this replacement has not the exact same behavior. The notifications 
+				<code>SessionListener.ABOUT_TO_BE_REPLACED</code> and 
+				<code>SessionListener.REPLACED</code> are not thrown with 
+				<code>addSemanticResource</code> contrary to 
+				<code>addResource</code>. But this kind of notifications is more for reloading of resource.
+			</li>
+			<li>The deprecated constructor of 
+				<code>DefaultLocalSessionCreationOperation</code> have been removed. Use the variant which takes an additional 
+				<code>IProgressMonitor</code> instead.
+			</li>
+			<li>The deprecated method 
+				<code>SessionManager.getSession(URI)</code> has been removed. Use the variant which takes an additional 
+				<code>IProgressMonitor</code> instead.
+			</li>
+			<li>The deprecated method 
+				<code>SessionFactory.createSession(URI)</code> has been removed. Use the variant which takes an additional 
+				<code>IProgressMonitor</code> instead.
+			</li>
+			<li>Deprecated class 
+				<code>RefreshRepresentationCommand</code> has been removed. Use the class 
+				<code>RefreshRepresentationsCommand</code> instead.
+			</li>
+			<li>Deprecated classes 
+				<code>RevealSiriusElement</code> and 
+				<code>RevealDDiagramElement</code> have been removed. Use the class 
+				<code>RevealDDiagramElements</code> instead.
+			</li>
+			<li>The deprecated method 
+				<code>DAnalysisSession.save(Map&lt;?, ?&gt;)</code> has been removed. Use the variant which takes an additional 
+				<code>IProgressMonitor</code> instead.
+			</li>
+			<li>The deprecated method 
+				<code>MappingTableEntry.getImporter()</code> has been updated. It now returns an optional (
+				<code>org.eclipse.sirius.common.tools.api.util.Option</code>) of 
+				<code>MappingTableEntry</code>.
+			</li>
+			<li>The deprecated class 
+				<code>IEMFCommandFactory</code> has been removed. It is not used in Sirius code anymore.
+			</li>
+			<li>The deprecated method 
+				<code>IDiagramCommandFactory.buildCreateDiagramFromDescription(DiagramDescription, EObject)</code> has been removed. Use the variant which takes an additional 
+				<code>IProgressMonitor</code> instead.
+			</li>
+			<li>The deprecated methods 
+				<code>dispose()</code> and 
+				<code>disposeInterpreterRegistry(EObject)</code> have been removed from 
+				<code>InterpreterRegistry</code>. They corresponded to dead code.
+			</li>
+			<li>The deprecated method 
+				<code>InterpreterRegistry.prepareImportsFromModelElement(IInterpreter, EObject)</code> has been removed. Use 
+				<code>InterpreterRegistry.prepareImportsFromSession(IInterpreter, Session)</code> instead. To get 
+				<code>Session</code> from 
+				<code>EObject</code>, you can use 
+				<code>SessionManager.INSTANCE.getSession(EObject)</code>.
+			</li>
+			<li>The deprecated method 
+				<code>SiriusHelper.createDAnalysis()</code> has been removed. Use 
+				<code>ViewpointFactory.eINSTANCE.createDAnalysis()</code> instead.
+			</li>
+			<li>The deprecated method 
+				<code>SessionFactory.createSession(DAnalysis)</code> has been removed. It is not intended to be used, but it can be replaced by 
+				<code>SessionFactory.INSTANCE.createSession(analysis.eResource().getURI(), new NullProgressMonitor())</code>.
+			</li>
+			<li>The method 
+				<code>buildDoExecuteDetailsOperation(DSemanticDecorator, RepresentationCreationDescription, String) has been pull up from @ITableCommandFactory</code>, 
+				<code>ITreeCommandFactory</code> and 
+				<code>IDiagramCommandFactory</code> to 
+				<code>ICommandFactory</code>.
+			</li>
+			<li>The method 
+				<code>getUserInterfaceCallBack()</code> has been pull up from 
+				<code>ITableCommandFactory</code> and 
+				<code>ITreeCommandFactory</code> to 
+				<code>ICommandFactory</code>. And 
+				<code>AbstractCommandFactory</code> now implements this method.
+			</li>
+			<li>The unused reference 
+				<code>allActivatedEdgeMappings</code> from 
+				<code>Layer</code> and 
+				<code>DiagramDescription</code> has been removed from the viewpoint.ecore meta-model. This reference always returns empty list.
+			</li>
+		</ul>
+		<h4 id="Changesinorg.eclipse.sirius.diagram9">Changes in 
+			<code>org.eclipse.sirius.diagram</code>
+		</h4>
+		<ul>
+			<li>The deprecated methods 
+				<code>IDiagramEdgeEditPart.refreshPath()</code> and 
+				<code>AbstractDiagramEdgeEditPart.refreshPath()</code> have been removed. It is not called in Sirius code anymore
+			</li>
+		</ul>
+		<h4 id="Changesinorg.eclipse.sirius.ecore.extender5">Changes in 
+			<code>org.eclipse.sirius.ecore.extender</code>
+		</h4>
+		<ul>
+			<li>The deprecated methods 
+				<code>IMetamodelExtender.eDelete(EObject)</code>, 
+				<code>CompositeMetamodelExtender.eDelete(EObject)</code> and 
+				<code>ModelAccessor.eDelete(EObject)</code> have been removed. Use the variants which takes an additional 
+				<code>ECrossReferenceAdapter</code> instead. This 
+				<code>ECrossReferenceAdapter</code> can be null.
+			</li>
+		</ul>
+		<h4 id="Changesinorg.eclipse.sirius.ui13">Changes in 
+			<code>org.eclipse.sirius.ui</code>
+		</h4>
+		<ul>
+			<li>All deprecated methods in 
+				<code>ModelingProjectManager</code> have been removed. Use the corresponding versions which take an additional 
+				<code>IProgressMonitor</code> parameter instead.
+			</li>
+			<li>All deprecated methods in 
+				<code>ViewpointSelection</code> have been removed. Use the corresponding versions which take an additional 
+				<code>IProgressMonitor</code> parameter instead.
+			</li>
+			<li>Deprecated class 
+				<code>org.eclipse.sirius.ui.business.api.control.SiriusControlCommand</code> has been removed. Use the class 
+				<code>org.eclipse.sirius.business.api.control.SiriusControlCommand</code> instead (same constructor but with an additional 
+				<code>IProgressMonitor</code> parameter).
+				<ul>
+					<li>Ditto for 
+						<code>SiriusUnControlCommand</code>
+					</li>
+				</ul>
+			</li>
+			<li>The deprecated method 
+				<code>DialectUIServices.openEditor(Session, DRepresentation)</code> has been removed. Use the variant which takes an additional 
+				<code>IProgressMonitor</code> instead.
+			</li>
+			<li>The deprecated method 
+				<code>SessionHelper.openStartupRepresentations(Session)</code> has been removed. Use the variant which takes an additional 
+				<code>IProgressMonitor</code> instead.
+			</li>
+			<li>The deprecated method 
+				<code>SiriusControlHandler.performControl(Shell, EObject)</code> has been removed. Use the variant which takes an additional 
+				<code>IProgressMonitor</code> instead.
+			</li>
+			<li>The deprecated method 
+				<code>SiriusUncontrolHandler.performUncontrol(Shell, EObject)</code> has been removed. Use the variant which takes an additional 
+				<code>IProgressMonitor</code> instead.
+			</li>
+			<li>New class 
+				<code>AbstractCreateRepresentationFromRepresentationCreationDescription</code>: Generalization of all 
+				<code>CreateRepresentationFromRepresentationCreationDescription</code> classes (iof plug-ins sirius.diagram, sirius.table.ui, sirius.tree.ui).
+			</li>
+		</ul>
+		<h4 id="Changesinorg.eclipse.sirius.table5">Changes in 
+			<code>org.eclipse.sirius.table</code>
+		</h4>
+		<ul>
+			<li>The deprecated method 
+				<code>TableHelper.getCell(DLine, String)</code> has been removed. Use the variant which take a DLine and a DColumn as parameters.
+			</li>
+		</ul>
+		<h4 id="Changesinorg.eclipse.sirius.tree4">Changes in 
+			<code>org.eclipse.sirius.tree</code>
+		</h4>
+		<ul>
+			<li>The deprecated method 
+				<code>DTreeUserInteraction.refreshContent()</code> has been removed. Use the variant which take an additional 
+				<code>IProgressMonitor</code> parameter instead.
+			</li>
+		</ul>
+		<h2 id="sirius0.9">Changes in Sirius 0.9.0</h2>
+		<p>Version 0.9.0 is the first release under the Sirius name and under the Eclipse Foundation umbrella. Except for the few cases mentioned below (in the &#8220;Other API Changes&#8221;, &#8220;Specifier-Visible Changes&#8221; and &#8220;User-Visible Changes&#8221; sections), Sirius 0.9.0 is functionally equivalent to the latest version of Viewpoint (version 6.10), which was the name of the project before it was open sourced at Eclipse. See the rest of the documentation for the complete list of feature of the Sirius platform.</p>
+		<h3 id="MigratingfromObeoDesignerorViewpointtoSirius">Migrating from Obeo Designer or Viewpoint to Sirius</h3>
+		<p>If you have existing projects which used this technology before it became Eclipse Sirius and want to migrate to Sirius, you must:</p>
+		<ol>
+			<li>first migrate your projects and models to the latest pre-Sirius version of Viewpoint or Obeo Designer available to you (Viewpoint is the previous name of Sirius);</li>
+			<li>then migrate those to Sirius 0.9.</li>
+		</ol>
+		<p>The latest version of Viewpoint which was available in an Obeo Designer release is Viewpoint 6.8, released in Obeo Designer 6.2. Sirius 0.9 is based on Viewpoint 6.10, which was not released publicly.</p>
+		<p>If you were using Obeo Designer, you must thus first migrate your projects and models to Obeo Designer 6.2, and then consult the 
+			<a href="release_notes_vp.html">release notes for Viewpoint 6.9 and 6.10</a>, which lists the API changes from Viewpoint 6.8 to 6.10.
+		</p>
+		<p>Once your projects are compatible with the latest Viewpoint available to you, you can migrate to Sirius, first by updating your Viewpoint Specification Projects and plug-ins which use the Viewpoint APIs, then by updating any Modeling Project and representation files (
+			<code>*.aird</code>).
+		</p>
+		<h4 id="MigratingViewpointSpecificationProjects">Migrating Viewpoint Specification Projects</h4>
+		<ul>
+			<li>Any plug-in dependencies towards Viewpoint plug-ins must be updated to the corresponding Sirius plug-in and version number. See the correspondence table below for the plug-in names to use.</li>
+			<li>If your plug-ins used any of the extension points defined in Viewpoint, you will need to update your 
+				<code>plugin.xml</code> files to reference the correct extension points identifiers. In particular, all Viewpoint Specification Projects created using Viewpoint use the 
+				<code>fr.obeo.dsl.viewpoint.componentization</code> in their 
+				<code>plugin.xml</code> to register the VSMs they define. This should be changed to use the equivalent 
+				<code>org.eclipse.sirius.componentization</code> extension point id. The identifier changes for the other extension points follow the same rules as the name changes of the plug-ins they are defined in.
+			</li>
+			<li>The migration of your VSMs (
+				<code>*.odesign</code> files) is automatic: simply open your files once in the VSM editor, perform some no-op change to make the editor &#8220;dirty&#8221; and save it. The saved version will have been migrated to Sirius.
+			</li>
+			<li>If you had Java code which used the Viewpoint APIs, you will need to update it to use the Sirius APIs. A simple &#8220;Source &gt; Organize Imports&#8221; on your source folders should find most classes you used in their new namespace. The Viewpoint code base and APIs used the term &#8220;Viewpoint&#8221; both for the name of the product and for the name of the concept. When it refered to the name of the product, the names were changed to use &#8220;Sirius&#8221; instead, so you may need to adjust some names in your code beyond just updating the imports (for example, 
+				<code>ViewpointControlCommand</code> is now 
+				<code>SiriusControlCommand</code>).
+			</li>
+		</ul>
+		<p>Note that if you used Obeo Designer, you may have used the legacy Acceleo 2.x language for the computed expressions inside the 
+			<code>*.odesign</code> files (if your expressions are of the form 
+			<code>&lt;%something%&gt;</code> then you used the legacy language). That language is not supported anymore in Sirius 0.9, so you must migrate your expressions to use Acceleo 3 and/or the specialized interpreters (
+			<code>var:</code>, 
+			<code>feature:</code> and 
+			<code>service:</code>, see the documentation).
+		</p>
+		<h4 id="MigratingModelingProjectsandRepresentationFiles">Migrating Modeling Projects and Representation Files</h4>
+		<ul>
+			<li>First migrate any modeler definitions used by your modeling projects and representation files (see the section above).</li>
+			<li>Modeling projects created using Viewpoint will not be recognized directly by Sirius, because the nature identfier has changed. You must use the &#8220;Configure/Convert to Modeling Project&#8221; action in the project&#8217;s context menu to make it a Sirius-compatible modeling project (see the section below for the technical details of the change).</li>
+			<li>The migration of you representation files (
+				<code>*.aird</code>) is performed automatically when they are loaded in memory. It will become permanent the first time you save it (you can force this by opening a representation, making some arbitrary change and saving the session).
+			</li>
+		</ul>
+		<h3 id="Pluginsversionnumbers.">Plug-ins version numbers.</h3>
+		<p>As of Sirius 0.9, and probably at least until Sirius 1.0 when the APIs will be more stable, all the bundles share the same version, which is also the version for the feature. If you used versioned dependencies to the old Viewpoint code (e.g. dependencies towards Viewpoint 6.8), you need to adjust the versions in your 
+			<code>MANIFEST.MF</code> files in addition to the namespaces.
+		</p>
+		<h3 id="Majornamespacechanges">Major namespace changes</h3>
+		<p>In the context of the move as an official Eclipse project named Sirius, all the namespaces used in the code have changed.</p>
+		<h4 id="Pluginandfeaturesidentifiers">Plug-in and features identifiers</h4>
+		<p>All identifiers have changed to start with the 
+			<code>org.eclipse.sirius</code> namespace prefix. The tables below give the mapping between the Viewpoint plug-in and features identifiers and their Sirius equivalent.
+		</p>
+		<table>
+			<tr>
+				<th>Viewpoint 6.x plug-in</th>
+				<th>Sirius 0.9 plug-in</th>
+			</tr>
+			<tr>
+				<td>fr.obeo.dsl.common</td>
+				<td>org.eclipse.sirius.common</td>
+			</tr>
+			<tr>
+				<td>fr.obeo.dsl.common.acceleo.mtl</td>
+				<td>org.eclipse.sirius.common.acceleo.mtl</td>
+			</tr>
+			<tr>
+				<td>fr.obeo.dsl.common.acceleo.mtl.ide</td>
+				<td>org.eclipse.sirius.common.acceleo.mtl.ide</td>
+			</tr>
+			<tr>
+				<td>fr.obeo.dsl.common.ocl</td>
+				<td>org.eclipse.sirius.common.ocl</td>
+			</tr>
+			<tr>
+				<td>fr.obeo.dsl.common.ui</td>
+				<td>org.eclipse.sirius.common.ui</td>
+			</tr>
+			<tr>
+				<td>fr.obeo.dsl.common.xtext</td>
+				<td>org.eclipse.sirius.common.xtext</td>
+			</tr>
+			<tr>
+				<td>fr.obeo.dsl.viewpoint</td>
+				<td>org.eclipse.sirius</td>
+			</tr>
+			<tr>
+				<td>fr.obeo.dsl.viewpoint.diagram</td>
+				<td>org.eclipse.sirius.diagram</td>
+			</tr>
+			<tr>
+				<td>fr.obeo.dsl.viewpoint.diagram.layoutdata</td>
+				<td>org.eclipse.sirius.layoutdata</td>
+			</tr>
+			<tr>
+				<td>fr.obeo.dsl.viewpoint.diagram.sequence</td>
+				<td>org.eclipse.sirius.sequence</td>
+			</tr>
+			<tr>
+				<td>fr.obeo.dsl.viewpoint.diagram.sequence.edit</td>
+				<td>org.eclipse.sirius.sequence.edit</td>
+			</tr>
+			<tr>
+				<td>fr.obeo.dsl.viewpoint.diagram.sequence.ui</td>
+				<td>org.eclipse.sirius.sequence.edit.ui</td>
+			</tr>
+			<tr>
+				<td>fr.obeo.dsl.viewpoint.doc</td>
+				<td>org.eclipse.sirius.doc</td>
+			</tr>
+			<tr>
+				<td>fr.obeo.dsl.viewpoint.editor</td>
+				<td>org.eclipse.sirius.editor</td>
+			</tr>
+			<tr>
+				<td>fr.obeo.dsl.viewpoint.editor.sequence</td>
+				<td>org.eclipse.sirius.editor.sequence</td>
+			</tr>
+			<tr>
+				<td>fr.obeo.dsl.viewpoint.editor.table</td>
+				<td>org.eclipse.sirius.editor.table</td>
+			</tr>
+			<tr>
+				<td>fr.obeo.dsl.viewpoint.editor.tree</td>
+				<td>org.eclipse.sirius.editor.tree</td>
+			</tr>
+			<tr>
+				<td>fr.obeo.dsl.viewpoint.eef.adapters</td>
+				<td>org.eclipse.sirius.eef.adapters</td>
+			</tr>
+			<tr>
+				<td>fr.obeo.dsl.viewpoint.interpreter</td>
+				<td>org.eclipse.sirius.interpreter</td>
+			</tr>
+			<tr>
+				<td>fr.obeo.dsl.viewpoint.table</td>
+				<td>org.eclipse.sirius.table</td>
+			</tr>
+			<tr>
+				<td>fr.obeo.dsl.viewpoint.table.ui</td>
+				<td>org.eclipse.sirius.table.ui</td>
+			</tr>
+			<tr>
+				<td>fr.obeo.dsl.viewpoint.tree</td>
+				<td>org.eclipse.sirius.tree</td>
+			</tr>
+			<tr>
+				<td>fr.obeo.dsl.viewpoint.tree.ui</td>
+				<td>org.eclipse.sirius.tree.ui</td>
+			</tr>
+			<tr>
+				<td>fr.obeo.dsl.viewpoint.ui</td>
+				<td>org.eclipse.sirius.ui</td>
+			</tr>
+			<tr>
+				<td>fr.obeo.mda.ecore.extender</td>
+				<td>org.eclipse.sirius.ecore.extender</td>
+			</tr>
+			<tr>
+				<td>fr.obeo.mda.pim.ecore.design</td>
+				<td>org.eclipse.sirius.sample.ecore.design</td>
+			</tr>
+			<tr>
+				<td>org.eclipselab.emf.synchronizer</td>
+				<td>org.eclipse.sirius.synchronizer</td>
+			</tr>
+		</table>
+		<table>
+			<tr>
+				<th>Viewpoint 6.x feature</th>
+				<th>Sirius 0.9 feature</th>
+			</tr>
+			<tr>
+				<td>fr.obeo.dsl.viewpoint.runtime</td>
+				<td>org.eclipse.sirius.runtime</td>
+			</tr>
+			<tr>
+				<td>fr.obeo.dsl.viewpoint.runtime.acceleo</td>
+				<td>org.eclipse.sirius.runtime.acceleo</td>
+			</tr>
+			<tr>
+				<td>fr.obeo.dsl.viewpoint.runtime.ide.eef</td>
+				<td>org.eclipse.sirius.runtime.ide.eef</td>
+			</tr>
+			<tr>
+				<td>fr.obeo.dsl.viewpoint.runtime.ide.ui</td>
+				<td>org.eclipse.sirius.runtime.ide.ui</td>
+			</tr>
+			<tr>
+				<td>fr.obeo.dsl.viewpoint.runtime.ide.ui.acceleo</td>
+				<td>org.eclipse.sirius.runtime.ide.ui.acceleo</td>
+			</tr>
+			<tr>
+				<td>fr.obeo.dsl.viewpoint.runtime.ide.xtext</td>
+				<td>org.eclipse.sirius.runtime.ide.xtext</td>
+			</tr>
+			<tr>
+				<td>fr.obeo.dsl.viewpoint.runtime.ocl</td>
+				<td>org.eclipse.sirius.runtime.ocl</td>
+			</tr>
+			<tr>
+				<td>fr.obeo.dsl.viewpoint.specifier.ide.ui</td>
+				<td>org.eclipse.sirius.specifier.ide.ui</td>
+			</tr>
+			<tr>
+				<td>fr.obeo.dsl.viewpoint.specifier.ide.ui.acceleo</td>
+				<td>org.eclipse.sirius.specifier.ide.ui.acceleo</td>
+			</tr>
+			<tr>
+				<td>fr.obeo.dsl.viewpoint.doc.feature</td>
+				<td>org.eclipse.sirius.doc.feature</td>
+			</tr>
+		</table>
+		<h4 id="JavaPackagesandClassesNames">Java Packages and Classes Names</h4>
+		<p>The Java package names have changed to start with the identifier of the plug-in they are defined in (which has changed). A simple &#8220;Source &gt; Organize Imports&#8221; on your source folders should find most classes you used in their new namespace.</p>
+		<p>The Viewpoint code base and APIs used the term &#8220;Viewpoint&#8221; both for the name of the product and for the name of the concept. When it refered to the name of the product, the names where changed to use &#8220;Sirius&#8221; instead (for example, 
+			<code>ViewpointControlCommand</code> is now 
+			<code>SiriusControlCommand</code>).
+		</p>
+		<h4 id="ModelsnamespaceURIs">Models namespace URIs</h4>
+		<p>All namespace URIs have also been changed from &#8220;http://www.obeo.fr/dsl/viewpoint*&#8221; to &#8220;http://www.eclipse.org/sirius/&#8221;.</p>
+		<p>If you have created VSM file (.odesign) or representations file (.aird) with Viewpoint, the changes of the namespace URIs will be automatically migrated during the loading of your VSM or your representations file. These new nsURIs will be stored physically in the file during the first save. If the file is not saved, the automatic migration will be replayed at the next opening.</p>
+		<h3 id="NatureID">Nature ID</h3>
+		<p>The modeling project has a specific nature (
+			<code>org.eclipse.sirius.nature.modelingproject</code>).
+			<br/>If you have modeling project created with Viewpoint, you must launch the action &#8220;Configure/Convert to Modeling Project&#8221; to replace old nature id (
+			<code>fr.obeo.dsl.viewpoint.nature.modelingproject</code>) by the new one.
+			<br/>If you have many modeling projects to &#8220;migrate&#8221;, you can easily make a script to replace 
+			<code>fr.obeo.dsl.viewpoint.nature.modelingproject</code> by 
+			<code>org.eclipse.sirius.nature.modelingproject</code> in all 
+			<code>.project</code> file of each modeling projects.
+		</p>
+		<h3 id="OtherAPIChanges">Other API Changes</h3>
+		<p>This section only lists API changes in Sirius 0.9.0 compared to the latest version of Viewpoint it is based on, i.e. Viewpoint 6.10.</p>
+		<h4 id="APIAdded">API Added</h4>
+		<ul>
+			<li>Add 
+				<code>IMigrationParticipant.getPackage()</code> to return the EPackage to use for the given namespace. This change concerns our internal migration framework. This is useful to handle our namespace changes (from Viewpoint to Sirius).
+			</li>
+		</ul>
+		<h4 id="APIRemoval">API Removal</h4>
+		<ul>
+			<li>Removed 
+				<code>org.eclipse.sirius.common.tools.api.interpreter.IAcceleoInterpreterVariables</code>: This interface only defined a single constant, which refered to the syntax of an obsolete version of the Acceleo language.
+			</li>
+			<li>Removed 
+				<code>org.eclipse.sirius.common.tools.api.resource.IFileContributorExtension</code>: This interface only defined a few constants relative to an extension point which does not exist anymore.
+			</li>
+			<li>Removed the 
+				<code>org.eclipse.sirius.reconciler</code> extension point definition (which used to be defined in the 
+				<code>org.eclipse.sirius</code> plug-in): This extension point is not supported anymore (and has not been for a long time).
+			</li>
+			<li>Removed all the deprecated methods from 
+				<code>Session</code> and replaced the internal calls with the equivalent versions with 
+				<code>IProgressMonitors</code>. The removed methods are:
+			</li>
+		</ul>
+		<pre>void open();
+void addSemanticResource(Resource newResource, boolean addCrossReferencedResources);
+void addSemanticResource(URI semanticModelURI, boolean addCrossReferencedResources);
+void addSemanticResource(URI semanticModelURI, boolean addCrossReferencedResources, IProgressMonitor monitor);
+void removeSemanticResource(Resource resource, boolean removeCrossReferencedResources);
+void removeSemanticResource(Resource semanticResource);
+void save();
+void close();
+Collection&lt;Viewpoint&gt; getSelectedViewpoints();
+void createView(Viewpoint viewpoint, Collection&lt;EObject&gt; semantics);
+void createView(Viewpoint viewpoint, Collection&lt;EObject&gt; semantics, boolean createNewRepresentations);
+void addSelectedView(DView view) throws IllegalArgumentException;
+void removeSelectedView(DView view);
+
+</pre>
+		<h3 id="SpecifierVisibleChanges10">Specifier-Visible Changes</h3>
+		<p>New variables are available for 
+			<code>sizeComputationExpression</code> to compute the size of edges on 
+			<code>EdgeStyleDescription</code> and 
+			<code>BracketEdgeStyleDescription</code>:
+		</p>
+		<ul>
+			<li>
+				<em>diagram</em>: the current 
+				<code>DDiagram</code>
+			</li>
+			<li>
+				<em>view</em>: the current 
+				<code>DEdge</code>
+			</li>
+			<li>
+				<em>sourceView</em>: the source view of the current edge.
+			</li>
+			<li>
+				<em>targetView</em>: the target view of the current edge.
+			</li>
+		</ul>
+		<h3 id="UserVisibleChanges14">User-Visible Changes</h3>
+		<ul>
+			<li>The ability to print table representations has been disabled for the 0.9 release due to an external dependency issue (see <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=422223" target="_blank">bug #422223</a>: for the details). It should be re-introduced in 1.0.</li>
+		</ul>
+	</body>
+</html>
\ No newline at end of file
diff --git a/doc/6.4.x/developer/Architecture.html b/doc/6.4.x/developer/Architecture.html
new file mode 100644
index 0000000..47b6116
--- /dev/null
+++ b/doc/6.4.x/developer/Architecture.html
@@ -0,0 +1,225 @@
+<?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>Architecture</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="SiriusArchitectureandConcepts">Sirius Architecture and Concepts</h1>
+		<ol class="toc" style="list-style: disc;">
+			<li>
+				<a href="#SiriusArchitectureandConcepts">Sirius Architecture and Concepts</a>
+				<ol style="list-style: disc;">
+					<li>
+						<a href="#introduction">Introduction</a>
+					</li>
+					<li>
+						<a href="#session">Sessions</a>
+						<ol style="list-style: disc;">
+							<li>
+								<a href="#ted">Transactional Editing Domain</a>
+							</li>
+							<li>
+								<a href="#vp_selection">Changing the Viewpoint Selection</a>
+							</li>
+						</ol>
+					</li>
+					<li>
+						<a href="#uisession">Editing Sessions</a>
+					</li>
+					<li>
+						<a href="#model_accessor">The Model Accessor</a>
+					</li>
+					<li>
+						<a href="#dialects">Dialects</a>
+					</li>
+					<li>
+						<a href="#viewpoint_registry">The Viewpoint Registry</a>
+					</li>
+				</ol>
+			</li>
+		</ol>
+		<h2 id="introduction">Introduction</h2>
+		<p>This document presents an overview of the internal architecture of Sirius, and the main concepts and APIs.</p>
+		<p>Sirius relies heavily on the Eclipse platform, and reuses (and extends) many of the standard Eclipse frameworks, in particular the Eclipse Modeling Platform. This document assumes that you are already familiar with these frameworks and libraries, in particular EMF and EMF Transaction, GEF and GMF for diagrams. Refer to these frameworks' own documentation for more details about them.</p>
+		<h2 id="session">Sessions</h2>
+		<p>The central concept of Sirius&#8217;s API is the 
+			<code>Session</code>. In Sirius, all data are stored in EMF models: the semantic models themselves obviously, but also the representations (diagrams, tables) and the viewpoint configuration (the 
+			<em>Viewpoint Specification Models</em>). A session is a wrapper around a 
+			<em>Transactional Editing Domain</em> and its 
+			<em>Resource Set</em>. It ensures the consistency of the models inside the editing domain, from the platform&#8217;s point of view; for example it makes sure the representation files correctly reference all the semantic models they need to in order to handle the representations in the session. The session also provides high-level, Sirius-specific services through its own APIs and support classes and interfaces.
+		</p>
+		<p>In the standard UI, each 
+			<em>Modeling Project</em>  corresponds to exactly one 
+			<code>Session</code>, and each session contains its own 
+			<em>Editing Domain</em> and 
+			<em>Resource Set</em>. This means that sessions (and thus modeling projects) are isolated from each other.
+		</p>
+		<p>The 
+			<em>representation files</em> (
+			<code>*.aird</code> files) can be though as the serialized form of a 
+			<code>Session</code>, and symmetrically a session is the runtime incarnation of a representation file (or more precisely of the unique top-level representation file in a modeling project).
+		</p>
+		<p>A session, inside its resource set, contains three kinds of resources:</p>
+		<ul>
+			<li>the 
+				<em>semantic resources</em>, which contain the user&#8217;s semantic model;
+			</li>
+			<li>the 
+				<em>representation resources</em>, which correspond to the 
+				<code>aird</code> file(s), and contain representation data (e.g. diagrams);
+			</li>
+			<li>the 
+				<em>Viewpoint Specification Models</em> which contain all the viewpoints used by the representations inside the session. These are the 
+				<code>*.odesign</code> files, and are typically loaded from installed plug-in instead of from the workspace (except when using the 
+				<em>dynamic mode</em> to develop viewpoints).
+			</li>
+		</ul>
+		<p>The 
+			<code>SessionManager</code> is a global object which references all the sessions currently opened in the system. It can also be used to find which session is responsible for a given semantic element. This is very important because many Sirius APIs require that you provide a 
+			<code>Session</code> parameter. If what you have is an element from a user semantic model, you can use 
+			<code>SessionManager.INSTANCE.getSession(theSemanticElement)</code> to find in which of  the opened session, if any, this object is loaded. Note that this method can be relatively costly, so do not call it in tight loops to avoid hurting performance.
+		</p>
+		<p>To create a Session programmatically:</p>
+		<pre><code>URI sessionResourceURI = URI.createPlatformResourceURI("/Project/archi.aird", true);
+Session createdSession = SessionManager.INSTANCE.getSession(sessionResourceURI);
+createdSession.open();
+</code></pre>
+		<p>The 
+			<code>Session</code> API provides several methods to manage the different kind of resources it contains: finding all the 
+			<em>semantic resources</em> and adding new ones, finding about all the referenced session resources (all the secondary 
+			<code>*.aird</code> files which are part of the same session), etc. Refer to the 
+			<code>Session</code> interface&#8217;s JavaDoc for details.
+		</p>
+		<p>The 
+			<code>Session.getInterpreter()</code> method can be used to obtain an 
+			<code>IInterpreter</code> properly configured to query the models in that session. The interpreter it returns will handle expression from any of the supported query languages, and you can use it to run your own queries (see the 
+			<code>IInterpreter</code> API).
+		</p>
+		<p>Another interesting method in 
+			<code>Session</code> is 
+			<code>Session.getEventBroker()</code>. It returns a 
+			<code>SessionEventBroker</code> object, which can be used to add trigger actions that will be performed whenever a change in the session&#8217;s model occurs. See 
+			<code>SessionEventBroker</code> and 
+			<code>ModelChangeTrigger</code> for details.
+		</p>
+		<p>When you are finished working with a session, you must 
+			<code>close()</code> it. This will unload all the models in its resource set and free the corresponding memory. After a session has been close it can not be reopened, but you can open a new one on the same files if needed.
+		</p>
+		<h3 id="ted">Transactional Editing Domain</h3>
+		<p>The editing domain associated to each session is an EMFT 
+			<em>Transactional Editing Domain</em>. In addition to basic undo/redo, it supports advanced features like atomicity and pre- and post-commit listeners, which are triggered after a command has been executed, and can be used to perform additional work (for pre-commit listeners) or to update external application data like UI state for post-commit listeners.
+		</p>
+		<p>The 
+			<code>Session.getTransactionalEditingDomain()</code> will return the 
+			<code>TransactionlEditingDomain</code> for a session. 
+		</p>
+		<p>To modify a model element with a transactional editing domain, you must use a 
+			<code>RecordingCommand</code>. If you try to modify the models inside a session (semantic model or representations) outside the context of a recording command, you will get an exception. The proper usage pattern is:
+		</p>
+		<pre><code>TransactionalEditingDomain ted = ...;
+ted.getCommandStack().execute(myCommand);
+</code></pre>
+		<p>where 
+			<code>myCommand</code> is a 
+			<code>RecordingCommand</code>.
+		</p>
+		<h3 id="vp_selection">Changing the Viewpoint Selection</h3>
+		<p>Each session has its own set of Viewpoints enabled, which determine which representations and extension are available. Users can change that selection using the 
+			<em>Viewpoint Selection</em> action (for example on a 
+			<em>Modeling Project</em>). You can also change this selection programmatically.
+		</p>
+		<p>The simplest way to do this is to use the 
+			<code>UserSession</code> API; for example:
+		</p>
+		<pre><code>Session userSession = UserSession.from(createdSession);
+userSession.selectViewpoint("Design");
+</code></pre>
+		<h2 id="uisession">Editing Sessions</h2>
+		<p>An 
+			<em>editing session</em>, represented by an instance of 
+			<code>org.eclipse.sirius.ui.business.api.session.IEditingSession</code>,  manages the graphical editors associated to a session. A session can exist without an associated editing session, but some operations require that an editing session is explicitly opened. At most one editing session can exist for a given session.
+		</p>
+		<p>To retrieve the editing session associated to a session or create a new one, use the 
+			<code>org.eclipse.sirius.ui.business.api.session.SessionUIManager</code>  API. The manager serves both as a factory for editing sessions and as a registry of all the ones which are opened at a given time and which session they correspond to.
+		</p>
+		<p>The main services offered by an editing session are to open, close, save, and generally manage the lifecycle of the Eclipse editors associated with a session. Every time a representation (e.g. a diagram) is opened on a model, it happens through the corresponding editing session.</p>
+		<p>You can use the editing session&#8217;s APIs yourself to open representations, check their dirty states, save them, etc. Refer to the 
+			<code>EditingSession</code>'s JavaDoc for details.
+		</p>
+		<p>You can also register 
+			<code>IEditingSessionListeners</code> on an editing session, to be notified of state changes in the session, in particular when it becomes 
+			<em>dirty</em>, meaning that it contains unsaved changes.
+		</p>
+		<h2 id="model_accessor">The Model Accessor</h2>
+		<p>The semantic models inside a session are never manipulated directly by Sirius. All access to these models is mediated through the session&#8217;s 
+			<code>ModelAccessor</code> instead of directly through the normal EMF reflective APIs. This accessor serves two purposes:
+		</p>
+		<ul>
+			<li>It enables seamless extension (or restriction) of how the session views the semantic model. For example a model accessor could give access to virtual elements or properties, which do not exist &#8220;physically&#8221; inside the semantic model; it could also decide to hide some parts of the semantic model to viewpoint.</li>
+			<li>It allows the verification of any access or modification using the associated 
+				<code>IPermissionAuthorithy</code>. The permission authority is used to lock model elements (both diagram and semantic elements), and to check if you have read and/or write access to each element and feature before access or modification.
+			</li>
+		</ul>
+		<p>You can obtain the model accessor associated to a session using the 
+			<code>Session.getModelAccessor()</code> method, and the permission authority using 
+			<code>ModelAccessor.getPermissionAuthority()</code>.  If you extend Sirius, you should make sure to use the model accessor API to read and write the semantic model, and to use the permission authority to check any change you want to perform beforehand.
+		</p>
+		<h2 id="dialects">Dialects</h2>
+		<p>Sirius supports different kinds of representations: diagrams, tables and trees. These are all 
+			<strong>dialects</strong>, which are supported by default by the platform. The core of the platform only deals with the abstract notion of a dialect, and each one is simply an extension.
+		</p>
+		<p>The 
+			<code>DialectManager</code>  (
+			<code>org.eclipse.sirius.business.api.dialect.DialectManager</code>) offers some general APIs which can be used to manipulate representations in a uniform way, independently of which concrete dialect provides them. The 
+			<code>DialectManager</code> can be used to:
+		</p>
+		<ul>
+			<li>create new representations;</li>
+			<li>synchronize representations;</li>
+			<li>delete representations;</li>
+			<li>find existing representations.</li>
+		</ul>
+		<p>The 
+			<code>DialectManager</code> is a global object but the services it offers work on representations inside sessions, so all the methods it provides require a 
+			<code>Session</code> object as argument.
+		</p>
+		<p>In the same way as sessions are split in a core 
+			<code>Session</code> API and an 
+			<code>EditingSession</code> API to handle UI-specific services, the 
+			<code>DialectManager</code> is complemented with the 
+			<code>DialectUIManager</code>  (
+			<code>org.eclipse.sirius.ui.business.api.dialect.DialectUIManager</code>), which offers generic APIs to representations services which depend on the UI. The main ones are:
+		</p>
+		<ul>
+			<li>opening and closing editors;</li>
+			<li>exporting representations into external files (e.g. images).</li>
+		</ul>
+		<h2 id="viewpoint_registry">The Viewpoint Registry</h2>
+		<p>The 
+			<code>ViewpointRegistry</code> is a global object which knows about all the Viewpoint definitions available in the system at every time.
+		</p>
+		<p>When a plug-in containing properly packaged 
+			<em>VSMs</em> is deployed, the registry will be notified (through the 
+			<code>org.eclipse.sirius.componentization</code> extension point) and register all the viewpoints defined in any of these 
+			<em>VSMs</em>. The registry also listens to changes in the Eclipse workspace to detect the creation, modification and deletion of any 
+			<code>*.odesign</code> files; this is (part of) what enables dynamic development of VSMs, with no need for a costly deployment of plug-ins to test your changes: the latest version of a Viewpoint definition from the workspace is always known from the registry.
+		</p>
+		<p>You can use the registry to discover about all the viewpoint definitions which are available, and introspect the corresponding models. However be aware that the Viewpoint registry maintains its own editing domain and EMF 
+			<code>ResourceSet</code> in which the viewpoints are loaded. The model loaded in the registry are 
+			<strong>not</strong> the same as the ones loaded in a session that uses a given viewpoint. It is a different instance of the same model. This means you must be careful when comparing or passing around elements from a viewpoint definition. For example if you have defined a viewpoint named 
+			<em>A</em>, and have two different sessions where 
+			<em>A</em> is enabled, you will have three equivalent but different instances of 
+			<em>A</em>: one in each of the sessions' 
+			<code>ResourceSet</code>, and one in the 
+			<code>ViewpointRegistry</code>'s private 
+			<code>ResourceSet</code>.
+		</p>
+		<p>You can register listeners on the 
+			<code>ViewpointRegistry</code> to be notified when Viewpoints are registered, unregistered, or when the definition of a viewpoint changes (for example because it was defined from an 
+			<code>*.odesign</code> file in the workspace that you have just modified, and the registry detected it and reloaded the new definition);
+		</p>
+	</body>
+</html>
\ No newline at end of file
diff --git a/doc/6.4.x/developer/Architecture_Overview.html b/doc/6.4.x/developer/Architecture_Overview.html
new file mode 100644
index 0000000..2e20e5d
--- /dev/null
+++ b/doc/6.4.x/developer/Architecture_Overview.html
@@ -0,0 +1,74 @@
+<?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>Architecture_Overview</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="SiriusArchitectureOverview">´╗┐Sirius Architecture Overview</h1>
+		<p>Sirius is a platform for developing and using graphical model editors for any domain. It is based on the Eclipse Platform, and in particular the Eclipse Modeling stack based on EMF. The Sirius platform itself is domain-agnostic, in that it can be used to create modelers for any business domain as long as they can described using EMF.
+			<br/>There are two categories of users of Sirius:
+		</p>
+		<ol>
+			<li> 
+				<strong>Architects</strong>  use Sirius to develop modelers for their specific business domains, provided they have defined their domain using EMF’s Ecore.
+			</li>
+			<li>
+				<strong>End Users</strong>  use the resulting modelers to create, view, edit, and in general manipulate actual business models of their domain.
+			</li>
+		</ol>
+		<p>The general architecture of Sirius is illustrated in the figure below and reflects this split:</p>
+		<img style="box-shadow: 0 0 0 0" border="0" src="images/Sirius_High-Level_Architecture_Overview.png"/> 
+		<p>On top of Eclipse and EMF, Sirius is made of two main parts.</p>
+		<p>The Sirius 
+			<strong>tooling</strong>   (on the right hand of the figure), is the part used by architects. It provides an environment in which they can specify the modeler(s) they want to give to their end-users. This specification is done in a declarative way, by configuring a 
+			<em>description model</em> . For each modeler, the architect must specify in the description model:
+		</p>
+		<ol>
+			<li>
+				<em>what</em>  is to be represented in the modeler, i.e. which elements of the domain model should be visible;
+			</li>
+			<li>how these elements should 
+				<em>look</em> , i.e. visual styling information;
+			</li>
+			<li>how these elements should 
+				<em>behave</em> , i.e. which tools and interaction modes are available to the end-users to modify the business models, and how each tool behaves.
+			</li>
+		</ol>
+		<p>The Sirius Tooling provides a complete, easy to use environment for architects to create these specifications. The result is a (set of) 
+			<em>description model(s)</em> , optionally with some accompanying Java code, that can be deployed as a normal Eclipse plug-in.
+		</p>
+		<p>The Sirius 
+			<strong>runtime</strong>  (on the left hand of the figure), is the part used by end-users, along with the modeler definition(s) produced by the architects. End-users do not need the Sirius Tooling in order to use Sirius-based modelers. The runtime is responsible for 
+			<em>interpreting</em>  the modeler description models and presenting to the user actual modeler(s) which look and behave as specified in the description.
+			<br/>To do this, the runtime uses a 
+			<em>representation model</em>  (and the corresponding meta-model), which describes the concrete representation(s) of end-users business models according to what is configured in the modelers’ specifications (i.e. which concrete business elements are represented, and how they look). These representation models are produced by the Sirius runtime using a refresh algorithm which produces a “projection” of the business data onto the representation domain using the rules defined in the modeler’s definitions.
+			<br/>The representation model is then shown to the end-user in a 
+			<em>graphical editor</em> , integrated into the Eclipse workbench. Through the editor, the end-user can visualize his business model according to the rules defined by the architect in the modeler’s specification. The end-user can  also 
+			<em>interact</em>  with his models as represented, but only in the ways configured by the architect. When the user interacts with the representation in the editor, some interactions (e.g. dragging and dropping and element on a diagram) can trigger behaviors defined by the architect, which will modify the underlying business model in ways that are consistent with the business rules. Whenever the business model is modified, Sirius re-launches the refresh algorithm, which is incremental: instead of creating a new representation model for the updated business model’s state, it updates the existing model and only changes the parts that need it. The ends-user can then see the effect of his changes immediately in the editor.
+		</p>
+		<p>
+			<img style="box-shadow: 0 0 0 0" border="0" src="images/Sirius_Representation_Refresh-Sync.png"/>
+		</p>
+		<p>An important property of the refresh algorithm(s) is that they are not only incremental in terms of changes in the business model, but also in terms of changes in the modeler description model itself. This gives rise to one of the most important and distinctive features of Sirius: support for dynamic and incremental development of modelers by architects, with real-time feedback. In practice, this means that when an architect is developing a new modeler definition (or changing an existing one), he can have both the modeler’s definition open (using the Sirius Tooling) and an example representation also open alongside, and whenever he changes the modeler’s definition and saves it, the updated definition is automatically picked-up by the runtime and taken into account instantaneously by issuing a refresh.</p>
+		<p>In addition to the 
+			<em>runtime</em>  vs 
+			<em>tooling</em>  split, the Sirius architecture also separates the core part of the platform, which is independent on any specific kind of representation, and the 
+			<em>dialect-specific extensions</em> . Each dialect, which handles a specific kind of representation, is built on top of the core architecture. For example by default Sirius supports three different dialects: diagrams, tables, and trees. More dialects can be implemented by other parties using the public APIs exposed by the Sirius core parts.
+			<br/>Each dialect provides its own specific extensions to the architecture elements in the core:
+		</p>
+		<ol>
+			<li>The representation meta-model is extended with the dialect’s own concepts. For example a diagram can have nodes and connections between these nodes.</li>
+			<li>The core description meta-model is extended to support the definition of these specific concepts. The tooling environment must then be extended to allow architects to specify these new concepts (in general this part can mostly be inferred from the structure of description metamodel and thus automatically generated).</li>
+			<li>Each dialect must provide its own refresh algorithm (although the Sirius core provides some common code to facilitate this).</li>
+			<li>Finally, each dialect must implement the editor(s) used to present their representations to the end-users and allow them to interact with them. This is where dialects make use of additional frameworks and technologies, like GMF for example to render diagrams.</li>
+		</ol>
+		<p>The Sirius architecture as described in this document has the following important properties:</p>
+		<ul>
+			<li>separation of tooling from the runtime: smaller runtime for end-users (which are much more numerous) with no UI “pollution” by architects-specific concepts; the runtime does not care how the modeler definitions where produced: using the standard tooling, using an alternate tooling developed completely separately, produced by a program… the only requirement is that the resulting definition conforms to the meta-model.</li>
+			<li>separation of the core from dialect-specific parts: isolates technical dependencies required by some dialects out of the core; allow installations with only a subset of all the supported dialects; extensible; by making even the standard dialects normal clients of the core, keeps us “honest” about our APIs: the standard dialect do not (or at least should not) have privileged access to core features that externally-developed dialects can not access; the core still provides a good place to share common abstractions and code, which results in less code in dialects, a better integration and more uniform end-user experience across different types of representations.</li>
+		</ul>
+	</body>
+</html>
\ No newline at end of file
diff --git a/doc/6.4.x/developer/Meta-models.html b/doc/6.4.x/developer/Meta-models.html
new file mode 100644
index 0000000..afbcf1d
--- /dev/null
+++ b/doc/6.4.x/developer/Meta-models.html
@@ -0,0 +1,121 @@
+<?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>Meta-models</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="OverviewoftheSiriusMetaModels">Overview of the Sirius Meta-Models</h1>
+		<h2 id="introduction">Introduction</h2>
+		<p>Sirius uses EMF models to store both 
+			<em>Viewpoint Specification Models</em> (the 
+			<code>*.odesign</code> files) and representation data (the 
+			<code>*.aird</code> files). If you need to extend the Sirius platform in Java, sooner or later you will have to deal with elements from these meta-models, so this document gives a very brief overview of which meta-models are used, where they are defined and how they are organized.
+		</p>
+		<h2 id="vsm_metamodels">Viewpoint Specification Meta-Models</h2>
+		<p>The structure of the 
+			<em>VSMs</em> is defined by several meta-models. The 
+			<code>org.eclipse.sirius</code> plug-in contains the 
+			<code>http://www.eclipse.org/sirius/1.1.0</code> Ecore package and its sub-packages, which defines the general structure of a VSM:
+		</p>
+		<ul>
+			<li>
+				<code>http://www.eclipse.org/sirius/description/1.1.0</code>: defines the overall structure (
+				<code>Group</code>, 
+				<code>Viewpoint</code>, the abstract 
+				<code>RepresentationDescription</code> type used for all dialects).
+			</li>
+			<li>
+				<code>http://www.eclipse.org/sirius/description/style/1.1.0</code>: defines the abstract and generic 
+				<code>StyleDescription</code> and associated types which are used by all dialects.
+			</li>
+			<li>
+				<code>http://www.eclipse.org/sirius/description/tool/1.1.0</code>: defines the generic 
+				<code>AbstractToolDescription</code> and generic tool types. This package also contains the definitions for all the 
+				<a href="../specifier/general/Model_Operations.html">Model Operations</a> like 
+				<code>If</code>, 
+				<code>CreateInstance</code>, etc.
+			</li>
+			<li>
+				<code>http://www.eclipse.org/sirius/description/validation/1.1.0</code>: defines the validation rules which can be added to viewpoints and diagrams, include the quick-fixes definitions.
+			</li>
+		</ul>
+		<p>The other dialects define their own extensions to these packages, in their own plug-ins. They follow the same structure:</p>
+		<ul>
+			<li>
+				<code>org.eclipse.sirius.diagram</code> defines 
+				<code>http://www.eclipse.org/sirius/diagram/description/1.1.0</code> and its sub-packages, with all the elements that are used to specify a diagram description inside a VSM.
+			</li>
+			<li>
+				<code>org.eclipse.sirius.diagram.sequence</code> defines 
+				<code>http://www.eclipse.org/sirius/diagram/sequence/description/2.0.0</code> and 
+				<code>http://www.eclipse.org/sirius/diagram/sequence/description//tool/2.0.0</code> for sequence diagrams-specific mappings and tools.
+			</li>
+			<li>
+				<code>org.eclipse.sirius.table</code> defines 
+				<code>http://www.eclipse.org/sirius/table/description/1.1.0</code>  for table mappings and tools.
+			</li>
+			<li>
+				<code>org.eclipse.sirius.tree</code>  defines 
+				<code>http://www.eclipse.org/sirius/tree/description/1.1.0</code>  for tree mappings and tools.
+			</li>
+		</ul>
+		<h2 id="representation_metamodels">Representation Meta-Models</h2>
+		<p>The meta-models described above correspond to the elements which are found inside the 
+			<code>*.odesign</code> files. The 
+			<em>representation files</em> (
+			<code>*.aird</code>) are also stored as models. A representation can be thought of as a serialized version of a session. It includes references to the semantic models represented in the session, and the model for each actual representation (diagram, table or tree). These representation models are organized into groups corresponding to which viewpoint defines them, and the representation file also stores the set of currently enabled viewpoints in the session.
+		</p>
+		<p>This means the representation file 
+			<em>contains</em> the representation and session data, 
+			<em>references</em> the semantic models, and also 
+			<em>references</em> the 
+			<em>VSMs</em> which define the representations it contains.
+		</p>
+		<p>The meta-model for representation files is defined in the 
+			<code>http://www.eclipse.org/sirius/1.1.0</code> package, from the main 
+			<code>org.eclipse.sirius</code> plug-in. Diagrams, sequence diagrams, tables and trees define their own meta-models to describe their representations' data:
+		</p>
+		<ul>
+			<li>
+				<code>http://www.eclipse.org/sirius/diagram/1.1.0</code> defined in 
+				<code>org.eclipse.sirius.diagram</code>.
+			</li>
+			<li>
+				<code>http://www.eclipse.org/sirius/diagram/sequence/2.0.0</code> defined in 
+				<code>org.eclipse.sirius.diagram.sequence</code>.
+			</li>
+			<li>
+				<code>http://www.eclipse.org/sirius/table/1.1.0</code> defined in 
+				<code>org.eclipse.sirius.table</code>.
+			</li>
+			<li>
+				<code>http://www.eclipse.org/sirius/tree/1.0.0</code> defined in 
+				<code>org.eclipse.sirius.tree</code>.
+			</li>
+		</ul>
+		<p>The concrete structure of an 
+			<code>aird</code> file is the following: An 
+			<code>aird</code> resource contains a single 
+			<code>DAnalysis</code>. The analysis references the semantic resources in the session, via its 
+			<code>semanticResources</code> reference, and may reference other &#8220;sub-aird&#8221; through its 
+			<code>referencedAnalysis</code> reference. It also contains through 
+			<code>ownedViews</code> a 
+			<code>DView</code> for every Viewpoint which was ever enabled in the session. The sub-set of 
+			<code>ownedViews</code> in 
+			<code>selectedViews</code> corresponds to the Viewpoints currently enabled in the session. Each 
+			<code>DView</code> references (through 
+			<code>viewpoint</code>) the viewpoint definition it is an &#8220;instance&#8221; of, and contains actual representations (from that viewpoint) in 
+			<code>ownedRepresentations</code>.
+		</p>
+		<p>The structure of the representations themselves depend on each dialect, which defines its own meta-model as mentioned above. However, they all use the 
+			<code>org.eclipse.sirius.viewpoint.DSemanticDecorator</code> interface for representation elements which stand for semantic elements. The 
+			<code>getTarget()</code> method of 
+			<code>DSemanticDecorator</code> can be used to obtain the actual semantic target element being represented. This means that both a node on a diagram (which is a 
+			<code>DNode</code>) and a cell in a table (a 
+			<code>DCell</code>), and any other representation element in Sirius, share the same API to retrieve the element in the user&#8217;s semantic model that it represents.
+		</p>
+	</body>
+</html>
\ No newline at end of file
diff --git a/doc/6.4.x/developer/Sirius Developer Manual.html b/doc/6.4.x/developer/Sirius Developer Manual.html
new file mode 100644
index 0000000..89e18ea
--- /dev/null
+++ b/doc/6.4.x/developer/Sirius Developer Manual.html
@@ -0,0 +1,136 @@
+<?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>Sirius Developer Manual</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="SiriusDeveloperManual">Sirius Developer Manual</h1>
+		<p>This document gives an overview of the internals of the 
+			<em>Sirius</em> platform, and describes the main APIs and extension points.
+		</p>
+		<ul>
+			<li>
+				<a href="Architecture_Overview.html">
+					<strong>Architecture Overview</strong>
+				</a> provides a high-level view of how Sirius is structured.
+			</li>
+			<li>
+				<a href="Architecture.html">
+					<strong>Architecture and Concepts</strong>
+				</a> describes the general architecture of the system, the main concepts and top-level entry points in the APIs.
+			</li>
+			<li>
+				<a href="Meta-models.html">
+					<strong>Meta-models</strong>
+				</a> gives a high-level description of the various meta-models used internally by Sirius, to represent both 
+				<em>VSMs</em> and representation files.
+			</li>
+			<li>The Sirius platform publishs a set of API, and the next sections describe some which require particular attention:
+				<ul>
+					<li>
+						<a href="siriusCrossReferenceAdapter.html">
+							<strong>SiriusCrossReferenceAdapter</strong>
+						</a>
+					</li>
+					<li>
+						<a href="representations_lazy_loading.html">
+							<strong>Representations lazy loading (experimental)</strong>
+						</a>
+					</li>
+					<li>
+						<a href="copy_paste_format_new_semantic.html">
+							<strong>Diagram Copy-Paste format on new semantic targets</strong>
+						</a>
+					</li>
+				</ul>
+			</li>
+			<li>The Sirius platform is extensible, and the next sections describe some common extension scenarios:
+				<ul>
+					<li>
+						<a href="integration-plm.html">
+							<strong>Integration with Product Life Cycle Management</strong>
+						</a>
+					</li>
+					<li>
+						<a href="integration-modeler_description_file_deployment.html">
+							<strong>Deploy a Modeler Description File</strong>
+						</a>
+					</li>
+					<li>
+						<a href="extensions-provide_save_dialog.html">
+							<strong>Provide custom save dialog</strong>
+						</a>
+					</li>
+					<li>
+						<a href="extensions-provide_custom-arrange-all.html">
+							<strong>Provide custom arrange-all</strong>
+						</a>
+					</li>
+					<li>
+						<a href="extensions-provide_custom_style.html">
+							<strong>Provide custom style</strong>
+						</a>
+					</li>
+					<li>
+						<a href="extensions-provide_tabbar_extensions.html">
+							<strong>Provide tab-bar extensions</strong>
+						</a>
+					</li>
+					<li>
+						<a href="extensions-provide_migrate_contribution.html">
+							<strong>Provide custom representation files migration</strong>
+						</a>
+					</li>
+					<li>
+						<a href="extensions-provide_repair_contribution.html">
+							<strong>Provide custom repair participant</strong>
+						</a>
+					</li>
+					<li>
+						<a href="extensions-provide_celleditor.html">
+							<strong>Provide custom cell editor</strong>
+						</a>
+					</li>
+					<li>
+						<a href="extensions-provide_custom_bundled_image_shape.html">
+							<strong>Provide custom bundled image shape</strong>
+						</a>
+					</li>
+					<li>
+						<a href="extensions-properties_provide_custom_widget.html">
+							<strong>Provide custom widget for the properties view and dialogs</strong>
+						</a>
+					</li>
+					<li>
+						<a href="extensions-provide_custom_model_operation.html">
+							<strong>Provide custom model operation</strong>
+						</a>
+					</li>
+					<li>
+						<a href="extensions-provide_custom_aird_editor_pages.html">
+							<strong>Provide custom aird editor pages</strong>
+						</a>
+					</li>
+					<li>
+						<a href="extensions-provide_resource_strategy.html">
+							<strong>Provide a resource strategy</strong>
+						</a>
+					</li>
+					<li>
+						<a href="trigger-refresh-graphical-changes.html">
+							<strong>Trigger refresh on specific graphical changes</strong>
+						</a>
+					</li>
+					<li>
+						<a href="extensions-provide_toolfilter.html">
+							<strong>Provide a tool filter to hide tools from the diagram palette</strong>
+						</a>
+					</li>
+				</ul>
+			</li>
+		</ul>
+	</body>
+</html>
\ No newline at end of file
diff --git a/doc/6.4.x/developer/copy_paste_format_new_semantic.html b/doc/6.4.x/developer/copy_paste_format_new_semantic.html
new file mode 100644
index 0000000..f0aa549
--- /dev/null
+++ b/doc/6.4.x/developer/copy_paste_format_new_semantic.html
@@ -0,0 +1,96 @@
+<?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>copy_paste_format_new_semantic</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="CopyPasteFormatonnewsemantictargets">Copy-Paste Format on new semantic targets</h1>
+		<p>The current copy-paste format (layout and style) between diagrams relies on semantic target elements to find out which target element (paste) matches the source element (copy).</p>
+		<p>This new API allows to perform this copy-paste format based on a semantic source to semantic target map.</p>
+		<p>As for the standard copy-paste format, only visible elements are concerned by the copy. So if elements are not visible in the source diagram, their styles and layouts will not be copied.</p>
+		<h2 id="APIdetails">API details</h2>
+		<p>A new API in 
+			<code>org.eclipse.sirius.diagram.ui.tools.api.format.MappingBasedSiriusFormatManagerFactory</code> has been added to make it possible to apply a copy-paste format to an existing or a new diagram with different semantic targets.
+		</p>
+		<h3 id="Precondition">Precondition</h3>
+		<p>The target diagram should have the same description (same definition in the VSM) than the source one.</p>
+		<p>These methods update the models and need to have access to UI thread. According to these constraints, the methods must be called into a RecordingCommand and run in the UI Thread.</p>
+		<h3 id="Applythecopypastefromasourcediagramtoanexistingtargetdiagram">Apply the copy-paste from a source diagram to an existing target diagram</h3>
+		<pre> /**
+     * Apply format on {@code targetDiagram} based on the {@code sourceDiagram}. Format data are applied only for
+     * diagram elements whose semantic object is provided in the {@code correspondenceMap}.
+     * 
+     * Calls to this API shall be embedded in a command.
+     * 
+     * @param sourceSession
+     *            The {@link Session} for the source diagram. Must not be null.
+     * @param sourceDiagram
+     *            The source diagram. Must not be null.
+     * @param correspondenceMap
+     *            The mapping function between source diagram elements and target diagram elements Must not be null. In
+     *            the case where {@code sourceDiagram} is a Sequence diagram, must provide a mapping for each semantic
+     *            element of {@code sourceDiagram}.
+     * @param targetSession
+     *            The {@link Session} for the target diagram. Must not be null.
+     * @param targetDiagram
+     *            The target diagram. Must not be null.
+     * @param copyNotes
+     *            Whether or not to copy source diagram notes to target diagram.
+     * @return The target diagram.
+     */
+    public DDiagram applyFormatOnDiagram(Session sourceSession, DDiagram sourceDiagram, final Map&lt;EObject, EObject&gt; correspondenceMap, Session targetSession, DDiagram targetDiagram, boolean copyNotes) 
+
+</pre>
+		<p>This first method will perform the copy-paste format from a source diagram to an existing target diagram. The target elements on which the layout and style will be applied are retrieved by using the source-target correspondence map. </p>
+		<p>Note that if an element in the target diagram has no corresponding source element in the source diagram, this element will keep its current style and layout.</p>
+		<p>Elements not visible in the source diagram (hidden by user, because of a deactivated layer or because of a filter) are not considered by the copy-paste.</p>
+		<h3 id="Applythecopypastefromasourcediagramtoanewtargetdiagram">Apply the copy-paste from a source diagram to a new target diagram</h3>
+		<pre>    /**
+     * Apply format on a new {@link DDiagram} for name {@code targetDiagramName} based on the {@code sourceDiagram}.
+     * Format data are applied only for diagram elements whose semantic object is provided in the
+     * {@code correspondenceMap}.
+     * 
+     * Calls to this API shall be embedded in a command.
+     * 
+     * @param sourceSession
+     *            The {@link Session} for the source diagram. Must not be null.
+     * @param sourceDiagram
+     *            The source diagram. Must not be null.
+     * @param correspondenceMap
+     *            The mapping function between source diagram elements and target diagram elements. Must not be null. In
+     *            the case where {@code sourceDiagram} is a Sequence diagram, must provide a mapping for each semantic
+     *            element of {@code sourceDiagram}.
+     * @param targetSession
+     *            The {@link Session} for the target diagram. Must not be null.
+     * @param targetDiagramName
+     *            The target diagram name. Must not be null or equal to "".
+     * @param targetDiagramRoot
+     *            The root EObject for the new diagram. Must not be null.
+     * @param copyNotes
+     *            Whether or not to copy source diagram notes to target diagram.
+     * @return The created target diagram.
+     */
+    public DDiagram applyFormatOnNewDiagram(Session sourceSession, DDiagram sourceDiagram, final Map&lt;EObject, EObject&gt; correspondenceMap, Session targetSession, String targetDiagramName,
+            EObject targetDiagramRoot, boolean copyNotes)
+
+
+</pre>
+		<p>This method will create a new diagram, based on the correspondence map. The new diagram will be created only if the same source diagram description can be applied on the new semantic target. Once the new target diagram is created, the format from the source diagram is applied in the same way than the first method.</p>
+		<p>Only diagram elements for which an entry exists in the correspondence map will be created. If the new target diagram description has synchronized mapping (that means graphical elements are automatically created according to the mappings defined in  the VSM), new graphical elements might appear. If those new graphical elements semantic targets have no entry in the correspondence map, they will not be formatted and will keep their default style and layout.</p>
+		<p>Elements not visible in the source diagram (hidden by user, because of a deactivated layer or because of a filter) are not considered by the copy-paste.</p>
+		<h3 id="FiltersandLayers">Filters and Layers</h3>
+		<p>Filters and layers activated in the source diagram are automatically activated in the target diagram.</p>
+		<h3 id="NotesandTexts">Notes and Texts</h3>
+		<p>If the corresponding option is activated (
+			<code>copyNotes</code> parameter), existing notes and texts in the source diagram are copied in the target diagram. If a note attachment exists in the source diagram, this one is also created in the target diagram, if the graphical target exists.
+		</p>
+		<p>The label of Note/Text and target of attachment are used to retrieve a potential existing Note/Text in the target diagram. In other words, if the label is different or if the target of attachment is different, a new Node/Text will be created. </p>
+		<h2 id="Sequencediagrams">Sequence diagrams</h2>
+		<p>The sequence diagram layout is linked to the semantic model: the vertical or horizontal graphical ordering perfectly match the semantic ordering. 
+			<br/>Because of this constraint, this feature can only be applied between sequence diagrams with a perfect match between their semantic models. That means the target semantic model, on which the existing target sequence diagram or the new one are based on, has to be the exact copy of the source semantic model. All target semantic elements have to be present in the corresponding map and all source semantic elements have to be present in the map.
+		</p>
+	</body>
+</html>
\ No newline at end of file
diff --git a/doc/6.4.x/developer/deprecated_extensions-provide_custom_bundled_image_shape.html b/doc/6.4.x/developer/deprecated_extensions-provide_custom_bundled_image_shape.html
new file mode 100644
index 0000000..07729ff
--- /dev/null
+++ b/doc/6.4.x/developer/deprecated_extensions-provide_custom_bundled_image_shape.html
@@ -0,0 +1,93 @@
+<?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>deprecated_extensions-provide_custom_bundled_image_shape</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="SiriusProvidecustombundledimageshape">Sirius &#8211; Provide custom bundled image shape</h1>
+		<h2 id="DisclaimerDeprecated">Disclaimer &#8211; Deprecated</h2>
+		<p>This extension point is deprecated (but still working) and should not be used. Instead you should use the 
+			<a href="extensions-provide_custom_bundled_image_shape.html">new extension point</a>.
+		</p>
+		<h2 id="Goals">Goals</h2>
+		<ul>
+			<li>Sirius provides a basic image style for node mappings. This style offers a selection of five different shapes. This extension point is used to allow specifiers to provide their own shapes defined in a SVG file.</li>
+		</ul>
+		<h2 id="Defineabundledimageshapeextension">Define a bundled image shape extension</h2>
+		<ul>
+			<li>This extension point is identified as 
+				<code>org.eclipse.sirius.diagram.bundledImageShape</code>. In this extension, there are three required fields:
+				<ul>
+					<li>The Id of the extension is for once required as it will be used to identify the provided shape in the models (VSM and graphical models).</li>
+					<li>The image path, that needs to start with the plug-in name as it is possible to define a bundled image shape extension using an image in a different plug-in.</li>
+					<li>The image label displayed in VSMs (suffixed with the plug-in name where the bundled image shape extension is declared).</li>
+				</ul>
+			</li>
+		</ul>
+		<ul>
+			<li>There are 6 optional parameters in this extension point. These parameters are used to provide the identifier or attribute name concerning the color, border color and border size used in the given SVG file, if these parameters are not the default ones (used in the 5 default shapes). Here is a list of these parameters and the default value.
+				<ul>
+					<li>colorIdentifier, the identifier of the tag defining the inner color of the figure. The default identifier is &#8220;stop1&#8221;.</li>
+					<li>colorAttribute, the attribute of the tag defining the inner color of the figure. The default identifier is &#8220;style&#8221;.</li>
+					<li>borderColorIdentifier, the identifier of the tag defining the border color of the figure. The default identifier is &#8220;elementWithGradient&#8221;.</li>
+					<li>borderColorAttribute, the attribute of the tag defining the border color of the figure. The default identifier is &#8220;style&#8221;.</li>
+					<li>borderSizeIdentifier, the identifier of the tag defining the border size of the figure. The default identifier is &#8220;externalBorder&#8221;.</li>
+					<li>borderSizeAttribute, the attribute of the tag defining the border size of the figure. The default identifier is &#8220;style&#8221;.</li>
+				</ul>
+			</li>
+		</ul>
+		<p>Note that it is possible to provide a non SVG file (like a JPEG) but the colors and border size will not be synchronized with the selected information in the VSM.</p>
+		<h2 id="Example">Example</h2>
+		<p>The following example defines a new bundled image shape using an image file donut.svg.</p>
+		<pre>	&lt;extension
+        id="org.eclipse.sirius.tests.swtbot.donut"
+        point="org.eclipse.sirius.diagram.bundledImageShape"&gt;
+     &lt;image
+           imagePath="/org.eclipse.sirius.tests.swtbot/images/donut.svg"
+           label="Donut"&gt;
+        &lt;colorIdentifier
+              colorIdentifier="stop8224-2"&gt;
+        &lt;/colorIdentifier&gt;
+        &lt;colorAttribute
+              colorAttribute="style"&gt;
+        &lt;/colorAttribute&gt;
+        &lt;borderColorIdentifier
+              borderColorIdentifier="path10796-2-6-2-7"&gt;
+        &lt;/borderColorIdentifier&gt;
+        &lt;borderColorAttribute
+              borderColorAttribute="style"&gt;
+        &lt;/borderColorAttribute&gt;
+        &lt;borderSizeIdentifier
+              borderSizeIdentifier="path10796-2-6-2-7"&gt;
+        &lt;/borderSizeIdentifier&gt;
+        &lt;borderSizeAttribute
+              borderSizeAttribute="style"&gt;
+        &lt;/borderSizeAttribute&gt;
+     &lt;/image&gt;
+  &lt;/extension&gt;
+
+</pre>
+		<p>In this sample, the identifier concerning the tags for the inner color (colorIdentifier), the border color (borderColorIdentifier) and the border size (borderSizeIdentifier) are not the default one. However, the attributes are all the default values. Therefore, we can simplify the extension as follows.</p>
+		<pre>	&lt;extension
+        id="org.eclipse.sirius.tests.swtbot.donut"
+        point="org.eclipse.sirius.diagram.bundledImageShape"&gt;
+     &lt;image
+           imagePath="/org.eclipse.sirius.tests.swtbot/images/donut.svg"
+           label="Donut"&gt;
+        &lt;colorIdentifier
+              colorIdentifier="stop8224-2"&gt;
+        &lt;/colorIdentifier&gt;
+        &lt;borderColorIdentifier
+              borderColorIdentifier="path10796-2-6-2-7"&gt;
+        &lt;/borderColorIdentifier&gt;
+        &lt;borderSizeIdentifier
+              borderSizeIdentifier="path10796-2-6-2-7"&gt;
+        &lt;/borderSizeIdentifier&gt;
+     &lt;/image&gt;
+  &lt;/extension&gt;
+</pre>
+	</body>
+</html>
\ No newline at end of file
diff --git a/doc/6.4.x/developer/extensions-properties_provide_custom_widget.html b/doc/6.4.x/developer/extensions-properties_provide_custom_widget.html
new file mode 100644
index 0000000..3983cac
--- /dev/null
+++ b/doc/6.4.x/developer/extensions-properties_provide_custom_widget.html
@@ -0,0 +1,41 @@
+<?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>extensions-properties_provide_custom_widget</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="SiriusProvideCustomWidgetForThePropertiesView">Sirius &#8211; Provide Custom Widget For The Properties View</h1>
+		<h2 id="Goal">Goal</h2>
+		<p>Using the Properties DSL in the odesign, a specifier can create the content of the Properties view for her/his Sirius-based designers. In some projects, a specifier may require the use of additional widgets not provided by the Sirius Properties runtime. In order to fulfill this need, the Sirius Properties runtime provide two ways for a developer to contribute additional widgets for specifiers.</p>
+		<h2 id="Strategies">Strategies</h2>
+		<p>Two strategies, 
+			<a href="extensions-properties_provide_custom_widget_basic.html">
+				<strong>Basic Custom Widget</strong>
+			</a> and 
+			<a href="extensions-properties_provide_custom_widget_advanced.html">
+				<strong>Advanced Custom Widget</strong>
+			</a>, exist to create a custom widget depending on the quality of the integration of the custom widget that you want to create.
+		</p>
+		<table class="table table-bordered" style="margin-left:0">
+			<tr>
+				<td></td>
+				<th>Basic Custom Widget</th>
+				<th>Advanced Custom Widget</th>
+			</tr>
+			<tr>
+				<td>Advantages</td>
+				<td>Easier to implement by the developer</td>
+				<td>Exactly the same integration in Sirius as any other concepts</td>
+			</tr>
+			<tr>
+				<td>Drawbacks</td>
+				<td>Poor user interface for the specifier to manipulate</td>
+				<td>Complex to implement by the developer</td>
+			</tr>
+		</table>
+		<p>Those two strategies have their own specific advantages and drawbacks but the &#8220;Advanced Custom Widget&#8221; strategy can developed as a follow-up of a &#8220;Basic Custom Widget&#8221; while keeping most of the code developed for the &#8220;Basic Custom Widget&#8221; approach.</p>
+	</body>
+</html>
\ No newline at end of file
diff --git a/doc/6.4.x/developer/extensions-properties_provide_custom_widget_advanced.html b/doc/6.4.x/developer/extensions-properties_provide_custom_widget_advanced.html
new file mode 100644
index 0000000..a0c8bd3
--- /dev/null
+++ b/doc/6.4.x/developer/extensions-properties_provide_custom_widget_advanced.html
@@ -0,0 +1,623 @@
+<?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>extensions-properties_provide_custom_widget_advanced</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="SiriusPropertiesAdvancedCustomWidget">Sirius Properties &#8211; Advanced Custom Widget</h1>
+		<h2 id="Goal">Goal</h2>
+		<p>Using the Advanced Custom Widget approach, our goal aims at the creation of a custom widget with a great user experience for the Sirius specifier. This custom widget will be created after the development of the basic custom widget. You should be familiar with this approach first.</p>
+		<h2 id="Strategy">Strategy</h2>
+		<p>In order to create a custom widget, we will have to think about the two kind of users that will interact with our work, the Sirius specifier and the end-user. With this advanced approach, we will create a table widget for the end-user with a great experience for the Sirius specifier who will manipulate it.</p>
+		<h3 id="SpecificationofthecustomwidgetinEclipseSirius">Specification of the custom widget in Eclipse Sirius</h3>
+		<p>The specification of the advanced custom widget will be the main difference with the basic custom widget. While with the basic approach, the Sirius specifier had to use a generic and bland custom widget description, with the advanced approach we will create a real definition for the Sirius specifier to manipulate.</p>
+		<p>As a first step, we want to contribute a piece of model to be displayed in the odesign file for our Sirius specifiers. For that, you will have to create a plugin named 
+			<code>com.example.awesomeproject.sirius.properties.ext.widgets.table</code> containing, in a folder named model, an Ecore model named 
+			<code>properties-ext-widgets-table.ecore</code>. In this Ecore model, you will have to load the resource 
+			<code>properties.ecore</code> used to define the Properties view description in the odesign. This meta-model can be found in the EPackage registry using its NsURI 
+			<code>http://www.eclipse.org/sirius/properties/1.0.0</code>.
+		</p>
+		<p>Once this resource has been loaded, give a name, NsPrefix and NsURI to your EPackage (the root element), for example:</p>
+		<ul>
+			<li>Name: 
+				<code>propertiesextwidgetstable</code>
+			</li>
+			<li>NsPrefix: 
+				<code>properties-ext-widgets-table</code>
+			</li>
+			<li>NsURI: 
+				<code>http://www.example.com/awesomeproject/properties/ext/widgets/table</code>
+			</li>
+		</ul>
+		<p>After that, you can create an EClass under the EPackage with the named 
+			<code>ExtTableDescription</code> and with the EClass 
+			<code>WidgetDescription</code> as a supertype. This EClass should contain for our example two EAttributes named 
+			<code>onClickExpression</code> and 
+			<code>valueExpression</code> and both should have the type 
+			<code>InterpretedExpresion</code>.
+		</p>
+		<p>You can then create a genmodel file for your Ecore model in the same repository. Make sure to configure your 
+			<code>genmodel</code> with a 
+			<em>Runtime Version</em> property set to 
+			<em>2.3</em> so that the generated Java is compatible with the &#8220;parent&#8221; metamodel from Sirius. Launching the generation of the model and its edit support will produce two plugins:
+		</p>
+		<ul>
+			<li>Sirius Properties model extension: 
+				<code>com.example.awesomeproject.sirius.properties.ext.widgets.table</code>
+			</li>
+			<li>Sirius Properties model extension Edit support: 
+				<code>com.example.awesomeproject.sirius.properties.ext.widgets.table.edit</code>
+			</li>
+		</ul>
+		<h3 id="SpecificationofthecustomwidgetinEclipseEEF">Specification of the custom widget in Eclipse EEF</h3>
+		<p>Eclipse EEF has a runtime independent of Eclipse Sirius and as such the definition of the widget that exist in the odesign file has to be transformed into a definition that can be maintained by Eclipse EEF. For most of the existing concepts this transformation is very basic since it only involves the transformation of the Sirius concepts directly into similar EEF concepts but both domain specific languages have very different roles.</p>
+		<p>The Eclipse Sirius Properties DSL is used as the user interface for the Eclipse Sirius specifier while the Eclipse EEF DSL is the model interpreted by the runtime. It is perfectly possible, and even recommended, to define, in the extension of the Sirius Properties DSL, high level concepts that should be user-friendly for the Sirius specifier and to keep in the extension of the EEF DSL raw concepts transformed from the extension of the Sirius Properties DSL.</p>
+		<p>You will now have to create a third plugin named 
+			<code>com.example.awesomeproject.eef.ext.widgets.table</code> with a model folder and an Ecore model inside named 
+			<code>eef-ext-widgets-table.ecore</code>. In this model you should load the resource 
+			<code>eef.ecore</code> containing the EEF DSL that you will have to extend. You can find it in the EPackage registry using its NsURI 
+			<code>http://www.eclipse.org/eef</code>. Once the EEF DSL is loaded, you can set the properties of your root EPackage:
+		</p>
+		<ul>
+			<li>Name: 
+				<code>eefextwidgetstable</code>
+			</li>
+			<li>NsPrefix: 
+				<code>eef-ext-widgets-table</code>
+			</li>
+			<li>NsURI: 
+				<code>http://www.example.com/awesomeproject/eef/ext/widgets/table</code>
+			</li>
+		</ul>
+		<p>Under this root EPackage, you can now create your EClass named 
+			<code>EEFExtTableDescription</code> which should have 
+			<code>EEFWidgetDescription</code> as a supertype. This EClass should contain for our example two EAttributes named 
+			<code>onClickExpression</code> and 
+			<code>valueExpression</code> and both should have the type 
+			<code>EString</code>. In our example, both the extension of the Sirius DSL and the EEF DSL have the same properties since we are using a very simple example.
+		</p>
+		<p>You can now create a genmodel for your extension of the EEF DSL and generate the code for the model (the Edit support is not necessary here). You will now have three plugins:</p>
+		<ul>
+			<li>Sirius Properties model extension: 
+				<code>com.example.awesomeproject.sirius.properties.ext.widgets.table</code>
+			</li>
+			<li>Sirius Properties model extension Edit support: 
+				<code>com.example.awesomeproject.sirius.properties.ext.widgets.table.edit</code>
+			</li>
+			<li>EEF model extension: 
+				<code>com.example.awesomeproject.eef.ext.widgets.table</code>
+			</li>
+		</ul>
+		<h3 id="ContributionoftheconverterfromSiriustoEEF">Contribution of the converter from Sirius to EEF</h3>
+		<p>Now that you have your extension to the Sirius Properties DSL and the EEF DSL, you need to inform the Sirius bridge how to transform the concepts from your extension to the Sirius DSL into EEF concepts. For that an extension point is available in order to contribute an IDescriptionConverter. This converter will have to depend on the Sirius bridge for Eclipse EEF and at least the extension to both the Sirius Properties DSL and the EEF DSL. As a result, this code will have to go into another plugin because having those dependencies on an existing plugins would be against the best practices. We will thus create a fourth plugin named 
+			<code>com.example.awesomeproject.sirius.ui.properties.ext.widgets.table</code>. In this plugin, we will declare our description converter using the following extension.
+		</p>
+		<pre>&lt;?xml version="1.0" encoding="UTF-8"?&gt;
+&lt;?eclipse version="3.4"?&gt;
+&lt;plugin&gt;
+   &lt;extension
+         point="org.eclipse.sirius.ui.properties.descriptionConverter"&gt;
+      &lt;descriptor
+            class="com.example.awesomeproject.sirius.ui.properties.ext.widgets.table.internal.ExtTableDescriptionConverter"
+            description="%tableDescriptionConverter.Description"
+            id="com.example.awesomeproject.sirius.ui.properties.ext.widgets.table.descriptionConverter"
+            label="%tableDescriptionConverter.Label"&gt;
+      &lt;/descriptor&gt;
+   &lt;/extension&gt;
+&lt;/plugin&gt;
+
+</pre>
+		<p>
+			<br/>The transformation from the Sirius DSL to the EEF DSL occur in two parts, first the description are converted using an IDescriptionConverter and after an IDescriptionLinkResolver may be used to resolve some links. In our case, the description converter will simply be used to transform a instance of 
+			<code>ExtTableDescription</code> into an 
+			<code>EEFExtTableDescription</code> and we won&#8217;t use a description link resolver since it is not useful here.
+		</p>
+		<pre>package com.example.awesomeproject.sirius.ui.properties.ext.widgets.table.internal;
+
+import java.util.Map;
+
+import com.example.awesomeproject.eef.ext.widgets.table.EEFExtTableDescription;
+import com.example.awesomeproject.eef.ext.widgets.table.EefExtWidgetsTableFactory;
+import org.eclipse.emf.ecore.EObject;
+import com.example.awesomeproject.sirius.properties.ext.widgets.table.ExtTableDescription;
+import org.eclipse.sirius.ui.properties.api.DescriptionCache;
+import org.eclipse.sirius.ui.properties.api.IDescriptionConverter;
+
+public class ExtTableDescriptionConverter implements IDescriptionConverter {
+
+    @Override
+    public boolean canHandle(EObject description) {
+        return description instanceof ExtTableDescription;
+    }
+
+    @Override
+    public EObject convert(EObject description, Map&lt;String, Object&gt; parameters, DescriptionCache cache) {
+        if (description instanceof ExtTableDescription) {
+            ExtTableDescription extTableDescription = (ExtTableDescription) description;
+
+            EEFExtTableDescription eefExtTableDescription = EefExtWidgetsTableFactory.eINSTANCE.createEEFExtTableDescription();
+            eefExtTableDescription.setIdentifier(extTableDescription.getIdentifier());
+            eefExtTableDescription.setHelpExpression(extTableDescription.getHelpExpression());
+            eefExtTableDescription.setIsEnabledExpression(extTableDescription.getIsEnabledExpression());
+            eefExtTableDescription.setLabelExpression(extTableDescription.getLabelExpression());
+
+            eefExtTableDescription.setValueExpression(extTableDescription.getValueExpression());
+            eefExtTableDescription.setOnClickExpression(extTableDescription.getOnClickExpression());
+
+            // Let's not forget to populate the cache for the other converters or link resolvers
+            cache.put(extTableDescription, eefExtTableDescription);
+
+            return eefExtTableDescription;
+        }
+        return null;
+    }
+}
+
+</pre>
+		<p>
+			<br/>An IDescriptionConverter can be used to convert any element from the Sirius Properties DSL into an EEF DSL element. In order to support custom widgets, you only have to handle your own objects but you could still modify other kind of objects from the Sirius Properties DSL. As a result, this mechanism can be used to dynamically modify anything in the description of the Properties view at runtime. This usage of the IDescriptionConverter should almost never be used, it&#8217;s a very powerful mechanism for extremely advanced users only.
+		</p>
+		<p>In order to help developer transform their Sirius entities into EEF entities, multiple possible super-classes are available:</p>
+		<ul>
+			<li>org.eclipse.sirius.ui.properties.api.AbstractDescriptionConverter &#8211; Common superclass with utility methods</li>
+			<li>org.eclipse.sirius.ui.properties.api.DefaultDescriptionConverter &#8211; Converter for basic transformations</li>
+			<li>org.eclipse.sirius.ui.properties.api.DefaultDescriptionWithInitialOperationConverter &#8211; Converter with support for the transformation of a basic operation into a regular expression</li>
+			<li>org.eclipse.sirius.ui.properties.api.DefaultStyleDescriptionConverter &#8211; Converter with support for styling</li>
+		</ul>
+		<h3 id="ContributionofthepreprocessorfromSiriuswithextensibilityfeaturestoflattenSirius">Contribution of the preprocessor from Sirius with extensibility features to flatten Sirius</h3>
+		<p>Now that you have your extension to the Sirius Properties DSL, you need to inform the Sirius bridge how to transform the concepts from your new widget with extensibility to the Sirius DSL without extends or overrides mechanism. For that an extension point is available in order to contribute an IDescriptionPreprocessor. This preprocessor will have to depend on the Sirius bridge. As a result, this code will have to go into the same plugin as the converter for best practices. We will thus contribute to the plugin named 
+			<code>com.example.awesomeproject.sirius.ui.properties.ext.widgets.table</code>. In this plugin, we will declare our description preprocessor using the following extension.
+		</p>
+		<pre>&lt;?xml version="1.0" encoding="UTF-8"?&gt;
+&lt;?eclipse version="3.4"?&gt;
+&lt;plugin&gt;
+   &lt;extension
+         point="org.eclipse.sirius.ui.properties.descriptionPreprocessor"&gt;
+      &lt;descriptor
+            class="com.example.awesomeproject.sirius.ui.properties.ext.widgets.table.internal.ExtTableDescriptionPreprocessor"
+            description="%tableDescriptionPreprocessor.Description"
+            id="com.example.awesomeproject.sirius.ui.properties.ext.widgets.table.descriptionPreprocessor"
+            label="%tableDescriptionPreprocessor.Label"&gt;
+      &lt;/descriptor&gt;
+   &lt;/extension&gt;
+&lt;/plugin&gt;
+
+</pre>
+		<p>
+			<br/>The transformation from the Sirius DSL with extends/overrides to the Sirius DSL occur in two parts, first the description are converted using an IDescriptionPreprocessor and after an IDescriptionLinkResolver may be used to resolve some links. In our case, the description preprocessor will simply be used to transform a instance of 
+			<code>ExtTableDescription</code> with extends into a flatten 
+			<code>ExtTableDescription</code> without extends/overrides and we won&#8217;t use a description link resolver since it is not useful here.
+		</p>
+		<pre>package com.example.awesomeproject.sirius.ui.properties.ext.widgets.table.internal;
+
+import java.util.Map;
+
+import com.example.awesomeproject.eef.ext.widgets.table.EEFExtTableDescription;
+import com.example.awesomeproject.eef.ext.widgets.table.EefExtWidgetsTableFactory;
+import org.eclipse.emf.ecore.EObject;
+import com.example.awesomeproject.sirius.properties.ext.widgets.table.ExtTableDescription;
+import org.eclipse.sirius.ui.properties.api.DescriptionCache;
+import org.eclipse.sirius.ui.properties.api.IDescriptionPreprocessor;
+
+public class ExtTableDescriptionPreprocessor extends PreconfiguredPreprocessor&lt;ExtTableDescription&gt; {
+
+    @Override
+    public boolean canHandle(EObject description) {
+        return description instanceof ExtTableDescription;
+    }
+}
+
+</pre>
+		<p>
+			<br/>An IDescriptionPreprocessor can be used to convert any element from the Sirius Properties DSL with extends/overrides to a flatten Sirius DSL.
+		</p>
+		<p>In order to help developer transform their Sirius entities into Sirius flatten entities, multiple possible super-classes are available:</p>
+		<ul>
+			<li>org.eclipse.sirius.ui.properties.api.DefaultDescriptionPreprocessor &#8211; Preprocessor for basic transformations</li>
+			<li>org.eclipse.sirius.ui.properties.api.DefaultDescriptionPreprocessorWithFiltering &#8211; Preprocessor with support for ignoring some features and copying the value of some other features. This means that in the models resulting from the preprocessing, the ignored values are not copied or inherited.</li>
+			<li>org.eclipse.sirius.ui.properties.api.PreconfiguredPreprocessor &#8211; Preprocessor with support for most of the cases by ignoring : the extends reference, all the filters of the extension mechanism and by copying: the actions, the initial operation, the style, the conditional styles.</li>
+		</ul>
+		<h3 id="ContributionofthePropertiessectionfortheodesign">Contribution of the Properties section for the odesign</h3>
+		<p>If you try to edit your extension of the Sirius DSL in the odesign editor, you will find out that it does not work. In order to be able to view the properties of your widget, in our case the 
+			<code>onClickExpression</code> and the 
+			<code>valueExpression</code>, you will need to contribute to the Properties view of the odesign editor. Since this contribution will require a dependency with the framework used for the Properties view of the odesign editor, it will require another plugin named 
+			<code>com.example.awesomeproject.sirius.editor.properties.ext.widgets.table</code> with a dependency to at least:
+		</p>
+		<ul>
+			<li>com.example.awesomeproject.sirius.properties.ext.widgets.table</li>
+			<li>com.example.awesomeproject.sirius.properties.ext.widgets.table.edit</li>
+			<li>org.eclipse.ui.views.properties.tabbed</li>
+			<li>org.eclipse.sirius.editor</li>
+		</ul>
+		<pre>&lt;?xml version="1.0" encoding="UTF-8"?&gt;
+&lt;?eclipse version="3.4"?&gt;
+&lt;plugin&gt;
+   &lt;extension
+         point="org.eclipse.ui.views.properties.tabbed.propertySections"&gt;
+      &lt;propertySections
+            contributorId="org.eclipse.sirius.editor.editorPlugin.SiriusEditorContributor"&gt;
+         &lt;propertySection
+               afterSection="properties.section.widgetDescription.IsEnabledExpression"
+               class="com.example.awesomeproject.sirius.editor.properties.ext.widgets.table.internal.ExtTableDescriptionValueExpressionPropertySection"
+               filter="com.example.awesomeproject.sirius.editor.properties.ext.widgets.table.internal.ExtTableDescriptionValueExpressionFilter"
+               id="properties.section.extTableDescription.valueExpression"
+               tab="viewpoint.tab.general"&gt;
+            &lt;input
+                  type="com.example.awesomeproject.sirius.editor.properties.ext.widgets.table.propertiesextwidgetstablee.ExtTableDescription"&gt;
+            &lt;/input&gt;
+         &lt;/propertySection&gt;
+         &lt;propertySection
+               afterSection="properties.section.extTableDescription.valueExpression"
+               class="com.example.awesomeproject.sirius.editor.properties.ext.widgets.table.internal.ExtTableDescriptionOnClickExpressionPropertySection"
+               filter="com.example.awesomeproject.sirius.editor.properties.ext.widgets.table.internal.ExtTableDescriptionOnClickExpressionFilter"
+               id="properties.section.extTableDescription.valueExpression"
+               tab="viewpoint.tab.general"&gt;
+            &lt;input
+                  type="com.example.awesomeproject.sirius.editor.properties.ext.widgets.table.propertiesextwidgetstablee.ExtTableDescription"&gt;
+            &lt;/input&gt;
+         &lt;/propertySection&gt;
+      &lt;/propertySections&gt;
+   &lt;/extension&gt;
+&lt;/plugin&gt;
+
+
+</pre>
+		<p>
+			<br/>Two property sections will be necessary in order to display a text field for the value expression and the on click expression.
+		</p>
+		<pre>package com.example.awesomeproject.sirius.editor.properties.ext.widgets.table.internal;
+
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.sirius.editor.properties.filters.common.ViewpointPropertyFilter;
+import com.example.awesomeproject.sirius.editor.properties.ext.widgets.table.propertiesextwidgetstablee.PropertiesExtTablePackage;
+
+public class ExtTableDescriptionOnClickExpressionFilter extends ViewpointPropertyFilter {
+
+    @Override
+    protected EStructuralFeature getFeature() {
+        return PropertiesExtTablePackage.eINSTANCE.getExtTableDescription_OnClickExpression();
+    }
+
+    @Override
+    protected boolean isRightInputType(Object arg0) {
+        return arg0 instanceof com.example.awesomeproject.sirius.editor.properties.ext.widgets.table.propertiesextwidgetstablee.ExtTableDescription;
+    }
+
+}
+
+</pre>
+		<p>
+			<br/>Both filter will look almost the same, the only difference will be the structural feature that they will return.
+		</p>
+		<pre>package com.example.awesomeproject.sirius.editor.properties.ext.widgets.table.internal;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.sirius.editor.editorPlugin.SiriusEditor;
+import org.eclipse.sirius.editor.properties.sections.common.AbstractTextWithButtonPropertySection;
+import org.eclipse.sirius.editor.tools.api.assist.TypeContentProposalProvider;
+import org.eclipse.sirius.editor.tools.internal.presentation.TextWithContentProposalDialog;
+import com.example.awesomeproject.sirius.editor.properties.ext.widgets.table.propertiesextwidgetstablee.PropertiesExtTablePackage;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.events.SelectionAdapter;
+import org.eclipse.swt.events.SelectionEvent;
+import org.eclipse.swt.events.SelectionListener;
+import org.eclipse.swt.layout.FormAttachment;
+import org.eclipse.swt.layout.FormData;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage;
+
+@SuppressWarnings("restriction")
+public class ExtTableDescriptionOnClickExpressionPropertySection extends AbstractTextWithButtonPropertySection {
+
+    @Override
+    protected String getDefaultLabelText() {
+        return "On Click Expression"; //$NON-NLS-1$
+    }
+
+    @Override
+    protected String getLabelText() {
+        String labelText;
+        labelText = super.getLabelText() + "*:"; //$NON-NLS-1$
+        return labelText;
+    }
+
+    @Override
+    public EAttribute getFeature() {
+        return PropertiesExtTablePackage.eINSTANCE.getExtTableDescription_OnClickExpression();
+    }
+
+    @Override
+    protected Object getFeatureValue(String newText) {
+        return newText;
+    }
+
+    @Override
+    protected boolean isEqual(String newText) {
+        return this.getFeatureAsText().equals(newText);
+    }
+
+    @Override
+    public void createControls(Composite parent, TabbedPropertySheetPage tabbedPropertySheetPage) {
+        super.createControls(parent, tabbedPropertySheetPage);
+
+        text.setToolTipText(getToolTipText());
+        /*
+         * We set the color as it's a InterpretedExpression
+         */
+        text.setBackground(SiriusEditor.getColorRegistry().get("yellow")); //$NON-NLS-1$
+
+        TypeContentProposalProvider.bindPluginsCompletionProcessors(this, text);
+
+        FormData data = new FormData();
+        data.top = new FormAttachment(text, 0, SWT.TOP);
+        data.left = new FormAttachment(nameLabel);
+
+        nameLabel.setFont(SiriusEditor.getFontRegistry().get("required")); //$NON-NLS-1$
+    }
+
+    @Override
+    protected SelectionListener createButtonListener() {
+        return new SelectionAdapter() {
+            @Override
+            public void widgetSelected(SelectionEvent e) {
+                TextWithContentProposalDialog dialog = new TextWithContentProposalDialog(composite.getShell(), ExtTableDescriptionOnClickExpressionPropertySection.this, text.getText());
+                dialog.open();
+                text.setText(dialog.getResult());
+                handleTextModified();
+            }
+        };
+    }
+
+    @Override
+    protected String getPropertyDescription() {
+        return ""; //$NON-NLS-1$
+    }
+
+}
+
+
+</pre>
+		<p>
+			<br/>This property section will create a text field and label in the Properties view of the odesign editor in order to let the Sirius specifier edit the 
+			<code>onClickExpression</code> of the table. Our text field will have the same appear and feature as the regular yellow text fields used by Sirius. 
+		</p>
+		<h3 id="Updatetothepluginsofourbasicwidgetapproach">Update to the plugins of our basic widget approach</h3>
+		<p>Now we can reuse our work in the basic approach but this time with our own specific DSL instead of reusing the CustomElements from the EEF DSL. First we will have to modify the lifecycle manager provider to support our EEFExtTableDescription.</p>
+		<pre>package com.example.awesomeproject.eef.ide.ui.ext.widgets.table.internal;
+
+import org.eclipse.eef.EEFControlDescription;
+import org.eclipse.eef.EEFCustomWidgetDescription;
+import org.eclipse.eef.core.api.EditingContextAdapter;
+import org.eclipse.eef.ide.ui.api.widgets.IEEFLifecycleManager;
+import org.eclipse.eef.ide.ui.api.widgets.IEEFLifecycleManagerProvider;
+import org.eclipse.sirius.common.interpreter.api.IInterpreter;
+import org.eclipse.sirius.common.interpreter.api.IVariableManager;
+
+public class TableLifecycleManagerProvider implements IEEFLifecycleManagerProvider {
+    /**
+     * The identifier of the control description supported.
+     */
+    private static final String SUPPORTED_ID = "com.example.awesomeproject.sirius.properties.ext.widgets.table"; //$NON-NLS-1$
+
+    @Override
+    public boolean canHandle(EEFControlDescription controlDescription) {
+        // only support custom widgets with the proper identifier
+        return SUPPORTED_ID.equals(controlDescription.getIdentifier()) &amp;&amp; controlDescription instanceof EEFCustomWidgetDescription;
+    }
+
+    @Override
+    public IEEFLifecycleManager getLifecycleManager(EEFControlDescription controlDescription, IVariableManager variableManager, IInterpreter interpreter, EditingContextAdapter contextAdapter) {
+        if (controlDescription instanceof EEFCustomWidgetDescription) {
+            return new TableLifecycleManager((EEFCustomWidgetDescription) controlDescription, variableManager, interpreter, contextAdapter);
+        }
+        throw new IllegalArgumentException();
+    }
+}
+
+
+</pre>
+		<p>
+			<br/>Now we can just modify our lifecycle manager to support our EEFExtTableDescription.
+		</p>
+		<pre>package com.example.awesomeproject.eef.ide.ui.ext.widgets.table.internal;
+
+import java.util.function.Consumer;
+
+import org.eclipse.eef.EEFCustomWidgetDescription;
+import org.eclipse.eef.EEFWidgetDescription;
+import org.eclipse.eef.common.ui.api.IEEFFormContainer;
+import org.eclipse.eef.core.api.EditingContextAdapter;
+import org.eclipse.eef.core.api.controllers.IEEFWidgetController;
+import org.eclipse.eef.ide.ui.api.widgets.AbstractEEFWidgetLifecycleManager;
+import org.eclipse.emf.edit.provider.ComposedAdapterFactory;
+import org.eclipse.emf.edit.ui.provider.AdapterFactoryLabelProvider;
+import org.eclipse.jface.viewers.ArrayContentProvider;
+import org.eclipse.jface.viewers.DelegatingStyledCellLabelProvider;
+import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.jface.viewers.TableViewer;
+import org.eclipse.sirius.common.interpreter.api.IInterpreter;
+import org.eclipse.sirius.common.interpreter.api.IVariableManager;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.events.SelectionEvent;
+import org.eclipse.swt.events.SelectionListener;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.swt.widgets.Table;
+
+import com.example.awesomeproject.eef.core.ext.widgets.table.internal.TableController;
+
+public class TableLifecycleManager extends AbstractEEFWidgetLifecycleManager {
+
+    private EEFCustomWidgetDescription description;
+
+    private TableViewer tableViewer;
+
+    private ComposedAdapterFactory composedAdapterFactory;
+
+    private SelectionListener onClickListener;
+
+    private TableController controller;
+
+    private Consumer&lt;Object&gt; newValueConsumer;
+    
+    public TableLifecycleManager(EEFCustomWidgetDescription description, IVariableManager variableManager, IInterpreter interpreter,
+            EditingContextAdapter contextAdapter) {
+        super(variableManager, interpreter, contextAdapter);
+        this.description = description;
+    }
+
+    @Override
+    protected void createMainControl(Composite parent, IEEFFormContainer formContainer) {
+        Table table = formContainer.getWidgetFactory().createTable(parent,
+                SWT.READ_ONLY | SWT.V_SCROLL | SWT.FULL_SELECTION | SWT.BORDER | SWT.SINGLE);
+        this.tableViewer = new TableViewer(table);
+        this.composedAdapterFactory = new ComposedAdapterFactory(ComposedAdapterFactory.Descriptor.Registry.INSTANCE);
+
+        this.tableViewer.setContentProvider(ArrayContentProvider.getInstance());
+        this.tableViewer.setLabelProvider(new DelegatingStyledCellLabelProvider(new AdapterFactoryLabelProvider.StyledLabelProvider(
+                this.composedAdapterFactory, this.tableViewer)));
+
+        this.controller = new TableController(description, variableManager, interpreter, editingContextAdapter);
+    }
+
+    @Override
+    public void aboutToBeShown() {
+        super.aboutToBeShown();
+
+        this.newValueConsumer = (newValue) -&gt; this.tableViewer.setInput(newValue);
+        this.controller.onNewValue(this.newValueConsumer);
+
+        this.onClickListener = new SelectionListener() {
+            @Override
+            public void widgetSelected(SelectionEvent event) {
+                Object selection = ((IStructuredSelection) TableLifecycleManager.this.tableViewer.getSelection()).getFirstElement();
+                TableLifecycleManager.this.controller.handleClick(selection);
+            }
+
+            @Override
+            public void widgetDefaultSelected(SelectionEvent event) {
+                Object selection = ((IStructuredSelection) TableLifecycleManager.this.tableViewer.getSelection()).getFirstElement();
+                TableLifecycleManager.this.controller.handleClick(selection);
+            }
+        };
+        this.tableViewer.getTable().addSelectionListener(this.onClickListener);
+    }
+
+    @Override
+    public void refresh() {
+        super.refresh();
+
+        this.controller.refresh();
+    }
+
+    @Override
+    public void aboutToBeHidden() {
+        super.aboutToBeHidden();
+        this.controller.removeValueConsumer();
+        this.newValueConsumer = null;
+
+        this.tableViewer.getTable().removeSelectionListener(this.onClickListener);
+        this.onClickListener = null;
+    }
+
+    @Override
+    protected IEEFWidgetController getController() {
+        return this.controller;
+    }
+
+    @Override
+    protected EEFWidgetDescription getWidgetDescription() {
+        return this.description;
+    }
+
+    @Override
+    protected Control getValidationControl() {
+        return this.tableViewer.getTable();
+    }
+
+    @Override
+    public void dispose() {
+        super.dispose();
+
+        this.composedAdapterFactory.dispose();
+    }
+    
+    @Override
+    protected void setEnabled(boolean isEnabled) {
+        this.tableViewer.getTable().setEnabled(isEnabled);
+    }
+}
+
+</pre>
+		<p>
+			<br/>And finally we can easily adapter our controller.
+		</p>
+		<pre>package com.example.awesomeproject.eef.core.ext.widgets.table.internal;
+
+import java.util.function.Consumer;
+import java.util.HashMap;
+import java.util.Map;
+
+import org.eclipse.eef.EEFCustomWidgetDescription;
+import org.eclipse.eef.core.api.EditingContextAdapter;
+import org.eclipse.eef.core.api.controllers.AbstractEEFCustomWidgetController;
+import org.eclipse.eef.core.api.utils.EvalFactory;
+import org.eclipse.sirius.common.interpreter.api.IInterpreter;
+import org.eclipse.sirius.common.interpreter.api.IVariableManager;
+
+public class TableController extends AbstractEEFCustomWidgetController {
+
+    private static final String VALUE_EXPRESSION_ID = "valueExpression"; //$NON-NLS-1$
+
+    private static final String ON_CLICK_EXPRESSION_ID = "onClickExpression"; //$NON-NLS-1$
+
+    private static final String SELECTION_VARIABLE_NAME = "selection"; //$NON-NLS-1$
+
+    private Consumer&lt;Object&gt; newValueConsumer;
+    
+    public TableController(EEFCustomWidgetDescription description, IVariableManager variableManager, IInterpreter interpreter,
+            EditingContextAdapter contextAdapter) {
+        super(description, variableManager, interpreter, contextAdapter);
+    }
+
+    @Override
+    protected EEFCustomWidgetDescription getDescription() {
+        return this.description;
+    }
+
+    @Override
+    public void refresh() {
+        super.refresh();
+        this.newEval().call(this.getCustomExpression(VALUE_EXPRESSION_ID).get(), this.newValueConsumer);
+    }
+
+    public void handleClick(Object object) {
+        this.editingContextAdapter.performModelChange(() -&gt; {
+            String onClickExpression = this.getCustomExpression(ON_CLICK_EXPRESSION_ID).get();
+
+            Map&lt;String, Object&gt; variables = new HashMap&lt;String, Object&gt;();
+            variables.putAll(this.variableManager.getVariables());
+            variables.put(SELECTION_VARIABLE_NAME, object);
+
+            EvalFactory.of(this.interpreter, variables).call(onClickExpression);
+        });
+    }
+
+    public void onNewValue(Consumer&lt;Object&gt; consumer) {
+        this.newValueConsumer = consumer;
+    }
+
+    public void removeValueConsumer() {
+        this.newValueConsumer = null;
+    }
+}
+
+</pre>
+		<p>
+			<br/>With minimal changes, we can reuse the code of the basic approach in this advanced approach. But now we have the ability to provide the Sirius specifiers with a proper user interface for the manipulation of our widget and we can manipulate our own concepts in the EEF runtime.
+		</p>
+	</body>
+</html>
\ No newline at end of file
diff --git a/doc/6.4.x/developer/extensions-properties_provide_custom_widget_basic.html b/doc/6.4.x/developer/extensions-properties_provide_custom_widget_basic.html
new file mode 100644
index 0000000..aebe5ac
--- /dev/null
+++ b/doc/6.4.x/developer/extensions-properties_provide_custom_widget_basic.html
@@ -0,0 +1,332 @@
+<?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>extensions-properties_provide_custom_widget_basic</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="SiriusPropertiesBasicCustomWidget">Sirius Properties &#8211; Basic Custom Widget</h1>
+		<h2 id="Goal">Goal</h2>
+		<p>Using the Basic Custom Widget approach, our goal aims at the quick creation of a custom widget with a minimal amount of code even if it creates only a basic user interface for the specifier to use our widget. In this example, we will try to create a simple table widget.</p>
+		<h2 id="Strategy">Strategy</h2>
+		<p>In order to create a custom widget, we will have to think about the two kind of users that will interact with our work, the Sirius specifier and the end-user. With this basic approach, we will create a nice table widget for the end-user but we will be a bit limited regarding what we can offer to the specifier.</p>
+		<h3 id="Specificationofthecustomwidget">Specification of the custom widget</h3>
+		<p>The implementation of the Properties view support in Eclipse Sirius is based on the Eclipse EEF project. While both projects are closely related, EEF can be used without Eclipse Sirius and in order to contribute a basic custom widget, we will only have to contribute to the EEF runtime. Both Eclipse EEF and Eclipse Sirius have the ability to let the specifier define a custom widget with a custom widget description.</p>
+		<p>This custom widget description in Eclipse Sirius is manipulated, like any other widget, in the odesign file. In this widget, you can specify the following properties of your widget:</p>
+		<ul>
+			<li>identifier</li>
+			<li>labelExpression</li>
+			<li>helpExpression</li>
+			<li>isEnabledExpression</li>
+			<li>customExpressions</li>
+			<li>customOperations</li>
+			<li>style</li>
+			<li>conditionalStyles</li>
+		</ul>
+		<p>Most of those properties are inherited from the description of the widget (identifier, labelExpression, helpExpression, isEnabledExpression) and the others are specific to the custom widget description (customExpressions, customOperations, style, conditionalStyles). In order to provide a basic custom widget to a Sirius specifier, you will have to indicate her/him the proper identifier to use for the widget, its expressions and its operations. For example, we will specify that in order to make our custom table widget work, the specifier will have to use a custom widget description with the identifier 
+			<code>com.example.awesomeproject.sirius.properties.ext.widgets.table</code>.
+		</p>
+		<p>In order to provide the implementation of our table, we will need to use Eclipse EEF&#8217;s lifecycle manager provider extension point. This extension point let you define the appearance and behavior of a custom widget using a lifecycle manager.</p>
+		<h3 id="Extensioncontribution">Extension contribution</h3>
+		<p>You will have to start by creating an Eclipse plugin named 
+			<code>com.example.awesomeproject.eef.ide.ui.ext.widgets.table</code> which will contain the provider of the lifecycle manager. In Eclipse EEF, a lifecycle manager is used to create the user interface of a widget and manage its lifecycle (add listeners, refresh, remove listeners, dispose etc) while a controller is used to define its behavior. The controller is not compulsary but it is highly recommended. In order to create the lifecycle manager provider, you will have to define the following extension.
+		</p>
+		<pre>&lt;?xml version="1.0" encoding="UTF-8"?&gt;
+&lt;?eclipse version="3.4"?&gt;
+&lt;plugin&gt;
+   &lt;extension
+         point="org.eclipse.eef.ide.ui.eefLifecycleManagerProvider"&gt;
+      &lt;descriptor
+            class="com.example.awesomeproject.eef.ide.ui.ext.widgets.table.internal.TableLifecycleManagerProvider"
+            description="%tableLifecycleManagerProvider.Description"
+            id="com.example.awesomeproject.eef.ide.ui.ext.widgets.table"
+            label="%tableLifecycleManagerProvider.Label"&gt;
+      &lt;/descriptor&gt;
+   &lt;/extension&gt;
+&lt;/plugin&gt;
+
+</pre>
+		<p>
+			<br/>To make your code compile, you will have to add at least some dependencies (Required Bundle) to the following plugins:
+		</p>
+		<ul>
+			<li>org.eclipse.eef</li>
+			<li>org.eclipse.eef.core</li>
+			<li>org.eclipse.eef.ide.ui</li>
+			<li>org.eclipse.sirius.common.interpreter</li>
+		</ul>
+		<h3 id="EEFlifecyclemanagerprovider">EEF lifecycle manager provider</h3>
+		<p>
+			<br/>The properties label and description should both be internationalized and the class should reference a Java class implementing IEEFLifecycleManagerProvider. Our lifecycle manager provider will have two methods, one to indicate if it can handle the description given by the EEF runtime and one to return a proper lifecycle manager for this description. In our case, the only description that we want to support is a custom widget with the identifier 
+			<code>com.example.awesomeproject.sirius.properties.ext.widgets.table</code>.
+		</p>
+		<pre>package com.example.awesomeproject.eef.ide.ui.ext.widgets.table.internal;
+
+import org.eclipse.eef.EEFControlDescription;
+import org.eclipse.eef.EEFCustomWidgetDescription;
+import org.eclipse.eef.core.api.EditingContextAdapter;
+import org.eclipse.eef.ide.ui.api.widgets.IEEFLifecycleManager;
+import org.eclipse.eef.ide.ui.api.widgets.IEEFLifecycleManagerProvider;
+import org.eclipse.sirius.common.interpreter.api.IInterpreter;
+import org.eclipse.sirius.common.interpreter.api.IVariableManager;
+
+public class TableLifecycleManagerProvider implements IEEFLifecycleManagerProvider {
+	/**
+	 * The identifier of the control description supported.
+	 */
+	private static final String SUPPORTED_ID = "com.example.awesomeproject.sirius.properties.ext.widgets.table"; //$NON-NLS-1$
+
+	@Override
+	public boolean canHandle(EEFControlDescription controlDescription) {
+		// only support custom widgets with the proper identifier
+		return SUPPORTED_ID.equals(controlDescription.getIdentifier()) &amp;&amp; controlDescription instanceof EEFCustomWidgetDescription;
+	}
+
+	@Override
+	public IEEFLifecycleManager getLifecycleManager(EEFControlDescription controlDescription, IVariableManager variableManager,
+			IInterpreter interpreter, EditingContextAdapter contextAdapter) {
+		if (controlDescription instanceof EEFCustomWidgetDescription) {
+			return new TableLifecycleManager((EEFCustomWidgetDescription) controlDescription, variableManager, interpreter, contextAdapter);
+		}
+		throw new IllegalArgumentException();
+	}
+}
+
+
+</pre>
+		<p>
+			<br/>To create the lifecycle manager, the EEF runtime gives us access to several variables:
+		</p>
+		<ul>
+			<li>controlDescription: The description of the control that we support</li>
+			<li>variableManager: The variables available for this control, we can use it to add new variables and even create child contexts with new variables</li>
+			<li>interpreter: The interpreter used to run expression given by the Sirius specifier</li>
+			<li>contextAdapter: The wrapper used to run modifications of the model with optional support for transactions</li>
+		</ul>
+		<h3 id="EEFlifecyclemanager">EEF lifecycle manager</h3>
+		<p>The lifecycle manager must implements the interface 
+			<code>IEEFLifecycleManager</code> but for a custom widget it is easier to extends on of its default abstract implementation, in our case 
+			<code>org.eclipse.eef.ide.ui.api.widgets.AbstractEEFWidgetLifecycleManager</code>.
+		</p>
+		<pre>package com.example.awesomeproject.eef.ide.ui.ext.widgets.table.internal;
+
+import java.util.function.Consumer;
+
+import org.eclipse.eef.EEFCustomWidgetDescription;
+import org.eclipse.eef.EEFWidgetDescription;
+import org.eclipse.eef.common.ui.api.IEEFFormContainer;
+import org.eclipse.eef.core.api.EditingContextAdapter;
+import org.eclipse.eef.core.api.controllers.IEEFWidgetController;
+import org.eclipse.eef.ide.ui.api.widgets.AbstractEEFWidgetLifecycleManager;
+import org.eclipse.emf.edit.provider.ComposedAdapterFactory;
+import org.eclipse.emf.edit.ui.provider.AdapterFactoryLabelProvider;
+import org.eclipse.jface.viewers.ArrayContentProvider;
+import org.eclipse.jface.viewers.DelegatingStyledCellLabelProvider;
+import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.jface.viewers.TableViewer;
+import org.eclipse.sirius.common.interpreter.api.IInterpreter;
+import org.eclipse.sirius.common.interpreter.api.IVariableManager;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.events.SelectionEvent;
+import org.eclipse.swt.events.SelectionListener;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.swt.widgets.Table;
+
+import com.example.awesomeproject.eef.core.ext.widgets.table.internal.TableController;
+
+public class TableLifecycleManager extends AbstractEEFWidgetLifecycleManager {
+
+    private EEFCustomWidgetDescription description;
+
+    private TableViewer tableViewer;
+
+    private ComposedAdapterFactory composedAdapterFactory;
+
+    private SelectionListener onClickListener;
+
+    private TableController controller;
+
+    private Consumer&lt;Object&gt; newValueConsumer;
+    
+    public TableLifecycleManager(EEFCustomWidgetDescription description, IVariableManager variableManager, IInterpreter interpreter,
+            EditingContextAdapter contextAdapter) {
+        super(variableManager, interpreter, contextAdapter);
+        this.description = description;
+    }
+
+    @Override
+    protected void createMainControl(Composite parent, IEEFFormContainer formContainer) {
+        Table table = formContainer.getWidgetFactory().createTable(parent,
+                SWT.READ_ONLY | SWT.V_SCROLL | SWT.FULL_SELECTION | SWT.BORDER | SWT.SINGLE);
+        this.tableViewer = new TableViewer(table);
+        this.composedAdapterFactory = new ComposedAdapterFactory(ComposedAdapterFactory.Descriptor.Registry.INSTANCE);
+
+        this.tableViewer.setContentProvider(ArrayContentProvider.getInstance());
+        this.tableViewer.setLabelProvider(new DelegatingStyledCellLabelProvider(new AdapterFactoryLabelProvider.StyledLabelProvider(
+                this.composedAdapterFactory, this.tableViewer)));
+
+        this.controller = new TableController(description, variableManager, interpreter, editingContextAdapter);
+    }
+
+    @Override
+    public void aboutToBeShown() {
+        super.aboutToBeShown();
+
+        this.newValueConsumer = (newValue) -&gt; this.tableViewer.setInput(newValue);
+        this.controller.onNewValue(this.newValueConsumer);
+
+        this.onClickListener = new SelectionListener() {
+            @Override
+            public void widgetSelected(SelectionEvent event) {
+                Object selection = ((IStructuredSelection) TableLifecycleManager.this.tableViewer.getSelection()).getFirstElement();
+                TableLifecycleManager.this.controller.handleClick(selection);
+            }
+
+            @Override
+            public void widgetDefaultSelected(SelectionEvent event) {
+                Object selection = ((IStructuredSelection) TableLifecycleManager.this.tableViewer.getSelection()).getFirstElement();
+                TableLifecycleManager.this.controller.handleClick(selection);
+            }
+        };
+        this.tableViewer.getTable().addSelectionListener(this.onClickListener);
+    }
+
+    @Override
+    public void refresh() {
+        super.refresh();
+
+        this.controller.refresh();
+    }
+
+    @Override
+    public void aboutToBeHidden() {
+        super.aboutToBeHidden();
+        this.controller.removeValueConsumer();
+        this.newValueConsumer = null;
+
+        this.tableViewer.getTable().removeSelectionListener(this.onClickListener);
+        this.onClickListener = null;
+    }
+
+    @Override
+    protected IEEFWidgetController getController() {
+        return this.controller;
+    }
+
+    @Override
+    protected EEFWidgetDescription getWidgetDescription() {
+        return this.description;
+    }
+
+    @Override
+    protected Control getValidationControl() {
+        return this.tableViewer.getTable();
+    }
+
+    @Override
+    public void dispose() {
+        super.dispose();
+
+        this.composedAdapterFactory.dispose();
+    }
+    
+    @Override
+    protected void setEnabled(boolean isEnabled) {
+        this.tableViewer.getTable().setEnabled(isEnabled);
+    }
+}
+
+</pre>
+		<p>
+			<br/>The lifecycle manager will first create the controls of the table widget and it will initialized a controller for the table.
+		</p>
+		<h3 id="EEFcontroller">EEF controller</h3>
+		<p>The controller is not required but it will handle several keys problems for us, for example by extending the proper abstract class it can handle the validation rules of your widget. For a basic custom widget, it is highly recommended to extend 
+			<code>org.eclipse.eef.core.api.controllers.AbstractEEFCustomWidgetController</code>. The controller does not have any reason to depend on the user interface, thus it will be created in another Eclipse plugin which will be usable without any dependency to an user interface specific plugins. This plugin will be named 
+			<code>com.example.awesomeproject.eef.core.ext.widgets.table</code>. It will depend on at least the following plugins:
+		</p>
+		<ul>
+			<li>org.eclipse.eef</li>
+			<li>org.eclipse.eef.core</li>
+			<li>org.eclipse.sirius.common.interpreter</li>
+		</ul>
+		<pre>package com.example.awesomeproject.eef.core.ext.widgets.table.internal;
+
+import java.util.function.Consumer;
+import java.util.HashMap;
+import java.util.Map;
+
+import org.eclipse.eef.EEFCustomWidgetDescription;
+import org.eclipse.eef.core.api.EditingContextAdapter;
+import org.eclipse.eef.core.api.controllers.AbstractEEFCustomWidgetController;
+import org.eclipse.eef.core.api.utils.EvalFactory;
+import org.eclipse.sirius.common.interpreter.api.IInterpreter;
+import org.eclipse.sirius.common.interpreter.api.IVariableManager;
+
+public class TableController extends AbstractEEFCustomWidgetController {
+
+    private static final String VALUE_EXPRESSION_ID = "valueExpression"; //$NON-NLS-1$
+
+    private static final String ON_CLICK_EXPRESSION_ID = "onClickExpression"; //$NON-NLS-1$
+
+    private static final String SELECTION_VARIABLE_NAME = "selection"; //$NON-NLS-1$
+
+    private Consumer&lt;Object&gt; newValueConsumer;
+    
+    public TableController(EEFCustomWidgetDescription description, IVariableManager variableManager, IInterpreter interpreter,
+            EditingContextAdapter contextAdapter) {
+        super(description, variableManager, interpreter, contextAdapter);
+    }
+
+    @Override
+    protected EEFCustomWidgetDescription getDescription() {
+        return this.description;
+    }
+
+    @Override
+    public void refresh() {
+        super.refresh();
+        this.newEval().call(this.getCustomExpression(VALUE_EXPRESSION_ID).get(), this.newValueConsumer);
+    }
+
+    public void handleClick(Object object) {
+        this.editingContextAdapter.performModelChange(() -&gt; {
+            String onClickExpression = this.getCustomExpression(ON_CLICK_EXPRESSION_ID).get();
+
+            Map&lt;String, Object&gt; variables = new HashMap&lt;String, Object&gt;();
+            variables.putAll(this.variableManager.getVariables());
+            variables.put(SELECTION_VARIABLE_NAME, object);
+
+            EvalFactory.of(this.interpreter, variables).call(onClickExpression);
+        });
+    }
+
+    public void onNewValue(Consumer&lt;Object&gt; consumer) {
+        this.newValueConsumer = consumer;
+    }
+
+    public void removeValueConsumer() {
+        this.newValueConsumer = null;
+    }
+}
+
+</pre>
+		<p>
+			<br/>The controller here will handle two different situations. Firstly, it will react to the refresh in order to compute the new value of the table widget. For that, it will look for an expression with the identifier 
+			<code>valueExpression</code> and it will execute it. Once executed, it will give its result to the 
+			<code>newValueConsumer</code>. In the table lifecycle manager, we have set, in the method 
+			<code>aboutToBeShown</code>, this new value consumer to a lambda which will set a new input for the table. Each time that the lifecycle manager will be refreshed by the framework, its call to 
+			<code>super.refresh()</code> will trigger the refresh of the controller (among other things) which will compute the new value to display and given this value to the callback (consumer) registered by the lifecycle manager.
+		</p>
+		<p>Secondly, the controller will be used to handle the click in the table. For that it has a method named 
+			<code>handleClick</code> which will be called with the selected object in the table. The controller will then evaluate an expression with the identifier 
+			<code>onClickExpression</code> with the variables available along with an additional variable specifically for this use case. The additional variable named 
+			<code>selection</code> will here be used to give access to the current selection to the 
+			<code>onClickExpression</code>.
+		</p>
+		<p>Now your end users can use your two plugins to create tables in their Properties view using the custom widget description.</p>
+	</body>
+</html>
\ No newline at end of file
diff --git a/doc/6.4.x/developer/extensions-provide_celleditor.html b/doc/6.4.x/developer/extensions-provide_celleditor.html
new file mode 100644
index 0000000..36bd293
--- /dev/null
+++ b/doc/6.4.x/developer/extensions-provide_celleditor.html
@@ -0,0 +1,27 @@
+<?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>extensions-provide_celleditor</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="SiriusProvideCustomCellEditors">Sirius &#8211; Provide Custom Cell Editors</h1>
+		<h2 id="SiriusSemanticPropertiesView">Sirius Semantic Properties View</h2>
+		<p>You can override the default CellEditors in the Sirius semantic properties views by implementing 
+			<code>org.eclipse.sirius.ext.emf.ui.ICellEditorProvider</code> and provide it through the 
+			<code>org.eclipse.sirius.ui.siriuspropertiescelleditor</code> extension point.
+		</p>
+		<p>
+			<img border="0" src="images/propertiesView.png"/>
+			<br/>
+			<em>The semantic properties view</em>
+		</p>
+		<h2 id="OtherEditorsPropertiesView">Other Editors Properties View</h2>
+		<p>This extension mechanism can also be used for other editors properties view. That can be done by providing the 
+			<code>org.eclipse.sirius.ui.tools.api.properties.SiriusExtensiblePropertySource</code> instead of the default EMF one by replacing the 
+			<code>propertySourceProvider</code> in the generated editor.
+		</p>
+	</body>
+</html>
\ No newline at end of file
diff --git a/doc/6.4.x/developer/extensions-provide_custom-arrange-all.html b/doc/6.4.x/developer/extensions-provide_custom-arrange-all.html
new file mode 100644
index 0000000..46b5190
--- /dev/null
+++ b/doc/6.4.x/developer/extensions-provide_custom-arrange-all.html
@@ -0,0 +1,885 @@
+<?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>extensions-provide_custom-arrange-all</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="ProvidingacustomdiagramlayoutalgorithmArrangeAll">Providing a custom diagram layout algorithm (&#8220;Arrange All&#8221;)</h1>
+		<ol class="toc" style="list-style: disc;">
+			<li>
+				<a href="#ProvidingacustomdiagramlayoutalgorithmArrangeAll">Providing a custom diagram layout algorithm ("Arrange All")</a>
+				<ol style="list-style: disc;">
+					<li>
+						<a href="#TheArrangeAllfunctionalityinshort">The Arrange All functionality in short</a>
+					</li>
+					<li>
+						<a href="#TheArrangeAllconceptasimplementedbyGMF">The Arrange All concept as implemented by GMF</a>
+						<ol style="list-style: disc;">
+							<li>
+								<a href="#Theviewsandeditparts">The views and edit parts</a>
+							</li>
+						</ol>
+					</li>
+					<li>
+						<a href="#SiriusLayoutingAPI">Sirius Layouting API</a>
+						<ol style="list-style: disc;">
+							<li>
+								<a href="#siriusLayoutProviders">Sirius Layout providers</a>
+							</li>
+							<li>
+								<a href="#Theviewordering">The view ordering</a>
+							</li>
+							<li>
+								<a href="#Writeyourcustomlayoutalgorithm">Write your custom layout algorithm</a>
+							</li>
+							<li>
+								<a href="#IntegrateyourcustomlayoutalgorithmtoSirius">Integrate your custom layout algorithm to Sirius </a>
+							</li>
+						</ol>
+					</li>
+				</ol>
+			</li>
+		</ol>
+		<h2 id="TheArrangeAllfunctionalityinshort">The Arrange All functionality in short</h2>
+		<p>The arrange-all functionality is available in Sirius diagram editors in the form of a button and a context menu:</p>
+		<p>
+			<img border="0" src="images/arrange-all/arrange-all-ui.png"/>
+		</p>
+		<p>Its effect is to layout the selected diagram elements (or the whole diagram if no elements are selected) based on the layout algorithm defined for the diagram, or using a default, generic algorithm if nothing is specified. </p>
+		<p>By default, there are two different layout algorithm that can be configured in the VSM for a diagram:</p>
+		<ul>
+			<li>The 
+				<code>Ordered Tree Layout</code> algorithm: useful to represent elements in a hierarchical way. 
+			</li>
+			<li>The 
+				<code>Composite Layout</code> algorithm: used to customize specific aspects of the default algorithm, i.e. the general layout orientation and the padding between elements.
+			</li>
+		</ul>
+		<img border="0" src="images/arrange-all/arrange-all-vsm.png"/>
+		<p>If none of these algorithms fit your needs, Sirius provides two extension points 
+			<code>org.eclipse.sirius.diagram.ui.layoutProvider</code> and 
+			<code>org.eclipse.sirius.diagram.ui.viewOrderingProvider</code> as well as an API to ease the writing of your own layout algorithms and their usage in Sirius diagram editors.
+		</p>
+		<p>This API reuse the GMF &#8220;Arrange All&#8221; API and augments it with features needed by Sirius layout algorithms like:</p>
+		<ul>
+			<li>The need to take in consideration pinned diagram elements</li>
+			<li>The need to take in consideration bordered nodes connected to edges</li>
+		</ul>
+		<h2 id="TheArrangeAllconceptasimplementedbyGMF">The Arrange All concept as implemented by GMF</h2>
+		<p>GMF provides basic API and implementations to ease the customization of the &#8220;Arrange All&#8221; mechanism. It also implements a complete algorithm that is based on the graphical elements.</p>
+		<p>The top level type of this this API is 
+			<code>ILayoutNodeProvider</code> :
+		</p>
+		<img border="0" src="images/arrange-all/arrange-all-iproviderApi.png"/>
+		<p>This interface is very generic, but GMF provides abstract classes that handle the low-level work while letting you define only the layouting business rules:</p>
+		<img border="0" src="images/arrange-all/arrange-all-ilayoutNodeproviderApi.png"/>
+		<p>This can be done by creating a component inheriting the abstract class 
+			<code>AbstractLayoutEditPartProvider</code> and implementing its methods:
+		</p>
+		<ul>
+			<li>
+				<code>boolean provides(IOperation operation)</code>  from 
+				<code>IProvider</code> super interface
+			</li>
+			<li>
+				<code>Command layoutEditParts(GraphicalEditPart containerEditPart, IAdaptable layoutHint)</code>
+			</li>
+			<li>
+				<code>Command layoutEditParts(selectedObjectst List, IAdaptable layoutHint)</code>
+			</li>
+		</ul>
+		<p>The 
+			<code>provides</code> operation is meant to return true if the class can arrange the diagram for the specified operation. 
+		</p>
+		<p>The 
+			<code>layoutEditParts</code> operations will return the commands that will actually be in charge of arranging the diagrams' edit parts. The first one takes the main container that is to be arranged while the latter accepts a list of edit parts to arrange. 
+		</p>
+		<p>The implementation of those three methods forms your layout algorithm.</p>
+		<p>With this API comes an extension point 
+			<code>org.eclipse.gmf.runtime.diagram.ui.layoutProviders</code>. It allows your own 
+			<code>AbstractLayoutEditPart</code> layout algorithm to be used. 
+		</p>
+		<h3 id="Theviewsandeditparts">The views and edit parts</h3>
+		<p>When doing layouting with GMF based tools like Sirius you will hear about views and edit parts. It is important to understand what they are.</p>
+		<p>The views are persisted model elements that when interpreted represent your diagram visually. You have the 
+			<code>Node</code>, 
+			<code>Edge</code>, 
+			<code>Style</code>, etc...
+		</p>
+		<p>They contain all visual information like the position, the size of the element, its color, etc... 
+			<br/>Edit parts ties the model (the views) to a visual representation with a one on one relationship. One edit part points at one view. They are responsible for making changes to the model and interpret and display graphically the view.
+		</p>
+		<h2 id="SiriusLayoutingAPI">Sirius Layouting API</h2>
+		<p>The Sirius Layouting API simplifies the writing of a custom layout algorithm by providing different layout providers specific to Sirius context that you can reuse easily in addition of your own layout algorithm if it does not conflict with these. </p>
+		<p>It also provides utility methods that you can find useful</p>
+		<p>The Sirius API for layouting Sirius diagrams is the following:</p>
+		<p>
+			<img border="0" src="images/arrange-all/arrange-all-layoutingAPI.png"/>
+		</p>
+		<h3 id="siriusLayoutProviders">Sirius Layout providers</h3>
+		<p>Sirius defines and already uses various different layout providers in different contexts.</p>
+		<p>Here is a list of all of those with a basic description of each:</p>
+		<h5 id="DefaultLayoutProvider">DefaultLayoutProvider</h5>
+		<p>It is used by Sirius as entry point to dispatch arrange requests on a Sirius diagram to registered layout providers. The dispatch takes in consideration layout algorithm specified in the VSM and layout providers provided from the Sirius extension point 
+			<code>org.eclipse.sirius.diagram.ui.layoutProvider</code>.
+		</p>
+		<h5 id="LineLayoutProvider">LineLayoutProvider</h5>
+		<p>Lays out all views on a single line (either vertical or horizontal). </p>
+		<h5 id="GridLayoutProvider">GridLayoutProvider</h5>
+		<p>Lays out all views as a grid.</p>
+		<h5 id="InlineEdgeLayoutProvider">InlineEdgeLayoutProvider</h5>
+		<p>Lays out connections alongside their source and target nodes (useful on the sequence diagram for example).</p>
+		<h5 id="ArrangeSelectionLayoutProvider">ArrangeSelectionLayoutProvider</h5>
+		<p>This provider only purpose is to delegate arrangement to attached layout provider after having added information about not selected parts in the layout hint. </p>
+		<p>It is used for example with our composite layout providers to keep fixed the not selected parts and to avoid putting other selected parts on it when layouting. </p>
+		<p>It is used primary by default provider whenever the arrange-all action is called because the arrangement can be done on a selection and not on all diagram elements.</p>
+		<h5 id="ArrangeAllOnlyLayoutProvider">ArrangeAllOnlyLayoutProvider</h5>
+		<p>This provider is used to delegate layouting to attached provider only when an arrange-all is done on a diagram and not an arrange selection. </p>
+		<p>When used as primary provider, the arrange selection action is not available in the menu of a Sirius editor using this provider. </p>
+		<p>It is used for example in the 
+			<code>OrderedTreeLayoutProvider</code> where it does not make sense to make a tree of just some elements because the all concept is to have a complete tree representation.
+		</p>
+		<h5 id="PinnedElementLayoutProvider">PinnedElementLayoutProvider</h5>
+		<p>This provider is designed to work with another layout provider. When its attached layout provider has done its layouting part, this provider iterates on all diagram elements that are pinned (should not have its position changes by an automatic layout) to put it back at its original position. In case of visual overlap conflict with a non-pinned element, the non-pinned element is move near the pinned one where no overlap is visible.</p>
+		<h5 id="CompoundLayoutProvider">CompoundLayoutProvider</h5>
+		<p>This provider allows to compose different layout providers into a compound one. It is useful to reuse some layouting rules that does not conflict with others needed ones.</p>
+		<p>For example the providers 
+			<code>CompositeDownTopLayoutProvider</code> and 
+			<code>PinnedElementLayoutProvider</code> can be attached to a compound instance. Then those providers are called in their attach order one after another to do their layouting parts. It avoids the composite provider to duplicate code to handle pinned elements.
+		</p>
+		<h5 id="BorderedItemAwareLayoutProvider">BorderedItemAwareLayoutProvider</h5>
+		<p>This provider arranges all the bordered nodes which are connected to one edge. It reduces the path of the edge between each extremity. For example:</p>
+		<img border="0" src="images/arrange-all/arrange-all-border1.png"/>
+		<p>Becomes </p>
+		<img border="0" src="images/arrange-all/arrange-all-border2.png"/>
+		<h3 id="Theviewordering">The view ordering</h3>
+		<h4 id="API">API</h4>
+		<p>The view ordering is an API used by layout algorithms provided by Sirius. It allows to define a sub class of 
+			<code>ViewOrdering</code> that will sort children views of a parent view. The layouting will be done on sorted views instead of the original order in the layout provider.
+		</p>
+		<p>For example, if I use the 
+			<code>LineLayoutProvider</code> with default view ordering component in a diagram with two elements, views will be aligned in their natural iteration order:
+		</p> 
+		<img border="0" src="images/arrange-all/arrange-all-viewOrdering.png"/>
+		<p>If I define a view ordering component that reorder view in the lexicographic order, views will be aligned accordingly:</p>  
+		<img border="0" src="images/arrange-all/arrange-all-viewOrdering2.png"/>
+		<p>This mechanism avoid to rewrite a layout provider if the only thing that should be changed is the order the layout provider lays out its views.</p>
+		<p>Its architecture is the following:</p>
+		<img border="0" src="images/arrange-all/arrange-all-viewOrderingArchitecture.png"/>
+		<h4 id="Compatibleproviders">Compatible providers</h4>
+		<p>Layout providers need to sort view by using the view ordering framework so your view ordering component can be used. The Sirius providers using this framework are the following:</p>
+		<ul>
+			<li>
+				<code>GridLayoutProvider</code>
+			</li>
+			<li>
+				<code>InlineEdgeLAyoutProvider</code>
+			</li>
+			<li>
+				<code>LineLAyoutProvider</code>
+			</li>
+		</ul>
+		<h4 id="WritingaViewOrdering">Writing a ViewOrdering</h4>
+		<p>To contribute a 
+			<code>ViewOrdering</code> that should be used in a Sirius provider, you have to create a sub class of 
+			<code>AbstractViewOrdering</code> or 
+			<code>AbstractViewOrdering</code> or 
+			<code>ViewOrdering</code> if you need to do an ordering different from what Sirius offers with its abstract classes.
+			<br/>Sirius abstract classes offers ordering only on Node views by default.
+		</p>
+		<p>For example the lexicographic view ordering component would be the following:</p>
+		<pre><code>public class LexicographicViewOrdering extends AbstractViewOrdering {
+
+        @Override
+        protected List&lt;View&gt; sortViews(List&lt;View&gt; views) {
+            Comparator&lt;View&gt; comparing = Comparator.comparing(new Function&lt;View, String&gt;() {
+                @Override
+                public String apply(View t) {
+                    DDiagramElement element = (DDiagramElement) t.getElement();
+                    return element.getName();
+                }
+            });
+            Collections.sort(views, comparing);
+            return views;
+        }
+    }
+
+</code></pre>
+		<h4 id="ContributingyourViewOrderingwithextensionpoint">Contributing your ViewOrdering with extension point</h4>
+		<p>Once your view ordering component has been written you have to make Sirius aware of it so it can be used.
+			<br/>To do that Sirius provides an extension point 
+			<code>org.eclipse.sirius.diagram.viewOrderingProvider</code>. 
+			<br/>It allows to register a 
+			<code>ViewOrderingProvider</code> that will provide your view ordering component:
+		</p>
+		<img border="0" src="images/arrange-all/arrange-all-viewOrderingProvider.png"/>
+		<p>It contains the following methods:
+			<br/>- 
+			<code>provides</code>:  tell Sirius if your ordering component should be used when layouting views associated to the given mapping.
+			<br/>- 
+			<code>getViewOrdering</code>: tell Sirius what view ordering component to use to order views when the provides method returns true.
+		</p>
+		<p>For example with the lexicographic you will have:</p> 
+		<img border="0" src="images/arrange-all/arrange-all-viewOrderingExtensionPoint.png"/>
+		<pre><code>&lt;extension point="org.eclipse.sirius.diagram.viewOrderingProvider"&gt;
+   &lt;viewOrderingProvider providerClass="org.eclipse.sirius.diagram.ui.tools.internal.providers.LexicographicViewOrderingProvider" /&gt;
+&lt;/extension&gt;
+
+
+</code></pre>
+		<p>The 
+			<code>LexicographicViewOrderingProvider</code> code would be:
+		</p>
+		<pre><code>public class LexicographicViewOrderingProvider implements ViewOrderingProvider {
+
+    public LexicographicViewOrderingProvider() {
+    }
+
+    @Override
+    public boolean provides(DiagramElementMapping mapping) {
+        return true;
+    }
+
+    @Override
+    public ViewOrdering getViewOrdering(DiagramElementMapping mapping) {
+        return new LexicographicViewOrdering();
+    }
+}
+
+
+</code></pre>
+		<h3 id="Writeyourcustomlayoutalgorithm">Write your custom layout algorithm</h3>
+		<p>To create your own layout algorithm with Sirius API you have to subclass one Sirius abstract class depending on what you need to use:</p>
+		<h5 id="DefaultLayoutProvider2">DefaultLayoutProvider</h5>
+		<p>This provider is the recommended one to use if you don&#8217;t need the liberty of composition of others below. If you want to have the capability for specifiers to be able to configure your layout algorithm directly in the VSM you must use this provider.</p>
+		<p>For example the ELK layout algorithms if installed are using it:</p>
+		<pre><code>/**
+ * Layout node provider allowing to apply an ELK layout algorithm while
+ * arranging diagram elements.
+ * 
+ * @author &lt;a href=mailto:pierre.guilet@obeo.fr&gt;Pierre Guilet&lt;/a&gt;
+ *
+ */
+public class ELKLayoutNodeProvider extends DefaultLayoutProvider {
+
+    @Override
+    public Command layoutEditParts(final List selectedObjects, final IAdaptable layoutHint) {
+        Injector injector = LayoutConnectorsService.getInstance().getInjector(null, selectedObjects);
+        ElkDiagramLayoutConnector connector = injector.getInstance(ElkDiagramLayoutConnector.class);
+        LayoutMapping layoutMapping = connector.buildLayoutGraph(null, selectedObjects);
+        connector.layout(layoutMapping);
+        connector.transferLayout(layoutMapping);
+        return connector.getApplyCommand(layoutMapping);
+    }
+
+}
+
+</code></pre>
+		<h5 id="AbstractLayoutEditPartProvider">AbstractLayoutEditPartProvider</h5>
+		<p>This class should be extended if you do not need what AbstractLayoutProvider provides.
+			<br/>Its API is:
+		</p>
+		<p>
+			<img border="0" src="images/arrange-all/arrange-all-abstractLayoutEditPart.png"/>
+		</p>
+		<p>Only the abstract methods 
+			<code>layoutEditParts</code> should be override. It is these methods that do the layouting by providing commands modifying underlying views information.
+		</p>
+		<h5 id="AbstractLayoutProvider">AbstractLayoutProvider</h5>
+		<p>This class should be extended if your layouting algorithm is meant to be used in addition to others during a same layouting pass and if you need to be aware of the bound changes produced by the other algorithms. It also should be used if you need all the utility methods regarding view bounds manipulation provided by this abstract class.</p>
+		<p>When sub classing this one, you only have to implement 
+			<code>layoutEditParts(List, IAdaptable)</code> and to override 
+			<code>provides(IOperation)</code> methods.
+		</p>
+		<p>For example the 
+			<code>LineLayoutProvider</code> have the following code:
+		</p>
+		<pre><code>public class LineLayoutProvider extends AbstractLayoutProvider {
+
+    /** The default padding. */
+    private static final Insets DEFAULT_PADDING = new Insets(30, 30, 30, 30);
+
+    /**
+     * &lt;code&gt;true&lt;/code&gt; if the line is horizontal, &lt;code&gt;false&lt;/code&gt; if the line is vertical.
+     */
+    private boolean horizontal = true;
+
+    /**
+     * &lt;code&gt;true&lt;/code&gt; if the line is horizontal, &lt;code&gt;false&lt;/code&gt; if the line is vertical.
+     * 
+     * @param horizontal
+     *            &lt;code&gt;true&lt;/code&gt; if the line is horizontal, &lt;code&gt;false&lt;/code&gt; if the line is vertical.
+     */
+    public void setHorizontal(final boolean horizontal) {
+        this.horizontal = horizontal;
+    }
+
+    @Override
+    public Command layoutEditParts(final List selectedObjects, final IAdaptable layoutHint) {
+        final Iterator&lt;?&gt; iterEditParts = selectedObjects.iterator();
+        final List&lt;View&gt; views = new ArrayList&lt;View&gt;(selectedObjects.size());
+        final Map&lt;View, ShapeEditPart&gt; viewsToEditPartMap = new HashMap&lt;View, ShapeEditPart&gt;();
+        while (iterEditParts.hasNext()) {
+            final Object next = iterEditParts.next();
+            if (next instanceof ShapeEditPart &amp;&amp; !(next instanceof IBorderItemEditPart)) {
+                final ShapeEditPart shapeEditPart = (ShapeEditPart) next;
+                final View view = shapeEditPart.getNotationView();
+                viewsToEditPartMap.put(view, shapeEditPart);