Merge remote-tracking branch 'origin/release_1.22.0'

Change-Id: I4dbbd5efb49c68ea5422cdfd295d90fe9344f215
Signed-off-by: Eugen Neufeld <eneufeld@eclipsesource.com>
diff --git a/bundles/javafx/org.eclipse.emf.ecp.application.e4.fx/.settings/org.eclipse.pde.api.tools.prefs b/bundles/javafx/org.eclipse.emf.ecp.application.e4.fx/.settings/org.eclipse.pde.api.tools.prefs
index e4e3c00..cfb400b 100644
--- a/bundles/javafx/org.eclipse.emf.ecp.application.e4.fx/.settings/org.eclipse.pde.api.tools.prefs
+++ b/bundles/javafx/org.eclipse.emf.ecp.application.e4.fx/.settings/org.eclipse.pde.api.tools.prefs
@@ -1,3 +1,4 @@
+ANNOTATION_ELEMENT_TYPE_ADDED_FIELD=Error
 ANNOTATION_ELEMENT_TYPE_ADDED_METHOD_WITHOUT_DEFAULT_VALUE=Error
 ANNOTATION_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
 ANNOTATION_ELEMENT_TYPE_REMOVED_FIELD=Error
@@ -10,6 +11,7 @@
 API_USE_SCAN_FIELD_SEVERITY=Error
 API_USE_SCAN_METHOD_SEVERITY=Error
 API_USE_SCAN_TYPE_SEVERITY=Error
+CLASS_ELEMENT_TYPE_ADDED_FIELD=Error
 CLASS_ELEMENT_TYPE_ADDED_METHOD=Error
 CLASS_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
 CLASS_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
@@ -49,6 +51,7 @@
 ILLEGAL_INSTANTIATE=Warning
 ILLEGAL_OVERRIDE=Warning
 ILLEGAL_REFERENCE=Warning
+INTERFACE_ELEMENT_TYPE_ADDED_DEFAULT_METHOD=Ignore
 INTERFACE_ELEMENT_TYPE_ADDED_FIELD=Error
 INTERFACE_ELEMENT_TYPE_ADDED_METHOD=Error
 INTERFACE_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
@@ -60,6 +63,7 @@
 INTERFACE_ELEMENT_TYPE_REMOVED_METHOD=Error
 INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
 INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
+INVALID_ANNOTATION=Warning
 INVALID_JAVADOC_TAG=Warning
 INVALID_REFERENCE_IN_SYSTEM_LIBRARIES=Error
 LEAK_EXTEND=Warning
@@ -86,10 +90,13 @@
 TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error
 UNUSED_PROBLEM_FILTERS=Ignore
 automatically_removed_unused_problem_filters=Disabled
+changed_execution_env=Error
 eclipse.preferences.version=1
 incompatible_api_component_version=Error
 incompatible_api_component_version_include_major_without_breaking_change=Disabled
 incompatible_api_component_version_include_minor_without_api_change=Disabled
+incompatible_api_component_version_report_major_without_breaking_change=Ignore
+incompatible_api_component_version_report_minor_without_api_change=Ignore
 invalid_since_tag_version=Error
 malformed_since_tag=Error
 missing_since_tag=Error
diff --git a/bundles/javafx/org.eclipse.emf.ecp.application.e4.fx/META-INF/MANIFEST.MF b/bundles/javafx/org.eclipse.emf.ecp.application.e4.fx/META-INF/MANIFEST.MF
index 2a03a00..a77c279 100644
--- a/bundles/javafx/org.eclipse.emf.ecp.application.e4.fx/META-INF/MANIFEST.MF
+++ b/bundles/javafx/org.eclipse.emf.ecp.application.e4.fx/META-INF/MANIFEST.MF
@@ -11,10 +11,10 @@
  org.eclipse.e4.ui.di;bundle-version="[1.1.0,2.0.0)",
  org.eclipse.emf.ecore;bundle-version="[2.11.0,3.0.0)",
  org.eclipse.emf.emfstore.client;bundle-version="[1.7.0,1.8.0)",
- org.eclipse.emf.ecp.controls.fx;bundle-version="[1.21.0,1.22.0)",
- org.eclipse.emf.ecp.view.model.fx;bundle-version="[1.21.0,1.22.0)",
- org.eclipse.emf.ecp.edit;bundle-version="[1.21.0,1.22.0)",
- org.eclipse.emf.ecp.util.e4.fx;bundle-version="[1.21.0,1.22.0)",
+ org.eclipse.emf.ecp.controls.fx;bundle-version="[1.22.0,1.23.0)",
+ org.eclipse.emf.ecp.view.model.fx;bundle-version="[1.22.0,1.23.0)",
+ org.eclipse.emf.ecp.edit;bundle-version="[1.22.0,1.23.0)",
+ org.eclipse.emf.ecp.util.e4.fx;bundle-version="[1.22.0,1.23.0)",
  org.eclipse.emf.emfstore.fx.util;bundle-version="[1.8.0,1.9.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Automatic-Module-Name: org.eclipse.emf.ecp.application.e4.fx
diff --git a/bundles/javafx/org.eclipse.emf.ecp.controls.fx/.settings/org.eclipse.pde.api.tools.prefs b/bundles/javafx/org.eclipse.emf.ecp.controls.fx/.settings/org.eclipse.pde.api.tools.prefs
index e4e3c00..cfb400b 100644
--- a/bundles/javafx/org.eclipse.emf.ecp.controls.fx/.settings/org.eclipse.pde.api.tools.prefs
+++ b/bundles/javafx/org.eclipse.emf.ecp.controls.fx/.settings/org.eclipse.pde.api.tools.prefs
@@ -1,3 +1,4 @@
+ANNOTATION_ELEMENT_TYPE_ADDED_FIELD=Error
 ANNOTATION_ELEMENT_TYPE_ADDED_METHOD_WITHOUT_DEFAULT_VALUE=Error
 ANNOTATION_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
 ANNOTATION_ELEMENT_TYPE_REMOVED_FIELD=Error
@@ -10,6 +11,7 @@
 API_USE_SCAN_FIELD_SEVERITY=Error
 API_USE_SCAN_METHOD_SEVERITY=Error
 API_USE_SCAN_TYPE_SEVERITY=Error
+CLASS_ELEMENT_TYPE_ADDED_FIELD=Error
 CLASS_ELEMENT_TYPE_ADDED_METHOD=Error
 CLASS_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
 CLASS_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
@@ -49,6 +51,7 @@
 ILLEGAL_INSTANTIATE=Warning
 ILLEGAL_OVERRIDE=Warning
 ILLEGAL_REFERENCE=Warning
+INTERFACE_ELEMENT_TYPE_ADDED_DEFAULT_METHOD=Ignore
 INTERFACE_ELEMENT_TYPE_ADDED_FIELD=Error
 INTERFACE_ELEMENT_TYPE_ADDED_METHOD=Error
 INTERFACE_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
@@ -60,6 +63,7 @@
 INTERFACE_ELEMENT_TYPE_REMOVED_METHOD=Error
 INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
 INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
+INVALID_ANNOTATION=Warning
 INVALID_JAVADOC_TAG=Warning
 INVALID_REFERENCE_IN_SYSTEM_LIBRARIES=Error
 LEAK_EXTEND=Warning
@@ -86,10 +90,13 @@
 TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error
 UNUSED_PROBLEM_FILTERS=Ignore
 automatically_removed_unused_problem_filters=Disabled
+changed_execution_env=Error
 eclipse.preferences.version=1
 incompatible_api_component_version=Error
 incompatible_api_component_version_include_major_without_breaking_change=Disabled
 incompatible_api_component_version_include_minor_without_api_change=Disabled
+incompatible_api_component_version_report_major_without_breaking_change=Ignore
+incompatible_api_component_version_report_minor_without_api_change=Ignore
 invalid_since_tag_version=Error
 malformed_since_tag=Error
 missing_since_tag=Error
diff --git a/bundles/javafx/org.eclipse.emf.ecp.controls.fx/META-INF/MANIFEST.MF b/bundles/javafx/org.eclipse.emf.ecp.controls.fx/META-INF/MANIFEST.MF
index c250ec1..9eb887c 100644
--- a/bundles/javafx/org.eclipse.emf.ecp.controls.fx/META-INF/MANIFEST.MF
+++ b/bundles/javafx/org.eclipse.emf.ecp.controls.fx/META-INF/MANIFEST.MF
@@ -9,18 +9,18 @@
  org.eclipse.emf.ecp.controls.internal.fx;x-internal:=true,
  org.eclipse.emf.ecp.controls.renderer.fx
 Require-Bundle: org.eclipse.core.runtime,
- org.eclipse.emf.ecp.edit;bundle-version="[1.21.0,1.22.0)",
+ org.eclipse.emf.ecp.edit;bundle-version="[1.22.0,1.23.0)",
  org.eclipse.core.databinding.property,
  org.eclipse.fx.core.databinding,
  org.eclipse.emf.databinding,
  org.eclipse.emf.ecore,
  org.eclipse.fx.emf.edit.ui,
- org.eclipse.emf.ecp.ui.view;bundle-version="[1.21.0,1.22.0)",
- org.eclipse.emf.ecp.view.model.fx;bundle-version="[1.21.0,1.22.0)",
- org.eclipse.emf.ecp.view.model.common;bundle-version="[1.21.0,1.22.0)",
- org.eclipse.emfforms.common;bundle-version="[1.21.0,1.22.0)",
+ org.eclipse.emf.ecp.ui.view;bundle-version="[1.22.0,1.23.0)",
+ org.eclipse.emf.ecp.view.model.fx;bundle-version="[1.22.0,1.23.0)",
+ org.eclipse.emf.ecp.view.model.common;bundle-version="[1.22.0,1.23.0)",
+ org.eclipse.emfforms.common;bundle-version="[1.22.0,1.23.0)",
  org.eclipse.emf.edit,
- org.eclipse.emfforms.core.services.emf;bundle-version="[1.21.0,1.22.0)"
+ org.eclipse.emfforms.core.services.emf;bundle-version="[1.22.0,1.23.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Bundle-ActivationPolicy: lazy
 Import-Package: com.ibm.icu.text;version="50.0.0"
diff --git a/bundles/javafx/org.eclipse.emf.ecp.util.e4.fx/.settings/org.eclipse.pde.api.tools.prefs b/bundles/javafx/org.eclipse.emf.ecp.util.e4.fx/.settings/org.eclipse.pde.api.tools.prefs
index e4e3c00..cfb400b 100644
--- a/bundles/javafx/org.eclipse.emf.ecp.util.e4.fx/.settings/org.eclipse.pde.api.tools.prefs
+++ b/bundles/javafx/org.eclipse.emf.ecp.util.e4.fx/.settings/org.eclipse.pde.api.tools.prefs
@@ -1,3 +1,4 @@
+ANNOTATION_ELEMENT_TYPE_ADDED_FIELD=Error
 ANNOTATION_ELEMENT_TYPE_ADDED_METHOD_WITHOUT_DEFAULT_VALUE=Error
 ANNOTATION_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
 ANNOTATION_ELEMENT_TYPE_REMOVED_FIELD=Error
@@ -10,6 +11,7 @@
 API_USE_SCAN_FIELD_SEVERITY=Error
 API_USE_SCAN_METHOD_SEVERITY=Error
 API_USE_SCAN_TYPE_SEVERITY=Error
+CLASS_ELEMENT_TYPE_ADDED_FIELD=Error
 CLASS_ELEMENT_TYPE_ADDED_METHOD=Error
 CLASS_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
 CLASS_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
@@ -49,6 +51,7 @@
 ILLEGAL_INSTANTIATE=Warning
 ILLEGAL_OVERRIDE=Warning
 ILLEGAL_REFERENCE=Warning
+INTERFACE_ELEMENT_TYPE_ADDED_DEFAULT_METHOD=Ignore
 INTERFACE_ELEMENT_TYPE_ADDED_FIELD=Error
 INTERFACE_ELEMENT_TYPE_ADDED_METHOD=Error
 INTERFACE_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
@@ -60,6 +63,7 @@
 INTERFACE_ELEMENT_TYPE_REMOVED_METHOD=Error
 INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
 INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
+INVALID_ANNOTATION=Warning
 INVALID_JAVADOC_TAG=Warning
 INVALID_REFERENCE_IN_SYSTEM_LIBRARIES=Error
 LEAK_EXTEND=Warning
@@ -86,10 +90,13 @@
 TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error
 UNUSED_PROBLEM_FILTERS=Ignore
 automatically_removed_unused_problem_filters=Disabled
+changed_execution_env=Error
 eclipse.preferences.version=1
 incompatible_api_component_version=Error
 incompatible_api_component_version_include_major_without_breaking_change=Disabled
 incompatible_api_component_version_include_minor_without_api_change=Disabled
+incompatible_api_component_version_report_major_without_breaking_change=Ignore
+incompatible_api_component_version_report_minor_without_api_change=Ignore
 invalid_since_tag_version=Error
 malformed_since_tag=Error
 missing_since_tag=Error
diff --git a/bundles/javafx/org.eclipse.emf.ecp.util.fx/.settings/org.eclipse.pde.api.tools.prefs b/bundles/javafx/org.eclipse.emf.ecp.util.fx/.settings/org.eclipse.pde.api.tools.prefs
index e4e3c00..cfb400b 100644
--- a/bundles/javafx/org.eclipse.emf.ecp.util.fx/.settings/org.eclipse.pde.api.tools.prefs
+++ b/bundles/javafx/org.eclipse.emf.ecp.util.fx/.settings/org.eclipse.pde.api.tools.prefs
@@ -1,3 +1,4 @@
+ANNOTATION_ELEMENT_TYPE_ADDED_FIELD=Error
 ANNOTATION_ELEMENT_TYPE_ADDED_METHOD_WITHOUT_DEFAULT_VALUE=Error
 ANNOTATION_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
 ANNOTATION_ELEMENT_TYPE_REMOVED_FIELD=Error
@@ -10,6 +11,7 @@
 API_USE_SCAN_FIELD_SEVERITY=Error
 API_USE_SCAN_METHOD_SEVERITY=Error
 API_USE_SCAN_TYPE_SEVERITY=Error
+CLASS_ELEMENT_TYPE_ADDED_FIELD=Error
 CLASS_ELEMENT_TYPE_ADDED_METHOD=Error
 CLASS_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
 CLASS_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
@@ -49,6 +51,7 @@
 ILLEGAL_INSTANTIATE=Warning
 ILLEGAL_OVERRIDE=Warning
 ILLEGAL_REFERENCE=Warning
+INTERFACE_ELEMENT_TYPE_ADDED_DEFAULT_METHOD=Ignore
 INTERFACE_ELEMENT_TYPE_ADDED_FIELD=Error
 INTERFACE_ELEMENT_TYPE_ADDED_METHOD=Error
 INTERFACE_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
@@ -60,6 +63,7 @@
 INTERFACE_ELEMENT_TYPE_REMOVED_METHOD=Error
 INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
 INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
+INVALID_ANNOTATION=Warning
 INVALID_JAVADOC_TAG=Warning
 INVALID_REFERENCE_IN_SYSTEM_LIBRARIES=Error
 LEAK_EXTEND=Warning
@@ -86,10 +90,13 @@
 TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error
 UNUSED_PROBLEM_FILTERS=Ignore
 automatically_removed_unused_problem_filters=Disabled
+changed_execution_env=Error
 eclipse.preferences.version=1
 incompatible_api_component_version=Error
 incompatible_api_component_version_include_major_without_breaking_change=Disabled
 incompatible_api_component_version_include_minor_without_api_change=Disabled
+incompatible_api_component_version_report_major_without_breaking_change=Ignore
+incompatible_api_component_version_report_minor_without_api_change=Ignore
 invalid_since_tag_version=Error
 malformed_since_tag=Error
 missing_since_tag=Error
diff --git a/bundles/javafx/org.eclipse.emf.ecp.view.group.fx/.settings/org.eclipse.pde.api.tools.prefs b/bundles/javafx/org.eclipse.emf.ecp.view.group.fx/.settings/org.eclipse.pde.api.tools.prefs
index e4e3c00..cfb400b 100644
--- a/bundles/javafx/org.eclipse.emf.ecp.view.group.fx/.settings/org.eclipse.pde.api.tools.prefs
+++ b/bundles/javafx/org.eclipse.emf.ecp.view.group.fx/.settings/org.eclipse.pde.api.tools.prefs
@@ -1,3 +1,4 @@
+ANNOTATION_ELEMENT_TYPE_ADDED_FIELD=Error
 ANNOTATION_ELEMENT_TYPE_ADDED_METHOD_WITHOUT_DEFAULT_VALUE=Error
 ANNOTATION_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
 ANNOTATION_ELEMENT_TYPE_REMOVED_FIELD=Error
@@ -10,6 +11,7 @@
 API_USE_SCAN_FIELD_SEVERITY=Error
 API_USE_SCAN_METHOD_SEVERITY=Error
 API_USE_SCAN_TYPE_SEVERITY=Error
+CLASS_ELEMENT_TYPE_ADDED_FIELD=Error
 CLASS_ELEMENT_TYPE_ADDED_METHOD=Error
 CLASS_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
 CLASS_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
@@ -49,6 +51,7 @@
 ILLEGAL_INSTANTIATE=Warning
 ILLEGAL_OVERRIDE=Warning
 ILLEGAL_REFERENCE=Warning
+INTERFACE_ELEMENT_TYPE_ADDED_DEFAULT_METHOD=Ignore
 INTERFACE_ELEMENT_TYPE_ADDED_FIELD=Error
 INTERFACE_ELEMENT_TYPE_ADDED_METHOD=Error
 INTERFACE_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
@@ -60,6 +63,7 @@
 INTERFACE_ELEMENT_TYPE_REMOVED_METHOD=Error
 INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
 INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
+INVALID_ANNOTATION=Warning
 INVALID_JAVADOC_TAG=Warning
 INVALID_REFERENCE_IN_SYSTEM_LIBRARIES=Error
 LEAK_EXTEND=Warning
@@ -86,10 +90,13 @@
 TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error
 UNUSED_PROBLEM_FILTERS=Ignore
 automatically_removed_unused_problem_filters=Disabled
+changed_execution_env=Error
 eclipse.preferences.version=1
 incompatible_api_component_version=Error
 incompatible_api_component_version_include_major_without_breaking_change=Disabled
 incompatible_api_component_version_include_minor_without_api_change=Disabled
+incompatible_api_component_version_report_major_without_breaking_change=Ignore
+incompatible_api_component_version_report_minor_without_api_change=Ignore
 invalid_since_tag_version=Error
 malformed_since_tag=Error
 missing_since_tag=Error
diff --git a/bundles/javafx/org.eclipse.emf.ecp.view.group.fx/META-INF/MANIFEST.MF b/bundles/javafx/org.eclipse.emf.ecp.view.group.fx/META-INF/MANIFEST.MF
index 82a3d36..8987746 100644
--- a/bundles/javafx/org.eclipse.emf.ecp.view.group.fx/META-INF/MANIFEST.MF
+++ b/bundles/javafx/org.eclipse.emf.ecp.view.group.fx/META-INF/MANIFEST.MF
@@ -6,10 +6,10 @@
 Bundle-Activator: org.eclipse.emf.ecp.view.group.fx.Activator
 Bundle-Vendor: Eclipse Modeling Project
 Export-Package: org.eclipse.emf.ecp.view.group.fx;version="1.9.0"
-Require-Bundle: org.eclipse.emf.ecp.view.group.model;bundle-version="[1.21.0,1.22.0)",
- org.eclipse.emf.ecp.view.model.fx;bundle-version="[1.21.0,1.22.0)",
- org.eclipse.emf.ecp.view.model.common;bundle-version="[1.21.0,1.22.0)",
- org.eclipse.emfforms.common;bundle-version="[1.21.0,1.22.0)"
+Require-Bundle: org.eclipse.emf.ecp.view.group.model;bundle-version="[1.22.0,1.23.0)",
+ org.eclipse.emf.ecp.view.model.fx;bundle-version="[1.22.0,1.23.0)",
+ org.eclipse.emf.ecp.view.model.common;bundle-version="[1.22.0,1.23.0)",
+ org.eclipse.emfforms.common;bundle-version="[1.22.0,1.23.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Bundle-ActivationPolicy: lazy
 Import-Package: org.osgi.framework;version="1.3.0"
diff --git a/bundles/javafx/org.eclipse.emf.ecp.view.horizontal.fx/.settings/org.eclipse.pde.api.tools.prefs b/bundles/javafx/org.eclipse.emf.ecp.view.horizontal.fx/.settings/org.eclipse.pde.api.tools.prefs
index e4e3c00..cfb400b 100644
--- a/bundles/javafx/org.eclipse.emf.ecp.view.horizontal.fx/.settings/org.eclipse.pde.api.tools.prefs
+++ b/bundles/javafx/org.eclipse.emf.ecp.view.horizontal.fx/.settings/org.eclipse.pde.api.tools.prefs
@@ -1,3 +1,4 @@
+ANNOTATION_ELEMENT_TYPE_ADDED_FIELD=Error
 ANNOTATION_ELEMENT_TYPE_ADDED_METHOD_WITHOUT_DEFAULT_VALUE=Error
 ANNOTATION_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
 ANNOTATION_ELEMENT_TYPE_REMOVED_FIELD=Error
@@ -10,6 +11,7 @@
 API_USE_SCAN_FIELD_SEVERITY=Error
 API_USE_SCAN_METHOD_SEVERITY=Error
 API_USE_SCAN_TYPE_SEVERITY=Error
+CLASS_ELEMENT_TYPE_ADDED_FIELD=Error
 CLASS_ELEMENT_TYPE_ADDED_METHOD=Error
 CLASS_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
 CLASS_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
@@ -49,6 +51,7 @@
 ILLEGAL_INSTANTIATE=Warning
 ILLEGAL_OVERRIDE=Warning
 ILLEGAL_REFERENCE=Warning
+INTERFACE_ELEMENT_TYPE_ADDED_DEFAULT_METHOD=Ignore
 INTERFACE_ELEMENT_TYPE_ADDED_FIELD=Error
 INTERFACE_ELEMENT_TYPE_ADDED_METHOD=Error
 INTERFACE_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
@@ -60,6 +63,7 @@
 INTERFACE_ELEMENT_TYPE_REMOVED_METHOD=Error
 INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
 INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
+INVALID_ANNOTATION=Warning
 INVALID_JAVADOC_TAG=Warning
 INVALID_REFERENCE_IN_SYSTEM_LIBRARIES=Error
 LEAK_EXTEND=Warning
@@ -86,10 +90,13 @@
 TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error
 UNUSED_PROBLEM_FILTERS=Ignore
 automatically_removed_unused_problem_filters=Disabled
+changed_execution_env=Error
 eclipse.preferences.version=1
 incompatible_api_component_version=Error
 incompatible_api_component_version_include_major_without_breaking_change=Disabled
 incompatible_api_component_version_include_minor_without_api_change=Disabled
+incompatible_api_component_version_report_major_without_breaking_change=Ignore
+incompatible_api_component_version_report_minor_without_api_change=Ignore
 invalid_since_tag_version=Error
 malformed_since_tag=Error
 missing_since_tag=Error
diff --git a/bundles/javafx/org.eclipse.emf.ecp.view.horizontal.fx/META-INF/MANIFEST.MF b/bundles/javafx/org.eclipse.emf.ecp.view.horizontal.fx/META-INF/MANIFEST.MF
index cc2c12b..c02d0e6 100644
--- a/bundles/javafx/org.eclipse.emf.ecp.view.horizontal.fx/META-INF/MANIFEST.MF
+++ b/bundles/javafx/org.eclipse.emf.ecp.view.horizontal.fx/META-INF/MANIFEST.MF
@@ -7,10 +7,10 @@
 Bundle-Vendor: Eclipse Modeling Project
 Export-Package: org.eclipse.emf.ecp.view.horizontal.fx;version="1.9.0"
 Require-Bundle: org.eclipse.core.runtime,
- org.eclipse.emf.ecp.view.horizontal.model;bundle-version="[1.21.0,1.22.0)",
- org.eclipse.emf.ecp.view.model.fx;bundle-version="[1.21.0,1.22.0)",
- org.eclipse.emf.ecp.view.model.common;bundle-version="[1.21.0,1.22.0)",
- org.eclipse.emfforms.common;bundle-version="[1.21.0,1.22.0)"
+ org.eclipse.emf.ecp.view.horizontal.model;bundle-version="[1.22.0,1.23.0)",
+ org.eclipse.emf.ecp.view.model.fx;bundle-version="[1.22.0,1.23.0)",
+ org.eclipse.emf.ecp.view.model.common;bundle-version="[1.22.0,1.23.0)",
+ org.eclipse.emfforms.common;bundle-version="[1.22.0,1.23.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Automatic-Module-Name: org.eclipse.emf.ecp.view.horizontal.fx
 Bundle-ActivationPolicy: lazy
diff --git a/bundles/javafx/org.eclipse.emf.ecp.view.label.fx/.settings/org.eclipse.pde.api.tools.prefs b/bundles/javafx/org.eclipse.emf.ecp.view.label.fx/.settings/org.eclipse.pde.api.tools.prefs
index e4e3c00..cfb400b 100644
--- a/bundles/javafx/org.eclipse.emf.ecp.view.label.fx/.settings/org.eclipse.pde.api.tools.prefs
+++ b/bundles/javafx/org.eclipse.emf.ecp.view.label.fx/.settings/org.eclipse.pde.api.tools.prefs
@@ -1,3 +1,4 @@
+ANNOTATION_ELEMENT_TYPE_ADDED_FIELD=Error
 ANNOTATION_ELEMENT_TYPE_ADDED_METHOD_WITHOUT_DEFAULT_VALUE=Error
 ANNOTATION_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
 ANNOTATION_ELEMENT_TYPE_REMOVED_FIELD=Error
@@ -10,6 +11,7 @@
 API_USE_SCAN_FIELD_SEVERITY=Error
 API_USE_SCAN_METHOD_SEVERITY=Error
 API_USE_SCAN_TYPE_SEVERITY=Error
+CLASS_ELEMENT_TYPE_ADDED_FIELD=Error
 CLASS_ELEMENT_TYPE_ADDED_METHOD=Error
 CLASS_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
 CLASS_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
@@ -49,6 +51,7 @@
 ILLEGAL_INSTANTIATE=Warning
 ILLEGAL_OVERRIDE=Warning
 ILLEGAL_REFERENCE=Warning
+INTERFACE_ELEMENT_TYPE_ADDED_DEFAULT_METHOD=Ignore
 INTERFACE_ELEMENT_TYPE_ADDED_FIELD=Error
 INTERFACE_ELEMENT_TYPE_ADDED_METHOD=Error
 INTERFACE_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
@@ -60,6 +63,7 @@
 INTERFACE_ELEMENT_TYPE_REMOVED_METHOD=Error
 INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
 INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
+INVALID_ANNOTATION=Warning
 INVALID_JAVADOC_TAG=Warning
 INVALID_REFERENCE_IN_SYSTEM_LIBRARIES=Error
 LEAK_EXTEND=Warning
@@ -86,10 +90,13 @@
 TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error
 UNUSED_PROBLEM_FILTERS=Ignore
 automatically_removed_unused_problem_filters=Disabled
+changed_execution_env=Error
 eclipse.preferences.version=1
 incompatible_api_component_version=Error
 incompatible_api_component_version_include_major_without_breaking_change=Disabled
 incompatible_api_component_version_include_minor_without_api_change=Disabled
+incompatible_api_component_version_report_major_without_breaking_change=Ignore
+incompatible_api_component_version_report_minor_without_api_change=Ignore
 invalid_since_tag_version=Error
 malformed_since_tag=Error
 missing_since_tag=Error
diff --git a/bundles/javafx/org.eclipse.emf.ecp.view.label.fx/META-INF/MANIFEST.MF b/bundles/javafx/org.eclipse.emf.ecp.view.label.fx/META-INF/MANIFEST.MF
index 51487d4..cbbaa6f 100644
--- a/bundles/javafx/org.eclipse.emf.ecp.view.label.fx/META-INF/MANIFEST.MF
+++ b/bundles/javafx/org.eclipse.emf.ecp.view.label.fx/META-INF/MANIFEST.MF
@@ -4,8 +4,8 @@
 Bundle-SymbolicName: org.eclipse.emf.ecp.view.label.fx;singleton:=true
 Bundle-Version: 1.9.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Require-Bundle: org.eclipse.emf.ecp.view.model.fx;bundle-version="[1.21.0,1.22.0)",
- org.eclipse.emf.ecp.view.label.model;bundle-version="[1.21.0,1.22.0)",
- org.eclipse.emfforms.common;bundle-version="[1.21.0,1.22.0)"
+Require-Bundle: org.eclipse.emf.ecp.view.model.fx;bundle-version="[1.22.0,1.23.0)",
+ org.eclipse.emf.ecp.view.label.model;bundle-version="[1.22.0,1.23.0)",
+ org.eclipse.emfforms.common;bundle-version="[1.22.0,1.23.0)"
 Automatic-Module-Name: org.eclipse.emf.ecp.view.label.fx
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
diff --git a/bundles/javafx/org.eclipse.emf.ecp.view.model.fx/.settings/org.eclipse.pde.api.tools.prefs b/bundles/javafx/org.eclipse.emf.ecp.view.model.fx/.settings/org.eclipse.pde.api.tools.prefs
index e4e3c00..cfb400b 100644
--- a/bundles/javafx/org.eclipse.emf.ecp.view.model.fx/.settings/org.eclipse.pde.api.tools.prefs
+++ b/bundles/javafx/org.eclipse.emf.ecp.view.model.fx/.settings/org.eclipse.pde.api.tools.prefs
@@ -1,3 +1,4 @@
+ANNOTATION_ELEMENT_TYPE_ADDED_FIELD=Error
 ANNOTATION_ELEMENT_TYPE_ADDED_METHOD_WITHOUT_DEFAULT_VALUE=Error
 ANNOTATION_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
 ANNOTATION_ELEMENT_TYPE_REMOVED_FIELD=Error
@@ -10,6 +11,7 @@
 API_USE_SCAN_FIELD_SEVERITY=Error
 API_USE_SCAN_METHOD_SEVERITY=Error
 API_USE_SCAN_TYPE_SEVERITY=Error
+CLASS_ELEMENT_TYPE_ADDED_FIELD=Error
 CLASS_ELEMENT_TYPE_ADDED_METHOD=Error
 CLASS_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
 CLASS_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
@@ -49,6 +51,7 @@
 ILLEGAL_INSTANTIATE=Warning
 ILLEGAL_OVERRIDE=Warning
 ILLEGAL_REFERENCE=Warning
+INTERFACE_ELEMENT_TYPE_ADDED_DEFAULT_METHOD=Ignore
 INTERFACE_ELEMENT_TYPE_ADDED_FIELD=Error
 INTERFACE_ELEMENT_TYPE_ADDED_METHOD=Error
 INTERFACE_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
@@ -60,6 +63,7 @@
 INTERFACE_ELEMENT_TYPE_REMOVED_METHOD=Error
 INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
 INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
+INVALID_ANNOTATION=Warning
 INVALID_JAVADOC_TAG=Warning
 INVALID_REFERENCE_IN_SYSTEM_LIBRARIES=Error
 LEAK_EXTEND=Warning
@@ -86,10 +90,13 @@
 TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error
 UNUSED_PROBLEM_FILTERS=Ignore
 automatically_removed_unused_problem_filters=Disabled
+changed_execution_env=Error
 eclipse.preferences.version=1
 incompatible_api_component_version=Error
 incompatible_api_component_version_include_major_without_breaking_change=Disabled
 incompatible_api_component_version_include_minor_without_api_change=Disabled
+incompatible_api_component_version_report_major_without_breaking_change=Ignore
+incompatible_api_component_version_report_minor_without_api_change=Ignore
 invalid_since_tag_version=Error
 malformed_since_tag=Error
 missing_since_tag=Error
diff --git a/bundles/javafx/org.eclipse.emf.ecp.view.model.fx/META-INF/MANIFEST.MF b/bundles/javafx/org.eclipse.emf.ecp.view.model.fx/META-INF/MANIFEST.MF
index d2317bf..ba38d71 100644
--- a/bundles/javafx/org.eclipse.emf.ecp.view.model.fx/META-INF/MANIFEST.MF
+++ b/bundles/javafx/org.eclipse.emf.ecp.view.model.fx/META-INF/MANIFEST.MF
@@ -8,14 +8,14 @@
 Export-Package: org.eclipse.emf.ecp.view.model.fx;version="1.9.0",
  org.eclipse.emf.ecp.view.model.internal.fx;version="1.9.0"
 Require-Bundle: org.eclipse.core.runtime,
- org.eclipse.emf.ecp.view.model;bundle-version="[1.21.0,1.22.0)",
- org.eclipse.emf.ecp.edit;bundle-version="[1.21.0,1.22.0)",
- org.eclipse.emf.ecp.view.context;bundle-version="[1.21.0,1.22.0)",
- org.eclipse.emf.ecp.ui.view;bundle-version="[1.21.0,1.22.0)";visibility:=reexport,
+ org.eclipse.emf.ecp.view.model;bundle-version="[1.22.0,1.23.0)",
+ org.eclipse.emf.ecp.edit;bundle-version="[1.22.0,1.23.0)",
+ org.eclipse.emf.ecp.view.context;bundle-version="[1.22.0,1.23.0)",
+ org.eclipse.emf.ecp.ui.view;bundle-version="[1.22.0,1.23.0)";visibility:=reexport,
  org.eclipse.fx.core.databinding;bundle-version="1.0.0",
  org.eclipse.core.databinding.property;bundle-version="1.4.200",
- org.eclipse.emf.ecp.view.model.common;bundle-version="[1.21.0,1.22.0)";visibility:=reexport,
- org.eclipse.emfforms.common;bundle-version="[1.21.0,1.22.0)",
+ org.eclipse.emf.ecp.view.model.common;bundle-version="[1.22.0,1.23.0)";visibility:=reexport,
+ org.eclipse.emfforms.common;bundle-version="[1.22.0,1.23.0)",
  org.eclipse.emf.edit,
  org.eclipse.emf.databinding.edit
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
diff --git a/bundles/javafx/org.eclipse.emf.ecp.view.treemasterdetail.fx/.settings/org.eclipse.pde.api.tools.prefs b/bundles/javafx/org.eclipse.emf.ecp.view.treemasterdetail.fx/.settings/org.eclipse.pde.api.tools.prefs
index e4e3c00..cfb400b 100644
--- a/bundles/javafx/org.eclipse.emf.ecp.view.treemasterdetail.fx/.settings/org.eclipse.pde.api.tools.prefs
+++ b/bundles/javafx/org.eclipse.emf.ecp.view.treemasterdetail.fx/.settings/org.eclipse.pde.api.tools.prefs
@@ -1,3 +1,4 @@
+ANNOTATION_ELEMENT_TYPE_ADDED_FIELD=Error
 ANNOTATION_ELEMENT_TYPE_ADDED_METHOD_WITHOUT_DEFAULT_VALUE=Error
 ANNOTATION_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
 ANNOTATION_ELEMENT_TYPE_REMOVED_FIELD=Error
@@ -10,6 +11,7 @@
 API_USE_SCAN_FIELD_SEVERITY=Error
 API_USE_SCAN_METHOD_SEVERITY=Error
 API_USE_SCAN_TYPE_SEVERITY=Error
+CLASS_ELEMENT_TYPE_ADDED_FIELD=Error
 CLASS_ELEMENT_TYPE_ADDED_METHOD=Error
 CLASS_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
 CLASS_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
@@ -49,6 +51,7 @@
 ILLEGAL_INSTANTIATE=Warning
 ILLEGAL_OVERRIDE=Warning
 ILLEGAL_REFERENCE=Warning
+INTERFACE_ELEMENT_TYPE_ADDED_DEFAULT_METHOD=Ignore
 INTERFACE_ELEMENT_TYPE_ADDED_FIELD=Error
 INTERFACE_ELEMENT_TYPE_ADDED_METHOD=Error
 INTERFACE_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
@@ -60,6 +63,7 @@
 INTERFACE_ELEMENT_TYPE_REMOVED_METHOD=Error
 INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
 INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
+INVALID_ANNOTATION=Warning
 INVALID_JAVADOC_TAG=Warning
 INVALID_REFERENCE_IN_SYSTEM_LIBRARIES=Error
 LEAK_EXTEND=Warning
@@ -86,10 +90,13 @@
 TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error
 UNUSED_PROBLEM_FILTERS=Ignore
 automatically_removed_unused_problem_filters=Disabled
+changed_execution_env=Error
 eclipse.preferences.version=1
 incompatible_api_component_version=Error
 incompatible_api_component_version_include_major_without_breaking_change=Disabled
 incompatible_api_component_version_include_minor_without_api_change=Disabled
+incompatible_api_component_version_report_major_without_breaking_change=Ignore
+incompatible_api_component_version_report_minor_without_api_change=Ignore
 invalid_since_tag_version=Error
 malformed_since_tag=Error
 missing_since_tag=Error
diff --git a/bundles/javafx/org.eclipse.emf.ecp.view.treemasterdetail.fx/META-INF/MANIFEST.MF b/bundles/javafx/org.eclipse.emf.ecp.view.treemasterdetail.fx/META-INF/MANIFEST.MF
index c2bbf0a..76b8a6a 100644
--- a/bundles/javafx/org.eclipse.emf.ecp.view.treemasterdetail.fx/META-INF/MANIFEST.MF
+++ b/bundles/javafx/org.eclipse.emf.ecp.view.treemasterdetail.fx/META-INF/MANIFEST.MF
@@ -6,13 +6,13 @@
 Bundle-Activator: org.eclipse.emf.ecp.view.treemasterdetail.fx.Activator
 Bundle-Vendor: Eclipse Modeling Project
 Export-Package: org.eclipse.emf.ecp.view.treemasterdetail.fx;version="1.9.0"
-Require-Bundle: org.eclipse.emf.ecp.view.treemasterdetail.model;bundle-version="[1.21.0,1.22.0)",
- org.eclipse.emf.ecp.view.model.fx;bundle-version="[1.21.0,1.22.0)",
+Require-Bundle: org.eclipse.emf.ecp.view.treemasterdetail.model;bundle-version="[1.22.0,1.23.0)",
+ org.eclipse.emf.ecp.view.model.fx;bundle-version="[1.22.0,1.23.0)",
  org.eclipse.fx.emf.edit.ui;bundle-version="[2.0.0,3.0.0)",
  org.eclipse.emf.edit;bundle-version="2.9.0",
- org.eclipse.emf.ecp.util.fx;bundle-version="[1.21.0,1.22.0)",
- org.eclipse.emf.ecp.view.model.common;bundle-version="[1.21.0,1.22.0)",
- org.eclipse.emfforms.common;bundle-version="[1.21.0,1.22.0)",
+ org.eclipse.emf.ecp.util.fx;bundle-version="[1.22.0,1.23.0)",
+ org.eclipse.emf.ecp.view.model.common;bundle-version="[1.22.0,1.23.0)",
+ org.eclipse.emfforms.common;bundle-version="[1.22.0,1.23.0)",
  org.eclipse.fx.ui.controls;bundle-version="[2.0.0,3.0.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Bundle-ActivationPolicy: lazy
diff --git a/bundles/javafx/org.eclipse.emf.ecp.view.vertical.fx/.settings/org.eclipse.pde.api.tools.prefs b/bundles/javafx/org.eclipse.emf.ecp.view.vertical.fx/.settings/org.eclipse.pde.api.tools.prefs
index e4e3c00..cfb400b 100644
--- a/bundles/javafx/org.eclipse.emf.ecp.view.vertical.fx/.settings/org.eclipse.pde.api.tools.prefs
+++ b/bundles/javafx/org.eclipse.emf.ecp.view.vertical.fx/.settings/org.eclipse.pde.api.tools.prefs
@@ -1,3 +1,4 @@
+ANNOTATION_ELEMENT_TYPE_ADDED_FIELD=Error
 ANNOTATION_ELEMENT_TYPE_ADDED_METHOD_WITHOUT_DEFAULT_VALUE=Error
 ANNOTATION_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
 ANNOTATION_ELEMENT_TYPE_REMOVED_FIELD=Error
@@ -10,6 +11,7 @@
 API_USE_SCAN_FIELD_SEVERITY=Error
 API_USE_SCAN_METHOD_SEVERITY=Error
 API_USE_SCAN_TYPE_SEVERITY=Error
+CLASS_ELEMENT_TYPE_ADDED_FIELD=Error
 CLASS_ELEMENT_TYPE_ADDED_METHOD=Error
 CLASS_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
 CLASS_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
@@ -49,6 +51,7 @@
 ILLEGAL_INSTANTIATE=Warning
 ILLEGAL_OVERRIDE=Warning
 ILLEGAL_REFERENCE=Warning
+INTERFACE_ELEMENT_TYPE_ADDED_DEFAULT_METHOD=Ignore
 INTERFACE_ELEMENT_TYPE_ADDED_FIELD=Error
 INTERFACE_ELEMENT_TYPE_ADDED_METHOD=Error
 INTERFACE_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
@@ -60,6 +63,7 @@
 INTERFACE_ELEMENT_TYPE_REMOVED_METHOD=Error
 INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
 INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
+INVALID_ANNOTATION=Warning
 INVALID_JAVADOC_TAG=Warning
 INVALID_REFERENCE_IN_SYSTEM_LIBRARIES=Error
 LEAK_EXTEND=Warning
@@ -86,10 +90,13 @@
 TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error
 UNUSED_PROBLEM_FILTERS=Ignore
 automatically_removed_unused_problem_filters=Disabled
+changed_execution_env=Error
 eclipse.preferences.version=1
 incompatible_api_component_version=Error
 incompatible_api_component_version_include_major_without_breaking_change=Disabled
 incompatible_api_component_version_include_minor_without_api_change=Disabled
+incompatible_api_component_version_report_major_without_breaking_change=Ignore
+incompatible_api_component_version_report_minor_without_api_change=Ignore
 invalid_since_tag_version=Error
 malformed_since_tag=Error
 missing_since_tag=Error
diff --git a/bundles/javafx/org.eclipse.emf.ecp.view.vertical.fx/META-INF/MANIFEST.MF b/bundles/javafx/org.eclipse.emf.ecp.view.vertical.fx/META-INF/MANIFEST.MF
index 860790d..e963bb9 100644
--- a/bundles/javafx/org.eclipse.emf.ecp.view.vertical.fx/META-INF/MANIFEST.MF
+++ b/bundles/javafx/org.eclipse.emf.ecp.view.vertical.fx/META-INF/MANIFEST.MF
@@ -7,10 +7,10 @@
 Bundle-Vendor: Eclipse Modeling Project
 Export-Package: org.eclipse.emf.ecp.view.vertical.fx;version="1.9.0"
 Require-Bundle: org.eclipse.core.runtime,
- org.eclipse.emf.ecp.view.vertical.model;bundle-version="[1.21.0,1.22.0)",
- org.eclipse.emf.ecp.view.model.fx;bundle-version="[1.21.0,1.22.0)",
- org.eclipse.emf.ecp.view.model.common;bundle-version="[1.21.0,1.22.0)",
- org.eclipse.emfforms.common;bundle-version="[1.21.0,1.22.0)"
+ org.eclipse.emf.ecp.view.vertical.model;bundle-version="[1.22.0,1.23.0)",
+ org.eclipse.emf.ecp.view.model.fx;bundle-version="[1.22.0,1.23.0)",
+ org.eclipse.emf.ecp.view.model.common;bundle-version="[1.22.0,1.23.0)",
+ org.eclipse.emfforms.common;bundle-version="[1.22.0,1.23.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Automatic-Module-Name: org.eclipse.emf.ecp.view.vertical.fx
 Bundle-ActivationPolicy: lazy
diff --git a/bundles/javafx/org.eclipse.emf.ecp.viewmodel.fx/META-INF/MANIFEST.MF b/bundles/javafx/org.eclipse.emf.ecp.viewmodel.fx/META-INF/MANIFEST.MF
index 715cb87..51300b6 100644
--- a/bundles/javafx/org.eclipse.emf.ecp.viewmodel.fx/META-INF/MANIFEST.MF
+++ b/bundles/javafx/org.eclipse.emf.ecp.viewmodel.fx/META-INF/MANIFEST.MF
@@ -4,6 +4,6 @@
 Bundle-SymbolicName: org.eclipse.emf.ecp.viewmodel.fx;singleton:=true
 Bundle-Version: 1.7.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Require-Bundle: org.eclipse.emf.ecp.view.model.provider.xmi;bundle-version="[1.21.0,1.22.0)"
+Require-Bundle: org.eclipse.emf.ecp.view.model.provider.xmi;bundle-version="[1.22.0,1.23.0)"
 Automatic-Module-Name: org.eclipse.emf.ecp.viewmodel.fx
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
diff --git a/bundles/javafx/org.eclipse.emf.emfstore.fx.projects/.settings/org.eclipse.pde.api.tools.prefs b/bundles/javafx/org.eclipse.emf.emfstore.fx.projects/.settings/org.eclipse.pde.api.tools.prefs
index e4e3c00..cfb400b 100644
--- a/bundles/javafx/org.eclipse.emf.emfstore.fx.projects/.settings/org.eclipse.pde.api.tools.prefs
+++ b/bundles/javafx/org.eclipse.emf.emfstore.fx.projects/.settings/org.eclipse.pde.api.tools.prefs
@@ -1,3 +1,4 @@
+ANNOTATION_ELEMENT_TYPE_ADDED_FIELD=Error
 ANNOTATION_ELEMENT_TYPE_ADDED_METHOD_WITHOUT_DEFAULT_VALUE=Error
 ANNOTATION_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
 ANNOTATION_ELEMENT_TYPE_REMOVED_FIELD=Error
@@ -10,6 +11,7 @@
 API_USE_SCAN_FIELD_SEVERITY=Error
 API_USE_SCAN_METHOD_SEVERITY=Error
 API_USE_SCAN_TYPE_SEVERITY=Error
+CLASS_ELEMENT_TYPE_ADDED_FIELD=Error
 CLASS_ELEMENT_TYPE_ADDED_METHOD=Error
 CLASS_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
 CLASS_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
@@ -49,6 +51,7 @@
 ILLEGAL_INSTANTIATE=Warning
 ILLEGAL_OVERRIDE=Warning
 ILLEGAL_REFERENCE=Warning
+INTERFACE_ELEMENT_TYPE_ADDED_DEFAULT_METHOD=Ignore
 INTERFACE_ELEMENT_TYPE_ADDED_FIELD=Error
 INTERFACE_ELEMENT_TYPE_ADDED_METHOD=Error
 INTERFACE_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
@@ -60,6 +63,7 @@
 INTERFACE_ELEMENT_TYPE_REMOVED_METHOD=Error
 INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
 INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
+INVALID_ANNOTATION=Warning
 INVALID_JAVADOC_TAG=Warning
 INVALID_REFERENCE_IN_SYSTEM_LIBRARIES=Error
 LEAK_EXTEND=Warning
@@ -86,10 +90,13 @@
 TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error
 UNUSED_PROBLEM_FILTERS=Ignore
 automatically_removed_unused_problem_filters=Disabled
+changed_execution_env=Error
 eclipse.preferences.version=1
 incompatible_api_component_version=Error
 incompatible_api_component_version_include_major_without_breaking_change=Disabled
 incompatible_api_component_version_include_minor_without_api_change=Disabled
+incompatible_api_component_version_report_major_without_breaking_change=Ignore
+incompatible_api_component_version_report_minor_without_api_change=Ignore
 invalid_since_tag_version=Error
 malformed_since_tag=Error
 missing_since_tag=Error
diff --git a/bundles/javafx/org.eclipse.emf.emfstore.fx.projects/META-INF/MANIFEST.MF b/bundles/javafx/org.eclipse.emf.emfstore.fx.projects/META-INF/MANIFEST.MF
index 61aef80..6f11486 100644
--- a/bundles/javafx/org.eclipse.emf.emfstore.fx.projects/META-INF/MANIFEST.MF
+++ b/bundles/javafx/org.eclipse.emf.emfstore.fx.projects/META-INF/MANIFEST.MF
@@ -10,9 +10,9 @@
  org.eclipse.fx.emf.edit.ui;bundle-version="[2.0.0,3.0.0)",
  org.eclipse.emf.edit,
  org.eclipse.emf.ecore,
- org.eclipse.emf.ecp.util.fx;bundle-version="[1.21.0,1.22.0)",
+ org.eclipse.emf.ecp.util.fx;bundle-version="[1.22.0,1.23.0)",
  org.eclipse.e4.ui.workbench,
- org.eclipse.emf.ecp.util.e4.fx;bundle-version="[1.21.0,1.22.0)",
+ org.eclipse.emf.ecp.util.e4.fx;bundle-version="[1.22.0,1.23.0)",
  org.eclipse.fx.ui.controls;bundle-version="[2.0.0,3.0.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Bundle-ActivationPolicy: lazy
diff --git a/bundles/javafx/org.eclipse.emf.emfstore.fx.util/.settings/org.eclipse.pde.api.tools.prefs b/bundles/javafx/org.eclipse.emf.emfstore.fx.util/.settings/org.eclipse.pde.api.tools.prefs
index e4e3c00..cfb400b 100644
--- a/bundles/javafx/org.eclipse.emf.emfstore.fx.util/.settings/org.eclipse.pde.api.tools.prefs
+++ b/bundles/javafx/org.eclipse.emf.emfstore.fx.util/.settings/org.eclipse.pde.api.tools.prefs
@@ -1,3 +1,4 @@
+ANNOTATION_ELEMENT_TYPE_ADDED_FIELD=Error
 ANNOTATION_ELEMENT_TYPE_ADDED_METHOD_WITHOUT_DEFAULT_VALUE=Error
 ANNOTATION_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
 ANNOTATION_ELEMENT_TYPE_REMOVED_FIELD=Error
@@ -10,6 +11,7 @@
 API_USE_SCAN_FIELD_SEVERITY=Error
 API_USE_SCAN_METHOD_SEVERITY=Error
 API_USE_SCAN_TYPE_SEVERITY=Error
+CLASS_ELEMENT_TYPE_ADDED_FIELD=Error
 CLASS_ELEMENT_TYPE_ADDED_METHOD=Error
 CLASS_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
 CLASS_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
@@ -49,6 +51,7 @@
 ILLEGAL_INSTANTIATE=Warning
 ILLEGAL_OVERRIDE=Warning
 ILLEGAL_REFERENCE=Warning
+INTERFACE_ELEMENT_TYPE_ADDED_DEFAULT_METHOD=Ignore
 INTERFACE_ELEMENT_TYPE_ADDED_FIELD=Error
 INTERFACE_ELEMENT_TYPE_ADDED_METHOD=Error
 INTERFACE_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
@@ -60,6 +63,7 @@
 INTERFACE_ELEMENT_TYPE_REMOVED_METHOD=Error
 INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
 INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
+INVALID_ANNOTATION=Warning
 INVALID_JAVADOC_TAG=Warning
 INVALID_REFERENCE_IN_SYSTEM_LIBRARIES=Error
 LEAK_EXTEND=Warning
@@ -86,10 +90,13 @@
 TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error
 UNUSED_PROBLEM_FILTERS=Ignore
 automatically_removed_unused_problem_filters=Disabled
+changed_execution_env=Error
 eclipse.preferences.version=1
 incompatible_api_component_version=Error
 incompatible_api_component_version_include_major_without_breaking_change=Disabled
 incompatible_api_component_version_include_minor_without_api_change=Disabled
+incompatible_api_component_version_report_major_without_breaking_change=Ignore
+incompatible_api_component_version_report_minor_without_api_change=Ignore
 invalid_since_tag_version=Error
 malformed_since_tag=Error
 missing_since_tag=Error
diff --git a/bundles/org.eclipse.emf.ecp.application.e3/.settings/org.eclipse.pde.api.tools.prefs b/bundles/org.eclipse.emf.ecp.application.e3/.settings/org.eclipse.pde.api.tools.prefs
index e4e3c00..cfb400b 100644
--- a/bundles/org.eclipse.emf.ecp.application.e3/.settings/org.eclipse.pde.api.tools.prefs
+++ b/bundles/org.eclipse.emf.ecp.application.e3/.settings/org.eclipse.pde.api.tools.prefs
@@ -1,3 +1,4 @@
+ANNOTATION_ELEMENT_TYPE_ADDED_FIELD=Error
 ANNOTATION_ELEMENT_TYPE_ADDED_METHOD_WITHOUT_DEFAULT_VALUE=Error
 ANNOTATION_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
 ANNOTATION_ELEMENT_TYPE_REMOVED_FIELD=Error
@@ -10,6 +11,7 @@
 API_USE_SCAN_FIELD_SEVERITY=Error
 API_USE_SCAN_METHOD_SEVERITY=Error
 API_USE_SCAN_TYPE_SEVERITY=Error
+CLASS_ELEMENT_TYPE_ADDED_FIELD=Error
 CLASS_ELEMENT_TYPE_ADDED_METHOD=Error
 CLASS_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
 CLASS_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
@@ -49,6 +51,7 @@
 ILLEGAL_INSTANTIATE=Warning
 ILLEGAL_OVERRIDE=Warning
 ILLEGAL_REFERENCE=Warning
+INTERFACE_ELEMENT_TYPE_ADDED_DEFAULT_METHOD=Ignore
 INTERFACE_ELEMENT_TYPE_ADDED_FIELD=Error
 INTERFACE_ELEMENT_TYPE_ADDED_METHOD=Error
 INTERFACE_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
@@ -60,6 +63,7 @@
 INTERFACE_ELEMENT_TYPE_REMOVED_METHOD=Error
 INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
 INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
+INVALID_ANNOTATION=Warning
 INVALID_JAVADOC_TAG=Warning
 INVALID_REFERENCE_IN_SYSTEM_LIBRARIES=Error
 LEAK_EXTEND=Warning
@@ -86,10 +90,13 @@
 TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error
 UNUSED_PROBLEM_FILTERS=Ignore
 automatically_removed_unused_problem_filters=Disabled
+changed_execution_env=Error
 eclipse.preferences.version=1
 incompatible_api_component_version=Error
 incompatible_api_component_version_include_major_without_breaking_change=Disabled
 incompatible_api_component_version_include_minor_without_api_change=Disabled
+incompatible_api_component_version_report_major_without_breaking_change=Ignore
+incompatible_api_component_version_report_minor_without_api_change=Ignore
 invalid_since_tag_version=Error
 malformed_since_tag=Error
 missing_since_tag=Error
diff --git a/bundles/org.eclipse.emf.ecp.application.e3/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.application.e3/META-INF/MANIFEST.MF
index e7eeeb4..c57f104 100644
--- a/bundles/org.eclipse.emf.ecp.application.e3/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.application.e3/META-INF/MANIFEST.MF
@@ -2,13 +2,13 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: ECP Demo Application Eclipse 3.x
 Bundle-SymbolicName: org.eclipse.emf.ecp.application.e3;singleton:=true
-Bundle-Version: 1.21.0.qualifier
+Bundle-Version: 1.22.0.qualifier
 Bundle-Activator: org.eclipse.emf.ecp.application3x.Activator
 Bundle-Vendor: Eclipse Modeling Project
 Bundle-Localization: plugin
-Export-Package: org.eclipse.emf.ecp.application3x;version="1.21.0";x-internal:=true
+Export-Package: org.eclipse.emf.ecp.application3x;version="1.22.0";x-internal:=true
 Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.4.0,4.0.0)",
- org.eclipse.emf.ecp.ui.e3;bundle-version="[1.21.0,1.22.0)",
+ org.eclipse.emf.ecp.ui.e3;bundle-version="[1.22.0,1.23.0)",
  org.eclipse.ui;bundle-version="[3.0.0,4.0.0)",
  org.eclipse.core.resources;bundle-version="[3.7.0,4.0.0)",
  org.eclipse.ui.ide;bundle-version="[3.7.0,4.0.0)",
diff --git a/bundles/org.eclipse.emf.ecp.application.e3/pom.xml b/bundles/org.eclipse.emf.ecp.application.e3/pom.xml
index def853f..2b3c591 100644
--- a/bundles/org.eclipse.emf.ecp.application.e3/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.application.e3/pom.xml
@@ -5,12 +5,12 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.21.0-SNAPSHOT</version>
+    <version>1.22.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emf.ecp.application.e3</artifactId>
-  <version>1.21.0-SNAPSHOT</version>
+  <version>1.22.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
   
   <properties>
diff --git a/bundles/org.eclipse.emf.ecp.application.e4/.settings/org.eclipse.pde.api.tools.prefs b/bundles/org.eclipse.emf.ecp.application.e4/.settings/org.eclipse.pde.api.tools.prefs
index e4e3c00..cfb400b 100644
--- a/bundles/org.eclipse.emf.ecp.application.e4/.settings/org.eclipse.pde.api.tools.prefs
+++ b/bundles/org.eclipse.emf.ecp.application.e4/.settings/org.eclipse.pde.api.tools.prefs
@@ -1,3 +1,4 @@
+ANNOTATION_ELEMENT_TYPE_ADDED_FIELD=Error
 ANNOTATION_ELEMENT_TYPE_ADDED_METHOD_WITHOUT_DEFAULT_VALUE=Error
 ANNOTATION_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
 ANNOTATION_ELEMENT_TYPE_REMOVED_FIELD=Error
@@ -10,6 +11,7 @@
 API_USE_SCAN_FIELD_SEVERITY=Error
 API_USE_SCAN_METHOD_SEVERITY=Error
 API_USE_SCAN_TYPE_SEVERITY=Error
+CLASS_ELEMENT_TYPE_ADDED_FIELD=Error
 CLASS_ELEMENT_TYPE_ADDED_METHOD=Error
 CLASS_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
 CLASS_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
@@ -49,6 +51,7 @@
 ILLEGAL_INSTANTIATE=Warning
 ILLEGAL_OVERRIDE=Warning
 ILLEGAL_REFERENCE=Warning
+INTERFACE_ELEMENT_TYPE_ADDED_DEFAULT_METHOD=Ignore
 INTERFACE_ELEMENT_TYPE_ADDED_FIELD=Error
 INTERFACE_ELEMENT_TYPE_ADDED_METHOD=Error
 INTERFACE_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
@@ -60,6 +63,7 @@
 INTERFACE_ELEMENT_TYPE_REMOVED_METHOD=Error
 INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
 INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
+INVALID_ANNOTATION=Warning
 INVALID_JAVADOC_TAG=Warning
 INVALID_REFERENCE_IN_SYSTEM_LIBRARIES=Error
 LEAK_EXTEND=Warning
@@ -86,10 +90,13 @@
 TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error
 UNUSED_PROBLEM_FILTERS=Ignore
 automatically_removed_unused_problem_filters=Disabled
+changed_execution_env=Error
 eclipse.preferences.version=1
 incompatible_api_component_version=Error
 incompatible_api_component_version_include_major_without_breaking_change=Disabled
 incompatible_api_component_version_include_minor_without_api_change=Disabled
+incompatible_api_component_version_report_major_without_breaking_change=Ignore
+incompatible_api_component_version_report_minor_without_api_change=Ignore
 invalid_since_tag_version=Error
 malformed_since_tag=Error
 missing_since_tag=Error
diff --git a/bundles/org.eclipse.emf.ecp.application.e4/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.application.e4/META-INF/MANIFEST.MF
index 4b04eaa..110b031 100644
--- a/bundles/org.eclipse.emf.ecp.application.e4/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.application.e4/META-INF/MANIFEST.MF
@@ -2,19 +2,19 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: ECP e4 Application
 Bundle-SymbolicName: org.eclipse.emf.ecp.application.e4;singleton:=true
-Bundle-Version: 1.21.0.qualifier
+Bundle-Version: 1.22.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emf.ecp.application.e4.editor;version="1.21.0";x-internal:=true
-Require-Bundle: org.eclipse.emf.ecp.ui.e4;bundle-version="[1.21.0,1.22.0)",
+Export-Package: org.eclipse.emf.ecp.application.e4.editor;version="1.22.0";x-internal:=true
+Require-Bundle: org.eclipse.emf.ecp.ui.e4;bundle-version="[1.22.0,1.23.0)",
  org.eclipse.core.expressions;bundle-version="[3.4.0,4.0.0)",
- org.eclipse.emf.ecp.core;bundle-version="[1.21.0,1.22.0)",
- org.eclipse.emf.ecp.ui;bundle-version="[1.21.0,1.22.0)",
+ org.eclipse.emf.ecp.core;bundle-version="[1.22.0,1.23.0)",
+ org.eclipse.emf.ecp.ui;bundle-version="[1.22.0,1.23.0)",
  org.eclipse.e4.ui.workbench;bundle-version="[0.10.0,2.0.0)",
  org.eclipse.e4.ui.model.workbench;bundle-version="[0.10.0,3.0.0)",
  org.eclipse.e4.core.contexts;bundle-version="[1.3.0,2.0.0)",
  org.eclipse.equinox.event;bundle-version="[1.3.0,2.0.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Automatic-Module-Name: org.eclipse.emf.ecp.application.e4
-Import-Package: org.eclipse.emfforms.spi.common.report;version="[1.21.0,1.22.0)",
+Import-Package: org.eclipse.emfforms.spi.common.report;version="[1.22.0,1.23.0)",
  org.osgi.framework;version="[1.2.0,2.0.0)"
 Bundle-ActivationPolicy: lazy
diff --git a/bundles/org.eclipse.emf.ecp.application.e4/pom.xml b/bundles/org.eclipse.emf.ecp.application.e4/pom.xml
index 203b588..c2d1da5 100644
--- a/bundles/org.eclipse.emf.ecp.application.e4/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.application.e4/pom.xml
@@ -5,12 +5,12 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.21.0-SNAPSHOT</version>
+    <version>1.22.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emf.ecp.application.e4</artifactId>
-  <version>1.21.0-SNAPSHOT</version>
+  <version>1.22.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
   
   <properties>
diff --git a/bundles/org.eclipse.emf.ecp.cdo.core/.settings/org.eclipse.pde.api.tools.prefs b/bundles/org.eclipse.emf.ecp.cdo.core/.settings/org.eclipse.pde.api.tools.prefs
index e4e3c00..cfb400b 100644
--- a/bundles/org.eclipse.emf.ecp.cdo.core/.settings/org.eclipse.pde.api.tools.prefs
+++ b/bundles/org.eclipse.emf.ecp.cdo.core/.settings/org.eclipse.pde.api.tools.prefs
@@ -1,3 +1,4 @@
+ANNOTATION_ELEMENT_TYPE_ADDED_FIELD=Error
 ANNOTATION_ELEMENT_TYPE_ADDED_METHOD_WITHOUT_DEFAULT_VALUE=Error
 ANNOTATION_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
 ANNOTATION_ELEMENT_TYPE_REMOVED_FIELD=Error
@@ -10,6 +11,7 @@
 API_USE_SCAN_FIELD_SEVERITY=Error
 API_USE_SCAN_METHOD_SEVERITY=Error
 API_USE_SCAN_TYPE_SEVERITY=Error
+CLASS_ELEMENT_TYPE_ADDED_FIELD=Error
 CLASS_ELEMENT_TYPE_ADDED_METHOD=Error
 CLASS_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
 CLASS_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
@@ -49,6 +51,7 @@
 ILLEGAL_INSTANTIATE=Warning
 ILLEGAL_OVERRIDE=Warning
 ILLEGAL_REFERENCE=Warning
+INTERFACE_ELEMENT_TYPE_ADDED_DEFAULT_METHOD=Ignore
 INTERFACE_ELEMENT_TYPE_ADDED_FIELD=Error
 INTERFACE_ELEMENT_TYPE_ADDED_METHOD=Error
 INTERFACE_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
@@ -60,6 +63,7 @@
 INTERFACE_ELEMENT_TYPE_REMOVED_METHOD=Error
 INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
 INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
+INVALID_ANNOTATION=Warning
 INVALID_JAVADOC_TAG=Warning
 INVALID_REFERENCE_IN_SYSTEM_LIBRARIES=Error
 LEAK_EXTEND=Warning
@@ -86,10 +90,13 @@
 TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error
 UNUSED_PROBLEM_FILTERS=Ignore
 automatically_removed_unused_problem_filters=Disabled
+changed_execution_env=Error
 eclipse.preferences.version=1
 incompatible_api_component_version=Error
 incompatible_api_component_version_include_major_without_breaking_change=Disabled
 incompatible_api_component_version_include_minor_without_api_change=Disabled
+incompatible_api_component_version_report_major_without_breaking_change=Ignore
+incompatible_api_component_version_report_minor_without_api_change=Ignore
 invalid_since_tag_version=Error
 malformed_since_tag=Error
 missing_since_tag=Error
diff --git a/bundles/org.eclipse.emf.ecp.cdo.core/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.cdo.core/META-INF/MANIFEST.MF
index 13966c9..2043f11 100644
--- a/bundles/org.eclipse.emf.ecp.cdo.core/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.cdo.core/META-INF/MANIFEST.MF
@@ -2,12 +2,12 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: ECP CDO Model Repository Core
 Bundle-SymbolicName: org.eclipse.emf.ecp.cdo.core;singleton:=true
-Bundle-Version: 1.21.0.qualifier
+Bundle-Version: 1.22.0.qualifier
 Bundle-Activator: org.eclipse.emf.ecp.cdo.internal.core.Activator
 Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emf.ecp.cdo.internal.core;version="1.21.0";x-friends:="org.eclipse.emf.ecp.cdo.ui"
+Export-Package: org.eclipse.emf.ecp.cdo.internal.core;version="1.22.0";x-friends:="org.eclipse.emf.ecp.cdo.ui"
 Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.4.0,4.0.0)";visibility:=reexport,
- org.eclipse.emf.ecp.core;bundle-version="[1.21.0,1.22.0)";visibility:=reexport,
+ org.eclipse.emf.ecp.core;bundle-version="[1.22.0,1.23.0)";visibility:=reexport,
  org.eclipse.emf.cdo.net4j;bundle-version="[4.1.0,5.0.0)",
  org.eclipse.emf.cdo.workspace;bundle-version="[4.1.0,5.0.0)";visibility:=reexport,
  org.eclipse.emf.cdo.server.db;bundle-version="[4.1.0,5.0.0)",
diff --git a/bundles/org.eclipse.emf.ecp.cdo.core/pom.xml b/bundles/org.eclipse.emf.ecp.cdo.core/pom.xml
index 50a286a..8ca4e3c 100644
--- a/bundles/org.eclipse.emf.ecp.cdo.core/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.cdo.core/pom.xml
@@ -5,12 +5,12 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.21.0-SNAPSHOT</version>
+    <version>1.22.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emf.ecp.cdo.core</artifactId>
-  <version>1.21.0-SNAPSHOT</version>
+  <version>1.22.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
   
   <properties>
diff --git a/bundles/org.eclipse.emf.ecp.cdo.ui/.settings/org.eclipse.pde.api.tools.prefs b/bundles/org.eclipse.emf.ecp.cdo.ui/.settings/org.eclipse.pde.api.tools.prefs
index e4e3c00..cfb400b 100644
--- a/bundles/org.eclipse.emf.ecp.cdo.ui/.settings/org.eclipse.pde.api.tools.prefs
+++ b/bundles/org.eclipse.emf.ecp.cdo.ui/.settings/org.eclipse.pde.api.tools.prefs
@@ -1,3 +1,4 @@
+ANNOTATION_ELEMENT_TYPE_ADDED_FIELD=Error
 ANNOTATION_ELEMENT_TYPE_ADDED_METHOD_WITHOUT_DEFAULT_VALUE=Error
 ANNOTATION_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
 ANNOTATION_ELEMENT_TYPE_REMOVED_FIELD=Error
@@ -10,6 +11,7 @@
 API_USE_SCAN_FIELD_SEVERITY=Error
 API_USE_SCAN_METHOD_SEVERITY=Error
 API_USE_SCAN_TYPE_SEVERITY=Error
+CLASS_ELEMENT_TYPE_ADDED_FIELD=Error
 CLASS_ELEMENT_TYPE_ADDED_METHOD=Error
 CLASS_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
 CLASS_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
@@ -49,6 +51,7 @@
 ILLEGAL_INSTANTIATE=Warning
 ILLEGAL_OVERRIDE=Warning
 ILLEGAL_REFERENCE=Warning
+INTERFACE_ELEMENT_TYPE_ADDED_DEFAULT_METHOD=Ignore
 INTERFACE_ELEMENT_TYPE_ADDED_FIELD=Error
 INTERFACE_ELEMENT_TYPE_ADDED_METHOD=Error
 INTERFACE_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
@@ -60,6 +63,7 @@
 INTERFACE_ELEMENT_TYPE_REMOVED_METHOD=Error
 INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
 INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
+INVALID_ANNOTATION=Warning
 INVALID_JAVADOC_TAG=Warning
 INVALID_REFERENCE_IN_SYSTEM_LIBRARIES=Error
 LEAK_EXTEND=Warning
@@ -86,10 +90,13 @@
 TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error
 UNUSED_PROBLEM_FILTERS=Ignore
 automatically_removed_unused_problem_filters=Disabled
+changed_execution_env=Error
 eclipse.preferences.version=1
 incompatible_api_component_version=Error
 incompatible_api_component_version_include_major_without_breaking_change=Disabled
 incompatible_api_component_version_include_minor_without_api_change=Disabled
+incompatible_api_component_version_report_major_without_breaking_change=Ignore
+incompatible_api_component_version_report_minor_without_api_change=Ignore
 invalid_since_tag_version=Error
 malformed_since_tag=Error
 missing_since_tag=Error
diff --git a/bundles/org.eclipse.emf.ecp.cdo.ui/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.cdo.ui/META-INF/MANIFEST.MF
index e99d5e7..6613c66 100644
--- a/bundles/org.eclipse.emf.ecp.cdo.ui/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.cdo.ui/META-INF/MANIFEST.MF
@@ -2,15 +2,15 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: CDO Model Repository ECP UI
 Bundle-SymbolicName: org.eclipse.emf.ecp.cdo.ui;singleton:=true
-Bundle-Version: 1.21.0.qualifier
+Bundle-Version: 1.22.0.qualifier
 Bundle-Activator: org.eclipse.emf.ecp.cdo.internal.ui.Activator
 Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emf.ecp.cdo.internal.ui;version="1.21.0";x-internal:=true,
- org.eclipse.emf.ecp.cdo.internal.ui.handlers;version="1.21.0";x-internal:=true
+Export-Package: org.eclipse.emf.ecp.cdo.internal.ui;version="1.22.0";x-internal:=true,
+ org.eclipse.emf.ecp.cdo.internal.ui.handlers;version="1.22.0";x-internal:=true
 Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.4.0,4.0.0)",
- org.eclipse.emf.ecp.cdo.core;bundle-version="[1.21.0,1.22.0)",
+ org.eclipse.emf.ecp.cdo.core;bundle-version="[1.22.0,1.23.0)",
  org.eclipse.emf.cdo.edit;bundle-version="[4.0.0,5.0.0)",
- org.eclipse.emf.ecp.ui;bundle-version="[1.21.0,1.22.0)",
+ org.eclipse.emf.ecp.ui;bundle-version="[1.22.0,1.23.0)",
  org.eclipse.net4j.util;bundle-version="[3.0.0,4.0.0)",
  org.eclipse.net4j.util.ui;bundle-version="[3.0.0,4.0.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
diff --git a/bundles/org.eclipse.emf.ecp.cdo.ui/pom.xml b/bundles/org.eclipse.emf.ecp.cdo.ui/pom.xml
index 146327d..c0f55f2 100644
--- a/bundles/org.eclipse.emf.ecp.cdo.ui/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.cdo.ui/pom.xml
@@ -5,12 +5,12 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.21.0-SNAPSHOT</version>
+    <version>1.22.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emf.ecp.cdo.ui</artifactId>
-  <version>1.21.0-SNAPSHOT</version>
+  <version>1.22.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
   
   <properties>
diff --git a/bundles/org.eclipse.emf.ecp.changebroker.provider/.settings/org.eclipse.pde.api.tools.prefs b/bundles/org.eclipse.emf.ecp.changebroker.provider/.settings/org.eclipse.pde.api.tools.prefs
index e4e3c00..cfb400b 100644
--- a/bundles/org.eclipse.emf.ecp.changebroker.provider/.settings/org.eclipse.pde.api.tools.prefs
+++ b/bundles/org.eclipse.emf.ecp.changebroker.provider/.settings/org.eclipse.pde.api.tools.prefs
@@ -1,3 +1,4 @@
+ANNOTATION_ELEMENT_TYPE_ADDED_FIELD=Error
 ANNOTATION_ELEMENT_TYPE_ADDED_METHOD_WITHOUT_DEFAULT_VALUE=Error
 ANNOTATION_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
 ANNOTATION_ELEMENT_TYPE_REMOVED_FIELD=Error
@@ -10,6 +11,7 @@
 API_USE_SCAN_FIELD_SEVERITY=Error
 API_USE_SCAN_METHOD_SEVERITY=Error
 API_USE_SCAN_TYPE_SEVERITY=Error
+CLASS_ELEMENT_TYPE_ADDED_FIELD=Error
 CLASS_ELEMENT_TYPE_ADDED_METHOD=Error
 CLASS_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
 CLASS_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
@@ -49,6 +51,7 @@
 ILLEGAL_INSTANTIATE=Warning
 ILLEGAL_OVERRIDE=Warning
 ILLEGAL_REFERENCE=Warning
+INTERFACE_ELEMENT_TYPE_ADDED_DEFAULT_METHOD=Ignore
 INTERFACE_ELEMENT_TYPE_ADDED_FIELD=Error
 INTERFACE_ELEMENT_TYPE_ADDED_METHOD=Error
 INTERFACE_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
@@ -60,6 +63,7 @@
 INTERFACE_ELEMENT_TYPE_REMOVED_METHOD=Error
 INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
 INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
+INVALID_ANNOTATION=Warning
 INVALID_JAVADOC_TAG=Warning
 INVALID_REFERENCE_IN_SYSTEM_LIBRARIES=Error
 LEAK_EXTEND=Warning
@@ -86,10 +90,13 @@
 TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error
 UNUSED_PROBLEM_FILTERS=Ignore
 automatically_removed_unused_problem_filters=Disabled
+changed_execution_env=Error
 eclipse.preferences.version=1
 incompatible_api_component_version=Error
 incompatible_api_component_version_include_major_without_breaking_change=Disabled
 incompatible_api_component_version_include_minor_without_api_change=Disabled
+incompatible_api_component_version_report_major_without_breaking_change=Ignore
+incompatible_api_component_version_report_minor_without_api_change=Ignore
 invalid_since_tag_version=Error
 malformed_since_tag=Error
 missing_since_tag=Error
diff --git a/bundles/org.eclipse.emf.ecp.changebroker.provider/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.changebroker.provider/META-INF/MANIFEST.MF
index 091d20f..0e5edf5 100644
--- a/bundles/org.eclipse.emf.ecp.changebroker.provider/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.changebroker.provider/META-INF/MANIFEST.MF
@@ -2,12 +2,12 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: ECP Change Broker Provider Bridge
 Bundle-SymbolicName: org.eclipse.emf.ecp.changebroker.provider
-Bundle-Version: 1.21.0.qualifier
+Bundle-Version: 1.22.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emf.ecp.changebroker.provider.internal;version="1.21.0";x-internal:=true
-Require-Bundle: org.eclipse.emf.ecp.changebroker;bundle-version="[1.21.0,1.22.0)",
+Export-Package: org.eclipse.emf.ecp.changebroker.provider.internal;version="1.22.0";x-internal:=true
+Require-Bundle: org.eclipse.emf.ecp.changebroker;bundle-version="[1.22.0,1.23.0)",
  org.eclipse.emf.common;bundle-version="[2.7.0,3.0.0)",
- org.eclipse.emf.ecp.core;bundle-version="[1.21.0,1.22.0)",
+ org.eclipse.emf.ecp.core;bundle-version="[1.22.0,1.23.0)",
  org.eclipse.core.runtime;bundle-version="[3.7.0,4.0.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Automatic-Module-Name: org.eclipse.emf.ecp.changebroker.provider
diff --git a/bundles/org.eclipse.emf.ecp.changebroker.provider/pom.xml b/bundles/org.eclipse.emf.ecp.changebroker.provider/pom.xml
index 2897705..904d1ad 100644
--- a/bundles/org.eclipse.emf.ecp.changebroker.provider/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.changebroker.provider/pom.xml
@@ -5,11 +5,11 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.21.0-SNAPSHOT</version>
+    <version>1.22.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emf.ecp.changebroker.provider</artifactId>
-  <version>1.21.0-SNAPSHOT</version>
+  <version>1.22.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
 </project>
diff --git a/bundles/org.eclipse.emf.ecp.changebroker/.settings/org.eclipse.pde.api.tools.prefs b/bundles/org.eclipse.emf.ecp.changebroker/.settings/org.eclipse.pde.api.tools.prefs
index e4e3c00..cfb400b 100644
--- a/bundles/org.eclipse.emf.ecp.changebroker/.settings/org.eclipse.pde.api.tools.prefs
+++ b/bundles/org.eclipse.emf.ecp.changebroker/.settings/org.eclipse.pde.api.tools.prefs
@@ -1,3 +1,4 @@
+ANNOTATION_ELEMENT_TYPE_ADDED_FIELD=Error
 ANNOTATION_ELEMENT_TYPE_ADDED_METHOD_WITHOUT_DEFAULT_VALUE=Error
 ANNOTATION_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
 ANNOTATION_ELEMENT_TYPE_REMOVED_FIELD=Error
@@ -10,6 +11,7 @@
 API_USE_SCAN_FIELD_SEVERITY=Error
 API_USE_SCAN_METHOD_SEVERITY=Error
 API_USE_SCAN_TYPE_SEVERITY=Error
+CLASS_ELEMENT_TYPE_ADDED_FIELD=Error
 CLASS_ELEMENT_TYPE_ADDED_METHOD=Error
 CLASS_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
 CLASS_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
@@ -49,6 +51,7 @@
 ILLEGAL_INSTANTIATE=Warning
 ILLEGAL_OVERRIDE=Warning
 ILLEGAL_REFERENCE=Warning
+INTERFACE_ELEMENT_TYPE_ADDED_DEFAULT_METHOD=Ignore
 INTERFACE_ELEMENT_TYPE_ADDED_FIELD=Error
 INTERFACE_ELEMENT_TYPE_ADDED_METHOD=Error
 INTERFACE_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
@@ -60,6 +63,7 @@
 INTERFACE_ELEMENT_TYPE_REMOVED_METHOD=Error
 INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
 INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
+INVALID_ANNOTATION=Warning
 INVALID_JAVADOC_TAG=Warning
 INVALID_REFERENCE_IN_SYSTEM_LIBRARIES=Error
 LEAK_EXTEND=Warning
@@ -86,10 +90,13 @@
 TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error
 UNUSED_PROBLEM_FILTERS=Ignore
 automatically_removed_unused_problem_filters=Disabled
+changed_execution_env=Error
 eclipse.preferences.version=1
 incompatible_api_component_version=Error
 incompatible_api_component_version_include_major_without_breaking_change=Disabled
 incompatible_api_component_version_include_minor_without_api_change=Disabled
+incompatible_api_component_version_report_major_without_breaking_change=Ignore
+incompatible_api_component_version_report_minor_without_api_change=Ignore
 invalid_since_tag_version=Error
 malformed_since_tag=Error
 missing_since_tag=Error
diff --git a/bundles/org.eclipse.emf.ecp.changebroker/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.changebroker/META-INF/MANIFEST.MF
index 5d62b37..671f9db 100644
--- a/bundles/org.eclipse.emf.ecp.changebroker/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.changebroker/META-INF/MANIFEST.MF
@@ -2,10 +2,10 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: ECP Change Broker
 Bundle-SymbolicName: org.eclipse.emf.ecp.changebroker
-Bundle-Version: 1.21.0.qualifier
+Bundle-Version: 1.22.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emf.ecp.changebroker.internal;version="1.21.0";x-internal:=true,
- org.eclipse.emf.ecp.changebroker.spi;version="1.21.0"
+Export-Package: org.eclipse.emf.ecp.changebroker.internal;version="1.22.0";x-internal:=true,
+ org.eclipse.emf.ecp.changebroker.spi;version="1.22.0"
 Require-Bundle: org.eclipse.emf.ecore;bundle-version="[2.5.0,3.0.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Automatic-Module-Name: org.eclipse.emf.ecp.changebroker
diff --git a/bundles/org.eclipse.emf.ecp.changebroker/pom.xml b/bundles/org.eclipse.emf.ecp.changebroker/pom.xml
index 7723c6c..53b44b7 100644
--- a/bundles/org.eclipse.emf.ecp.changebroker/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.changebroker/pom.xml
@@ -5,11 +5,11 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.21.0-SNAPSHOT</version>
+    <version>1.22.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emf.ecp.changebroker</artifactId>
-  <version>1.21.0-SNAPSHOT</version>
+  <version>1.22.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
 </project>
diff --git a/bundles/org.eclipse.emf.ecp.common.ui/.settings/org.eclipse.pde.api.tools.prefs b/bundles/org.eclipse.emf.ecp.common.ui/.settings/org.eclipse.pde.api.tools.prefs
index e4e3c00..cfb400b 100644
--- a/bundles/org.eclipse.emf.ecp.common.ui/.settings/org.eclipse.pde.api.tools.prefs
+++ b/bundles/org.eclipse.emf.ecp.common.ui/.settings/org.eclipse.pde.api.tools.prefs
@@ -1,3 +1,4 @@
+ANNOTATION_ELEMENT_TYPE_ADDED_FIELD=Error
 ANNOTATION_ELEMENT_TYPE_ADDED_METHOD_WITHOUT_DEFAULT_VALUE=Error
 ANNOTATION_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
 ANNOTATION_ELEMENT_TYPE_REMOVED_FIELD=Error
@@ -10,6 +11,7 @@
 API_USE_SCAN_FIELD_SEVERITY=Error
 API_USE_SCAN_METHOD_SEVERITY=Error
 API_USE_SCAN_TYPE_SEVERITY=Error
+CLASS_ELEMENT_TYPE_ADDED_FIELD=Error
 CLASS_ELEMENT_TYPE_ADDED_METHOD=Error
 CLASS_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
 CLASS_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
@@ -49,6 +51,7 @@
 ILLEGAL_INSTANTIATE=Warning
 ILLEGAL_OVERRIDE=Warning
 ILLEGAL_REFERENCE=Warning
+INTERFACE_ELEMENT_TYPE_ADDED_DEFAULT_METHOD=Ignore
 INTERFACE_ELEMENT_TYPE_ADDED_FIELD=Error
 INTERFACE_ELEMENT_TYPE_ADDED_METHOD=Error
 INTERFACE_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
@@ -60,6 +63,7 @@
 INTERFACE_ELEMENT_TYPE_REMOVED_METHOD=Error
 INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
 INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
+INVALID_ANNOTATION=Warning
 INVALID_JAVADOC_TAG=Warning
 INVALID_REFERENCE_IN_SYSTEM_LIBRARIES=Error
 LEAK_EXTEND=Warning
@@ -86,10 +90,13 @@
 TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error
 UNUSED_PROBLEM_FILTERS=Ignore
 automatically_removed_unused_problem_filters=Disabled
+changed_execution_env=Error
 eclipse.preferences.version=1
 incompatible_api_component_version=Error
 incompatible_api_component_version_include_major_without_breaking_change=Disabled
 incompatible_api_component_version_include_minor_without_api_change=Disabled
+incompatible_api_component_version_report_major_without_breaking_change=Ignore
+incompatible_api_component_version_report_minor_without_api_change=Ignore
 invalid_since_tag_version=Error
 malformed_since_tag=Error
 missing_since_tag=Error
diff --git a/bundles/org.eclipse.emf.ecp.common.ui/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.common.ui/META-INF/MANIFEST.MF
index a990809..895be28 100644
--- a/bundles/org.eclipse.emf.ecp.common.ui/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.common.ui/META-INF/MANIFEST.MF
@@ -2,15 +2,15 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: Common UI
 Bundle-SymbolicName: org.eclipse.emf.ecp.common.ui
-Bundle-Version: 1.21.0.qualifier
+Bundle-Version: 1.22.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emf.ecp.internal.common.ui;version="1.21.0";x-internal:=true,
- org.eclipse.emf.ecp.spi.common.ui;version="1.21.0",
- org.eclipse.emf.ecp.spi.common.ui.composites;version="1.21.0"
+Export-Package: org.eclipse.emf.ecp.internal.common.ui;version="1.22.0";x-internal:=true,
+ org.eclipse.emf.ecp.spi.common.ui;version="1.22.0",
+ org.eclipse.emf.ecp.spi.common.ui.composites;version="1.22.0"
 Require-Bundle: org.eclipse.emf.ecore;bundle-version="[2.8.0,3.0.0)",
  org.eclipse.emf.edit;bundle-version="[2.8.0,3.0.0)",
- org.eclipse.emf.ecp.common;bundle-version="[1.21.0,1.22.0)",
- org.eclipse.emfforms.localization;bundle-version="[1.21.0,1.22.0)"
+ org.eclipse.emf.ecp.common;bundle-version="[1.22.0,1.23.0)",
+ org.eclipse.emfforms.localization;bundle-version="[1.22.0,1.23.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Automatic-Module-Name: org.eclipse.emf.ecp.common.ui
 Import-Package: org.eclipse.emf.edit.ui.provider;version="0.0.0",
diff --git a/bundles/org.eclipse.emf.ecp.common.ui/pom.xml b/bundles/org.eclipse.emf.ecp.common.ui/pom.xml
index c653b0f..ed9106e 100644
--- a/bundles/org.eclipse.emf.ecp.common.ui/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.common.ui/pom.xml
@@ -5,12 +5,12 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.21.0-SNAPSHOT</version>
+    <version>1.22.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emf.ecp.common.ui</artifactId>
-  <version>1.21.0-SNAPSHOT</version>
+  <version>1.22.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
   
   <properties>
diff --git a/bundles/org.eclipse.emf.ecp.common.ui/src/org/eclipse/emf/ecp/spi/common/ui/SelectModelElementWizardFactory.java b/bundles/org.eclipse.emf.ecp.common.ui/src/org/eclipse/emf/ecp/spi/common/ui/SelectModelElementWizardFactory.java
index f3ff13b..95b1a69 100644
--- a/bundles/org.eclipse.emf.ecp.common.ui/src/org/eclipse/emf/ecp/spi/common/ui/SelectModelElementWizardFactory.java
+++ b/bundles/org.eclipse.emf.ecp.common.ui/src/org/eclipse/emf/ecp/spi/common/ui/SelectModelElementWizardFactory.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2011-2014 EclipseSource Muenchen GmbH and others.
+ * Copyright (c) 2011-2019 EclipseSource Muenchen GmbH and others.
  *
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License 2.0
@@ -10,6 +10,7 @@
  *
  * Contributors:
  * Jonas - initial API and implementation
+ * Christian W. Damus - bug 547787
  ******************************************************************************/
 package org.eclipse.emf.ecp.spi.common.ui;
 
@@ -22,6 +23,7 @@
 import org.eclipse.emf.ecp.internal.common.ui.MessageKeys;
 import org.eclipse.emf.ecp.spi.common.ui.composites.SelectionComposite;
 import org.eclipse.emfforms.spi.localization.LocalizationServiceHelper;
+import org.eclipse.jface.viewers.StructuredViewer;
 import org.eclipse.jface.viewers.TableViewer;
 import org.eclipse.jface.viewers.TreeViewer;
 import org.eclipse.jface.window.Window;
@@ -42,13 +44,31 @@
 	 *
 	 * @param <T> the type to select
 	 */
-	@SuppressWarnings("unchecked")
 	public static <T extends EObject> Set<T> openModelElementSelectionDialog(
 		final Set<T> elements, boolean isMany) {
 
 		final SelectionComposite<TableViewer> tableSelectionComposite = CompositeFactory
 			.getTableSelectionComposite(elements.toArray(), isMany);
 
+		return openModelElementSelectionDialog(tableSelectionComposite);
+	}
+
+	/**
+	 * Open a model element selection dialog using a specific table selection composite.
+	 *
+	 * @param tableSelectionComposite a table selection composite to use in the dialog
+	 *
+	 * @return the selected elements
+	 *
+	 * @param <T> the type of object to select
+	 * @param <V> the type of viewer to present
+	 *
+	 * @since 1.22
+	 */
+	@SuppressWarnings("unchecked")
+	public static <T extends EObject, V extends StructuredViewer> Set<T> openModelElementSelectionDialog(
+		SelectionComposite<V> tableSelectionComposite) {
+
 		final SelectModelElementWizard wizard = new SelectModelElementWizard(
 			LocalizationServiceHelper.getString(SelectModelElementWizardFactory.class,
 				MessageKeys.SelectModelElementWizardFactory_ModelelementSelectionDialog_WindowTitle),
diff --git a/bundles/org.eclipse.emf.ecp.common/.settings/org.eclipse.pde.api.tools.prefs b/bundles/org.eclipse.emf.ecp.common/.settings/org.eclipse.pde.api.tools.prefs
index e4e3c00..cfb400b 100644
--- a/bundles/org.eclipse.emf.ecp.common/.settings/org.eclipse.pde.api.tools.prefs
+++ b/bundles/org.eclipse.emf.ecp.common/.settings/org.eclipse.pde.api.tools.prefs
@@ -1,3 +1,4 @@
+ANNOTATION_ELEMENT_TYPE_ADDED_FIELD=Error
 ANNOTATION_ELEMENT_TYPE_ADDED_METHOD_WITHOUT_DEFAULT_VALUE=Error
 ANNOTATION_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
 ANNOTATION_ELEMENT_TYPE_REMOVED_FIELD=Error
@@ -10,6 +11,7 @@
 API_USE_SCAN_FIELD_SEVERITY=Error
 API_USE_SCAN_METHOD_SEVERITY=Error
 API_USE_SCAN_TYPE_SEVERITY=Error
+CLASS_ELEMENT_TYPE_ADDED_FIELD=Error
 CLASS_ELEMENT_TYPE_ADDED_METHOD=Error
 CLASS_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
 CLASS_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
@@ -49,6 +51,7 @@
 ILLEGAL_INSTANTIATE=Warning
 ILLEGAL_OVERRIDE=Warning
 ILLEGAL_REFERENCE=Warning
+INTERFACE_ELEMENT_TYPE_ADDED_DEFAULT_METHOD=Ignore
 INTERFACE_ELEMENT_TYPE_ADDED_FIELD=Error
 INTERFACE_ELEMENT_TYPE_ADDED_METHOD=Error
 INTERFACE_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
@@ -60,6 +63,7 @@
 INTERFACE_ELEMENT_TYPE_REMOVED_METHOD=Error
 INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
 INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
+INVALID_ANNOTATION=Warning
 INVALID_JAVADOC_TAG=Warning
 INVALID_REFERENCE_IN_SYSTEM_LIBRARIES=Error
 LEAK_EXTEND=Warning
@@ -86,10 +90,13 @@
 TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error
 UNUSED_PROBLEM_FILTERS=Ignore
 automatically_removed_unused_problem_filters=Disabled
+changed_execution_env=Error
 eclipse.preferences.version=1
 incompatible_api_component_version=Error
 incompatible_api_component_version_include_major_without_breaking_change=Disabled
 incompatible_api_component_version_include_minor_without_api_change=Disabled
+incompatible_api_component_version_report_major_without_breaking_change=Ignore
+incompatible_api_component_version_report_minor_without_api_change=Ignore
 invalid_since_tag_version=Error
 malformed_since_tag=Error
 missing_since_tag=Error
diff --git a/bundles/org.eclipse.emf.ecp.common/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.common/META-INF/MANIFEST.MF
index 79b248c..30416a1 100644
--- a/bundles/org.eclipse.emf.ecp.common/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.common/META-INF/MANIFEST.MF
@@ -2,11 +2,11 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: ECP Common
 Bundle-SymbolicName: org.eclipse.emf.ecp.common
-Bundle-Version: 1.21.0.qualifier
+Bundle-Version: 1.22.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emf.ecp.common.spi;version="1.21.0",
- org.eclipse.emf.ecp.common.spi.asserts;version="1.21.0",
- org.eclipse.emf.ecp.common.spi.cachetree;version="1.21.0"
+Export-Package: org.eclipse.emf.ecp.common.spi;version="1.22.0",
+ org.eclipse.emf.ecp.common.spi.asserts;version="1.22.0",
+ org.eclipse.emf.ecp.common.spi.cachetree;version="1.22.0"
 Require-Bundle: org.eclipse.emf.ecore;bundle-version="[2.8.0,3.0.0)",
  org.eclipse.emf.edit;bundle-version="[2.8.0,3.0.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
diff --git a/bundles/org.eclipse.emf.ecp.common/pom.xml b/bundles/org.eclipse.emf.ecp.common/pom.xml
index 264b7a5..3515a33 100644
--- a/bundles/org.eclipse.emf.ecp.common/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.common/pom.xml
@@ -5,12 +5,12 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.21.0-SNAPSHOT</version>
+    <version>1.22.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emf.ecp.common</artifactId>
-  <version>1.21.0-SNAPSHOT</version>
+  <version>1.22.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
   
   <properties>
diff --git a/bundles/org.eclipse.emf.ecp.core.emffilter/.settings/org.eclipse.pde.api.tools.prefs b/bundles/org.eclipse.emf.ecp.core.emffilter/.settings/org.eclipse.pde.api.tools.prefs
index e4e3c00..cfb400b 100644
--- a/bundles/org.eclipse.emf.ecp.core.emffilter/.settings/org.eclipse.pde.api.tools.prefs
+++ b/bundles/org.eclipse.emf.ecp.core.emffilter/.settings/org.eclipse.pde.api.tools.prefs
@@ -1,3 +1,4 @@
+ANNOTATION_ELEMENT_TYPE_ADDED_FIELD=Error
 ANNOTATION_ELEMENT_TYPE_ADDED_METHOD_WITHOUT_DEFAULT_VALUE=Error
 ANNOTATION_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
 ANNOTATION_ELEMENT_TYPE_REMOVED_FIELD=Error
@@ -10,6 +11,7 @@
 API_USE_SCAN_FIELD_SEVERITY=Error
 API_USE_SCAN_METHOD_SEVERITY=Error
 API_USE_SCAN_TYPE_SEVERITY=Error
+CLASS_ELEMENT_TYPE_ADDED_FIELD=Error
 CLASS_ELEMENT_TYPE_ADDED_METHOD=Error
 CLASS_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
 CLASS_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
@@ -49,6 +51,7 @@
 ILLEGAL_INSTANTIATE=Warning
 ILLEGAL_OVERRIDE=Warning
 ILLEGAL_REFERENCE=Warning
+INTERFACE_ELEMENT_TYPE_ADDED_DEFAULT_METHOD=Ignore
 INTERFACE_ELEMENT_TYPE_ADDED_FIELD=Error
 INTERFACE_ELEMENT_TYPE_ADDED_METHOD=Error
 INTERFACE_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
@@ -60,6 +63,7 @@
 INTERFACE_ELEMENT_TYPE_REMOVED_METHOD=Error
 INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
 INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
+INVALID_ANNOTATION=Warning
 INVALID_JAVADOC_TAG=Warning
 INVALID_REFERENCE_IN_SYSTEM_LIBRARIES=Error
 LEAK_EXTEND=Warning
@@ -86,10 +90,13 @@
 TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error
 UNUSED_PROBLEM_FILTERS=Ignore
 automatically_removed_unused_problem_filters=Disabled
+changed_execution_env=Error
 eclipse.preferences.version=1
 incompatible_api_component_version=Error
 incompatible_api_component_version_include_major_without_breaking_change=Disabled
 incompatible_api_component_version_include_minor_without_api_change=Disabled
+incompatible_api_component_version_report_major_without_breaking_change=Ignore
+incompatible_api_component_version_report_minor_without_api_change=Ignore
 invalid_since_tag_version=Error
 malformed_since_tag=Error
 missing_since_tag=Error
diff --git a/bundles/org.eclipse.emf.ecp.core.emffilter/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.core.emffilter/META-INF/MANIFEST.MF
index 00a7f3a..2c00846 100644
--- a/bundles/org.eclipse.emf.ecp.core.emffilter/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.core.emffilter/META-INF/MANIFEST.MF
@@ -2,12 +2,12 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: ECP Emffilter
 Bundle-SymbolicName: org.eclipse.emf.ecp.core.emffilter;singleton:=true
-Bundle-Version: 1.21.0.qualifier
+Bundle-Version: 1.22.0.qualifier
 Bundle-Activator: org.eclipse.emf.ecp.core.emffilter.internal.Activator
 Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emf.ecp.core.emffilter.internal;version="1.21.0";x-internal:=true
+Export-Package: org.eclipse.emf.ecp.core.emffilter.internal;version="1.22.0";x-internal:=true
 Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.6.0,4.0.0)",
- org.eclipse.emf.ecp.core;bundle-version="[1.21.0,1.22.0)"
+ org.eclipse.emf.ecp.core;bundle-version="[1.22.0,1.23.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Automatic-Module-Name: org.eclipse.emf.ecp.core.emffilter
 Bundle-ActivationPolicy: lazy
diff --git a/bundles/org.eclipse.emf.ecp.core.emffilter/pom.xml b/bundles/org.eclipse.emf.ecp.core.emffilter/pom.xml
index 34ef5a2..c0f3e1d 100644
--- a/bundles/org.eclipse.emf.ecp.core.emffilter/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.core.emffilter/pom.xml
@@ -5,11 +5,11 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.21.0-SNAPSHOT</version>
+    <version>1.22.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emf.ecp.core.emffilter</artifactId>
-  <version>1.21.0-SNAPSHOT</version>
+  <version>1.22.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
 </project>
diff --git a/bundles/org.eclipse.emf.ecp.core.emffilter/src/org/eclipse/emf/ecp/core/emffilter/internal/DefaultFilter.java b/bundles/org.eclipse.emf.ecp.core.emffilter/src/org/eclipse/emf/ecp/core/emffilter/internal/DefaultFilter.java
index cefd728..461c5ac 100644
--- a/bundles/org.eclipse.emf.ecp.core.emffilter/src/org/eclipse/emf/ecp/core/emffilter/internal/DefaultFilter.java
+++ b/bundles/org.eclipse.emf.ecp.core.emffilter/src/org/eclipse/emf/ecp/core/emffilter/internal/DefaultFilter.java
@@ -132,6 +132,9 @@
 		packages.add("http://org/eclipse/emfforms/view/multisegment/model/1190"); //$NON-NLS-1$
 		packages.add("http://org/eclipse/emfforms/view/mappingsegment/model/1190"); //$NON-NLS-1$
 		packages.add("http://org/eclipse/emfforms/view/indexsegment/model/1190"); //$NON-NLS-1$
+
+		// reference service
+		packages.add("http://www.eclipse.org/emf/ecp/view/reference/table/selection"); //$NON-NLS-1$
 	}
 
 	private void addQ7Models1(Set<String> packages) {
diff --git a/bundles/org.eclipse.emf.ecp.core.rap.sessionprovider.rwt/.settings/org.eclipse.pde.api.tools.prefs b/bundles/org.eclipse.emf.ecp.core.rap.sessionprovider.rwt/.settings/org.eclipse.pde.api.tools.prefs
index e4e3c00..cfb400b 100644
--- a/bundles/org.eclipse.emf.ecp.core.rap.sessionprovider.rwt/.settings/org.eclipse.pde.api.tools.prefs
+++ b/bundles/org.eclipse.emf.ecp.core.rap.sessionprovider.rwt/.settings/org.eclipse.pde.api.tools.prefs
@@ -1,3 +1,4 @@
+ANNOTATION_ELEMENT_TYPE_ADDED_FIELD=Error
 ANNOTATION_ELEMENT_TYPE_ADDED_METHOD_WITHOUT_DEFAULT_VALUE=Error
 ANNOTATION_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
 ANNOTATION_ELEMENT_TYPE_REMOVED_FIELD=Error
@@ -10,6 +11,7 @@
 API_USE_SCAN_FIELD_SEVERITY=Error
 API_USE_SCAN_METHOD_SEVERITY=Error
 API_USE_SCAN_TYPE_SEVERITY=Error
+CLASS_ELEMENT_TYPE_ADDED_FIELD=Error
 CLASS_ELEMENT_TYPE_ADDED_METHOD=Error
 CLASS_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
 CLASS_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
@@ -49,6 +51,7 @@
 ILLEGAL_INSTANTIATE=Warning
 ILLEGAL_OVERRIDE=Warning
 ILLEGAL_REFERENCE=Warning
+INTERFACE_ELEMENT_TYPE_ADDED_DEFAULT_METHOD=Ignore
 INTERFACE_ELEMENT_TYPE_ADDED_FIELD=Error
 INTERFACE_ELEMENT_TYPE_ADDED_METHOD=Error
 INTERFACE_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
@@ -60,6 +63,7 @@
 INTERFACE_ELEMENT_TYPE_REMOVED_METHOD=Error
 INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
 INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
+INVALID_ANNOTATION=Warning
 INVALID_JAVADOC_TAG=Warning
 INVALID_REFERENCE_IN_SYSTEM_LIBRARIES=Error
 LEAK_EXTEND=Warning
@@ -86,10 +90,13 @@
 TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error
 UNUSED_PROBLEM_FILTERS=Ignore
 automatically_removed_unused_problem_filters=Disabled
+changed_execution_env=Error
 eclipse.preferences.version=1
 incompatible_api_component_version=Error
 incompatible_api_component_version_include_major_without_breaking_change=Disabled
 incompatible_api_component_version_include_minor_without_api_change=Disabled
+incompatible_api_component_version_report_major_without_breaking_change=Ignore
+incompatible_api_component_version_report_minor_without_api_change=Ignore
 invalid_since_tag_version=Error
 malformed_since_tag=Error
 missing_since_tag=Error
diff --git a/bundles/org.eclipse.emf.ecp.core.rap.sessionprovider.rwt/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.core.rap.sessionprovider.rwt/META-INF/MANIFEST.MF
index 36e67c0..c26aab7 100644
--- a/bundles/org.eclipse.emf.ecp.core.rap.sessionprovider.rwt/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.core.rap.sessionprovider.rwt/META-INF/MANIFEST.MF
@@ -2,15 +2,15 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: ECP Core RAP Sessionprovider
 Bundle-SymbolicName: org.eclipse.emf.ecp.core.rap.sessionprovider.rwt
-Bundle-Version: 1.21.0.qualifier
+Bundle-Version: 1.22.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emf.ecp.core.rap.sessionprovider.rwt;version="1.21.0"
-Require-Bundle: org.eclipse.emf.ecp.core.rap;bundle-version="[1.21.0,1.22.0)"
+Export-Package: org.eclipse.emf.ecp.core.rap.sessionprovider.rwt;version="1.22.0"
+Require-Bundle: org.eclipse.emf.ecp.core.rap;bundle-version="[1.22.0,1.23.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Service-Component: OSGI-INF/component.xml
 Bundle-ActivationPolicy: lazy
 Import-Package: javax.servlet.http;version="0.0.0",
- org.eclipse.emf.ecp.core.rap;version="[1.21.0,1.22.0)",
+ org.eclipse.emf.ecp.core.rap;version="[1.22.0,1.23.0)",
  org.eclipse.rap.rwt;version="0.0.0",
  org.eclipse.rap.rwt.service;version="3.0.2"
 Automatic-Module-Name: org.eclipse.emf.ecp.core.rap.sessionprovider.rwt
diff --git a/bundles/org.eclipse.emf.ecp.core.rap.sessionprovider.rwt/pom.xml b/bundles/org.eclipse.emf.ecp.core.rap.sessionprovider.rwt/pom.xml
index 69b24c4..c2ecb89 100644
--- a/bundles/org.eclipse.emf.ecp.core.rap.sessionprovider.rwt/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.core.rap.sessionprovider.rwt/pom.xml
@@ -5,11 +5,11 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.21.0-SNAPSHOT</version>
+    <version>1.22.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emf.ecp.core.rap.sessionprovider.rwt</artifactId>
-  <version>1.21.0-SNAPSHOT</version>
+  <version>1.22.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
 </project>
diff --git a/bundles/org.eclipse.emf.ecp.core.rap/.settings/org.eclipse.pde.api.tools.prefs b/bundles/org.eclipse.emf.ecp.core.rap/.settings/org.eclipse.pde.api.tools.prefs
index e4e3c00..cfb400b 100644
--- a/bundles/org.eclipse.emf.ecp.core.rap/.settings/org.eclipse.pde.api.tools.prefs
+++ b/bundles/org.eclipse.emf.ecp.core.rap/.settings/org.eclipse.pde.api.tools.prefs
@@ -1,3 +1,4 @@
+ANNOTATION_ELEMENT_TYPE_ADDED_FIELD=Error
 ANNOTATION_ELEMENT_TYPE_ADDED_METHOD_WITHOUT_DEFAULT_VALUE=Error
 ANNOTATION_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
 ANNOTATION_ELEMENT_TYPE_REMOVED_FIELD=Error
@@ -10,6 +11,7 @@
 API_USE_SCAN_FIELD_SEVERITY=Error
 API_USE_SCAN_METHOD_SEVERITY=Error
 API_USE_SCAN_TYPE_SEVERITY=Error
+CLASS_ELEMENT_TYPE_ADDED_FIELD=Error
 CLASS_ELEMENT_TYPE_ADDED_METHOD=Error
 CLASS_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
 CLASS_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
@@ -49,6 +51,7 @@
 ILLEGAL_INSTANTIATE=Warning
 ILLEGAL_OVERRIDE=Warning
 ILLEGAL_REFERENCE=Warning
+INTERFACE_ELEMENT_TYPE_ADDED_DEFAULT_METHOD=Ignore
 INTERFACE_ELEMENT_TYPE_ADDED_FIELD=Error
 INTERFACE_ELEMENT_TYPE_ADDED_METHOD=Error
 INTERFACE_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
@@ -60,6 +63,7 @@
 INTERFACE_ELEMENT_TYPE_REMOVED_METHOD=Error
 INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
 INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
+INVALID_ANNOTATION=Warning
 INVALID_JAVADOC_TAG=Warning
 INVALID_REFERENCE_IN_SYSTEM_LIBRARIES=Error
 LEAK_EXTEND=Warning
@@ -86,10 +90,13 @@
 TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error
 UNUSED_PROBLEM_FILTERS=Ignore
 automatically_removed_unused_problem_filters=Disabled
+changed_execution_env=Error
 eclipse.preferences.version=1
 incompatible_api_component_version=Error
 incompatible_api_component_version_include_major_without_breaking_change=Disabled
 incompatible_api_component_version_include_minor_without_api_change=Disabled
+incompatible_api_component_version_report_major_without_breaking_change=Ignore
+incompatible_api_component_version_report_minor_without_api_change=Ignore
 invalid_since_tag_version=Error
 malformed_since_tag=Error
 missing_since_tag=Error
diff --git a/bundles/org.eclipse.emf.ecp.core.rap/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.core.rap/META-INF/MANIFEST.MF
index 67da3e4..e3fb877 100644
--- a/bundles/org.eclipse.emf.ecp.core.rap/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.core.rap/META-INF/MANIFEST.MF
@@ -2,12 +2,12 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: ECP Core RAP
 Bundle-SymbolicName: org.eclipse.emf.ecp.core.rap
-Bundle-Version: 1.21.0.qualifier
+Bundle-Version: 1.22.0.qualifier
 Bundle-Activator: org.eclipse.emf.ecp.core.rap.Activator
 Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emf.ecp.core.rap;version="1.21.0"
+Export-Package: org.eclipse.emf.ecp.core.rap;version="1.22.0"
 Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.7.0,4.0.0)",
- org.eclipse.emf.ecp.core;bundle-version="[1.21.0,1.22.0)"
+ org.eclipse.emf.ecp.core;bundle-version="[1.22.0,1.23.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Bundle-ActivationPolicy: lazy
 Import-Package: org.eclipse.core.runtime;version="0.0.0",
diff --git a/bundles/org.eclipse.emf.ecp.core.rap/pom.xml b/bundles/org.eclipse.emf.ecp.core.rap/pom.xml
index f729e5c..62e91b3 100644
--- a/bundles/org.eclipse.emf.ecp.core.rap/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.core.rap/pom.xml
@@ -5,11 +5,11 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.21.0-SNAPSHOT</version>
+    <version>1.22.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emf.ecp.core.rap</artifactId>
-  <version>1.21.0-SNAPSHOT</version>
+  <version>1.22.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
 </project>
diff --git a/bundles/org.eclipse.emf.ecp.core/.settings/org.eclipse.pde.api.tools.prefs b/bundles/org.eclipse.emf.ecp.core/.settings/org.eclipse.pde.api.tools.prefs
index e4e3c00..cfb400b 100644
--- a/bundles/org.eclipse.emf.ecp.core/.settings/org.eclipse.pde.api.tools.prefs
+++ b/bundles/org.eclipse.emf.ecp.core/.settings/org.eclipse.pde.api.tools.prefs
@@ -1,3 +1,4 @@
+ANNOTATION_ELEMENT_TYPE_ADDED_FIELD=Error
 ANNOTATION_ELEMENT_TYPE_ADDED_METHOD_WITHOUT_DEFAULT_VALUE=Error
 ANNOTATION_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
 ANNOTATION_ELEMENT_TYPE_REMOVED_FIELD=Error
@@ -10,6 +11,7 @@
 API_USE_SCAN_FIELD_SEVERITY=Error
 API_USE_SCAN_METHOD_SEVERITY=Error
 API_USE_SCAN_TYPE_SEVERITY=Error
+CLASS_ELEMENT_TYPE_ADDED_FIELD=Error
 CLASS_ELEMENT_TYPE_ADDED_METHOD=Error
 CLASS_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
 CLASS_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
@@ -49,6 +51,7 @@
 ILLEGAL_INSTANTIATE=Warning
 ILLEGAL_OVERRIDE=Warning
 ILLEGAL_REFERENCE=Warning
+INTERFACE_ELEMENT_TYPE_ADDED_DEFAULT_METHOD=Ignore
 INTERFACE_ELEMENT_TYPE_ADDED_FIELD=Error
 INTERFACE_ELEMENT_TYPE_ADDED_METHOD=Error
 INTERFACE_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
@@ -60,6 +63,7 @@
 INTERFACE_ELEMENT_TYPE_REMOVED_METHOD=Error
 INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
 INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
+INVALID_ANNOTATION=Warning
 INVALID_JAVADOC_TAG=Warning
 INVALID_REFERENCE_IN_SYSTEM_LIBRARIES=Error
 LEAK_EXTEND=Warning
@@ -86,10 +90,13 @@
 TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error
 UNUSED_PROBLEM_FILTERS=Ignore
 automatically_removed_unused_problem_filters=Disabled
+changed_execution_env=Error
 eclipse.preferences.version=1
 incompatible_api_component_version=Error
 incompatible_api_component_version_include_major_without_breaking_change=Disabled
 incompatible_api_component_version_include_minor_without_api_change=Disabled
+incompatible_api_component_version_report_major_without_breaking_change=Ignore
+incompatible_api_component_version_report_minor_without_api_change=Ignore
 invalid_since_tag_version=Error
 malformed_since_tag=Error
 missing_since_tag=Error
diff --git a/bundles/org.eclipse.emf.ecp.core/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.core/META-INF/MANIFEST.MF
index bbd9527..825f075 100644
--- a/bundles/org.eclipse.emf.ecp.core/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.core/META-INF/MANIFEST.MF
@@ -2,30 +2,30 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: ECP Core
 Bundle-SymbolicName: org.eclipse.emf.ecp.core;singleton:=true
-Bundle-Version: 1.21.0.qualifier
+Bundle-Version: 1.22.0.qualifier
 Bundle-Activator: org.eclipse.emf.ecp.internal.core.Activator
 Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emf.ecp.core;version="1.21.0",
- org.eclipse.emf.ecp.core.exceptions;version="1.21.0",
- org.eclipse.emf.ecp.core.util;version="1.21.0",
- org.eclipse.emf.ecp.core.util.observer;version="1.21.0",
- org.eclipse.emf.ecp.internal.core;version="1.21.0";
+Export-Package: org.eclipse.emf.ecp.core;version="1.22.0",
+ org.eclipse.emf.ecp.core.exceptions;version="1.22.0",
+ org.eclipse.emf.ecp.core.util;version="1.22.0",
+ org.eclipse.emf.ecp.core.util.observer;version="1.22.0",
+ org.eclipse.emf.ecp.internal.core;version="1.22.0";
   x-friends:="org.eclipse.emf.ecp.ui,
    org.eclipse.emf.ecp.ui.view.test,
    org.eclipse.emf.ecp.edit.ecore.swt,
    org.eclipse.emf.ecp.core.rap",
- org.eclipse.emf.ecp.internal.core.properties;version="1.21.0";x-internal:=true,
- org.eclipse.emf.ecp.internal.core.util;version="1.21.0";x-friends:="org.eclipse.emf.ecp.ui",
- org.eclipse.emf.ecp.internal.core.util.observer;version="1.21.0";x-friends:="org.eclipse.emf.ecp.core.rap",
- org.eclipse.emf.ecp.spi.core;version="1.21.0",
- org.eclipse.emf.ecp.spi.core.util;version="1.21.0"
+ org.eclipse.emf.ecp.internal.core.properties;version="1.22.0";x-internal:=true,
+ org.eclipse.emf.ecp.internal.core.util;version="1.22.0";x-friends:="org.eclipse.emf.ecp.ui",
+ org.eclipse.emf.ecp.internal.core.util.observer;version="1.22.0";x-friends:="org.eclipse.emf.ecp.core.rap",
+ org.eclipse.emf.ecp.spi.core;version="1.22.0",
+ org.eclipse.emf.ecp.spi.core.util;version="1.22.0"
 Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.4.0,4.0.0)",
  org.eclipse.core.expressions;bundle-version="[3.4.0,4.0.0)";resolution:=optional,
  org.eclipse.emf.ecore;bundle-version="[2.5.0,3.0.0)";visibility:=reexport,
  org.eclipse.emf.edit;bundle-version="[2.5.0,3.0.0)";visibility:=reexport,
  org.eclipse.net4j.util;bundle-version="[3.0.0,4.0.0)",
- org.eclipse.emf.ecp.common;bundle-version="[1.21.0,1.22.0)"
-Import-Package: org.eclipse.emfforms.common;version="[1.21.0,1.22.0)"
+ org.eclipse.emf.ecp.common;bundle-version="[1.22.0,1.23.0)"
+Import-Package: org.eclipse.emfforms.common;version="[1.22.0,1.23.0)"
 Automatic-Module-Name: org.eclipse.emf.ecp.core
 Service-Component: OSGI-INF/ecpProviderRegistry.xml,OSGI-INF/ecpRepositoryManager.xml,OSGI-INF/ecpProjectManager.xml,OSGI-INF/ecpObserverBus.xml
 Bundle-ActivationPolicy: lazy
diff --git a/bundles/org.eclipse.emf.ecp.core/pom.xml b/bundles/org.eclipse.emf.ecp.core/pom.xml
index 655eb01..bc4d007 100644
--- a/bundles/org.eclipse.emf.ecp.core/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.core/pom.xml
@@ -5,12 +5,12 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.21.0-SNAPSHOT</version>
+    <version>1.22.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emf.ecp.core</artifactId>
-  <version>1.21.0-SNAPSHOT</version>
+  <version>1.22.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
   
   <properties>
diff --git a/bundles/org.eclipse.emf.ecp.diagnostician/.settings/org.eclipse.pde.api.tools.prefs b/bundles/org.eclipse.emf.ecp.diagnostician/.settings/org.eclipse.pde.api.tools.prefs
index e4e3c00..cfb400b 100644
--- a/bundles/org.eclipse.emf.ecp.diagnostician/.settings/org.eclipse.pde.api.tools.prefs
+++ b/bundles/org.eclipse.emf.ecp.diagnostician/.settings/org.eclipse.pde.api.tools.prefs
@@ -1,3 +1,4 @@
+ANNOTATION_ELEMENT_TYPE_ADDED_FIELD=Error
 ANNOTATION_ELEMENT_TYPE_ADDED_METHOD_WITHOUT_DEFAULT_VALUE=Error
 ANNOTATION_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
 ANNOTATION_ELEMENT_TYPE_REMOVED_FIELD=Error
@@ -10,6 +11,7 @@
 API_USE_SCAN_FIELD_SEVERITY=Error
 API_USE_SCAN_METHOD_SEVERITY=Error
 API_USE_SCAN_TYPE_SEVERITY=Error
+CLASS_ELEMENT_TYPE_ADDED_FIELD=Error
 CLASS_ELEMENT_TYPE_ADDED_METHOD=Error
 CLASS_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
 CLASS_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
@@ -49,6 +51,7 @@
 ILLEGAL_INSTANTIATE=Warning
 ILLEGAL_OVERRIDE=Warning
 ILLEGAL_REFERENCE=Warning
+INTERFACE_ELEMENT_TYPE_ADDED_DEFAULT_METHOD=Ignore
 INTERFACE_ELEMENT_TYPE_ADDED_FIELD=Error
 INTERFACE_ELEMENT_TYPE_ADDED_METHOD=Error
 INTERFACE_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
@@ -60,6 +63,7 @@
 INTERFACE_ELEMENT_TYPE_REMOVED_METHOD=Error
 INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
 INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
+INVALID_ANNOTATION=Warning
 INVALID_JAVADOC_TAG=Warning
 INVALID_REFERENCE_IN_SYSTEM_LIBRARIES=Error
 LEAK_EXTEND=Warning
@@ -86,10 +90,13 @@
 TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error
 UNUSED_PROBLEM_FILTERS=Ignore
 automatically_removed_unused_problem_filters=Disabled
+changed_execution_env=Error
 eclipse.preferences.version=1
 incompatible_api_component_version=Error
 incompatible_api_component_version_include_major_without_breaking_change=Disabled
 incompatible_api_component_version_include_minor_without_api_change=Disabled
+incompatible_api_component_version_report_major_without_breaking_change=Ignore
+incompatible_api_component_version_report_minor_without_api_change=Ignore
 invalid_since_tag_version=Error
 malformed_since_tag=Error
 missing_since_tag=Error
diff --git a/bundles/org.eclipse.emf.ecp.diagnostician/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.diagnostician/META-INF/MANIFEST.MF
index 8110fd1..196e654 100644
--- a/bundles/org.eclipse.emf.ecp.diagnostician/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.diagnostician/META-INF/MANIFEST.MF
@@ -2,11 +2,11 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: ECP Diagnostician
 Bundle-SymbolicName: org.eclipse.emf.ecp.validation.diagnostician;singleton:=true
-Bundle-Version: 1.21.0.qualifier
+Bundle-Version: 1.22.0.qualifier
 Bundle-Activator: org.eclipse.emf.ecp.internal.diagnostician.Activator
 Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emf.ecp.diagnostician;version="1.21.0";x-friends:="org.eclipse.emf.ecp.ui.validation.e4,org.eclipse.emf.ecp.ui.validation.test",
- org.eclipse.emf.ecp.internal.diagnostician;version="1.21.0";x-internal:=true
+Export-Package: org.eclipse.emf.ecp.diagnostician;version="1.22.0";x-friends:="org.eclipse.emf.ecp.ui.validation.e4,org.eclipse.emf.ecp.ui.validation.test",
+ org.eclipse.emf.ecp.internal.diagnostician;version="1.22.0";x-internal:=true
 Require-Bundle: org.eclipse.emf.ecore;bundle-version="[2.8.0,3.0.0)",
  org.eclipse.core.runtime;bundle-version="[3.4.0,4.0.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
diff --git a/bundles/org.eclipse.emf.ecp.diagnostician/pom.xml b/bundles/org.eclipse.emf.ecp.diagnostician/pom.xml
index fc508f2..1e4d161 100644
--- a/bundles/org.eclipse.emf.ecp.diagnostician/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.diagnostician/pom.xml
@@ -5,11 +5,11 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.21.0-SNAPSHOT</version>
+    <version>1.22.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emf.ecp.validation.diagnostician</artifactId>
-  <version>1.21.0-SNAPSHOT</version>
+  <version>1.22.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
 </project>
diff --git a/bundles/org.eclipse.emf.ecp.diffmerge.context/.settings/org.eclipse.pde.api.tools.prefs b/bundles/org.eclipse.emf.ecp.diffmerge.context/.settings/org.eclipse.pde.api.tools.prefs
index e4e3c00..cfb400b 100644
--- a/bundles/org.eclipse.emf.ecp.diffmerge.context/.settings/org.eclipse.pde.api.tools.prefs
+++ b/bundles/org.eclipse.emf.ecp.diffmerge.context/.settings/org.eclipse.pde.api.tools.prefs
@@ -1,3 +1,4 @@
+ANNOTATION_ELEMENT_TYPE_ADDED_FIELD=Error
 ANNOTATION_ELEMENT_TYPE_ADDED_METHOD_WITHOUT_DEFAULT_VALUE=Error
 ANNOTATION_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
 ANNOTATION_ELEMENT_TYPE_REMOVED_FIELD=Error
@@ -10,6 +11,7 @@
 API_USE_SCAN_FIELD_SEVERITY=Error
 API_USE_SCAN_METHOD_SEVERITY=Error
 API_USE_SCAN_TYPE_SEVERITY=Error
+CLASS_ELEMENT_TYPE_ADDED_FIELD=Error
 CLASS_ELEMENT_TYPE_ADDED_METHOD=Error
 CLASS_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
 CLASS_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
@@ -49,6 +51,7 @@
 ILLEGAL_INSTANTIATE=Warning
 ILLEGAL_OVERRIDE=Warning
 ILLEGAL_REFERENCE=Warning
+INTERFACE_ELEMENT_TYPE_ADDED_DEFAULT_METHOD=Ignore
 INTERFACE_ELEMENT_TYPE_ADDED_FIELD=Error
 INTERFACE_ELEMENT_TYPE_ADDED_METHOD=Error
 INTERFACE_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
@@ -60,6 +63,7 @@
 INTERFACE_ELEMENT_TYPE_REMOVED_METHOD=Error
 INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
 INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
+INVALID_ANNOTATION=Warning
 INVALID_JAVADOC_TAG=Warning
 INVALID_REFERENCE_IN_SYSTEM_LIBRARIES=Error
 LEAK_EXTEND=Warning
@@ -86,10 +90,13 @@
 TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error
 UNUSED_PROBLEM_FILTERS=Ignore
 automatically_removed_unused_problem_filters=Disabled
+changed_execution_env=Error
 eclipse.preferences.version=1
 incompatible_api_component_version=Error
 incompatible_api_component_version_include_major_without_breaking_change=Disabled
 incompatible_api_component_version_include_minor_without_api_change=Disabled
+incompatible_api_component_version_report_major_without_breaking_change=Ignore
+incompatible_api_component_version_report_minor_without_api_change=Ignore
 invalid_since_tag_version=Error
 malformed_since_tag=Error
 missing_since_tag=Error
diff --git a/bundles/org.eclipse.emf.ecp.diffmerge.context/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.diffmerge.context/META-INF/MANIFEST.MF
index 75eecaa..3af5974 100644
--- a/bundles/org.eclipse.emf.ecp.diffmerge.context/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.diffmerge.context/META-INF/MANIFEST.MF
@@ -2,20 +2,20 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: Diff Merge Context
 Bundle-SymbolicName: org.eclipse.emf.ecp.diffmerge.context
-Bundle-Version: 1.21.0.qualifier
+Bundle-Version: 1.22.0.qualifier
 Bundle-Activator: org.eclipse.emf.ecp.diffmerge.internal.context.Activator
 Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emf.ecp.diffmerge.internal.context;version="1.21.0";x-internal:=true,
- org.eclipse.emf.ecp.diffmerge.spi.context;version="1.21.0"
-Require-Bundle: org.eclipse.emf.ecp.view.context;bundle-version="[1.21.0,1.22.0)";visibility:=reexport,
+Export-Package: org.eclipse.emf.ecp.diffmerge.internal.context;version="1.22.0";x-internal:=true,
+ org.eclipse.emf.ecp.diffmerge.spi.context;version="1.22.0"
+Require-Bundle: org.eclipse.emf.ecp.view.context;bundle-version="[1.22.0,1.23.0)";visibility:=reexport,
  org.eclipse.emf.ecore;bundle-version="[2.7.0,3.0.0)",
- org.eclipse.emf.ecp.view.model;bundle-version="[1.21.0,1.22.0)",
- org.eclipse.emf.ecp.diffmerge.model;bundle-version="[1.21.0,1.22.0)",
+ org.eclipse.emf.ecp.view.model;bundle-version="[1.22.0,1.23.0)",
+ org.eclipse.emf.ecp.diffmerge.model;bundle-version="[1.22.0,1.23.0)",
  org.eclipse.emf.edit;bundle-version="[2.8.0,3.0.0)",
  org.eclipse.core.runtime;bundle-version="[3.8.0,4.0.0)",
  org.eclipse.core.databinding.observable;bundle-version="[1.4.0,2.0.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Bundle-ActivationPolicy: lazy
-Import-Package: org.eclipse.emfforms.spi.common.report;version="[1.21.0,1.22.0)",
- org.eclipse.emfforms.spi.core.services.databinding;version="[1.21.0,1.22.0)"
+Import-Package: org.eclipse.emfforms.spi.common.report;version="[1.22.0,1.23.0)",
+ org.eclipse.emfforms.spi.core.services.databinding;version="[1.22.0,1.23.0)"
 Automatic-Module-Name: org.eclipse.emf.ecp.diffmerge.context
diff --git a/bundles/org.eclipse.emf.ecp.diffmerge.context/pom.xml b/bundles/org.eclipse.emf.ecp.diffmerge.context/pom.xml
index b572288..d5eab33 100644
--- a/bundles/org.eclipse.emf.ecp.diffmerge.context/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.diffmerge.context/pom.xml
@@ -5,11 +5,11 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.21.0-SNAPSHOT</version>
+    <version>1.22.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emf.ecp.diffmerge.context</artifactId>
-  <version>1.21.0-SNAPSHOT</version>
+  <version>1.22.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
 </project>
diff --git a/bundles/org.eclipse.emf.ecp.diffmerge.model.edit/.settings/org.eclipse.pde.api.tools.prefs b/bundles/org.eclipse.emf.ecp.diffmerge.model.edit/.settings/org.eclipse.pde.api.tools.prefs
index e4e3c00..cfb400b 100644
--- a/bundles/org.eclipse.emf.ecp.diffmerge.model.edit/.settings/org.eclipse.pde.api.tools.prefs
+++ b/bundles/org.eclipse.emf.ecp.diffmerge.model.edit/.settings/org.eclipse.pde.api.tools.prefs
@@ -1,3 +1,4 @@
+ANNOTATION_ELEMENT_TYPE_ADDED_FIELD=Error
 ANNOTATION_ELEMENT_TYPE_ADDED_METHOD_WITHOUT_DEFAULT_VALUE=Error
 ANNOTATION_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
 ANNOTATION_ELEMENT_TYPE_REMOVED_FIELD=Error
@@ -10,6 +11,7 @@
 API_USE_SCAN_FIELD_SEVERITY=Error
 API_USE_SCAN_METHOD_SEVERITY=Error
 API_USE_SCAN_TYPE_SEVERITY=Error
+CLASS_ELEMENT_TYPE_ADDED_FIELD=Error
 CLASS_ELEMENT_TYPE_ADDED_METHOD=Error
 CLASS_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
 CLASS_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
@@ -49,6 +51,7 @@
 ILLEGAL_INSTANTIATE=Warning
 ILLEGAL_OVERRIDE=Warning
 ILLEGAL_REFERENCE=Warning
+INTERFACE_ELEMENT_TYPE_ADDED_DEFAULT_METHOD=Ignore
 INTERFACE_ELEMENT_TYPE_ADDED_FIELD=Error
 INTERFACE_ELEMENT_TYPE_ADDED_METHOD=Error
 INTERFACE_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
@@ -60,6 +63,7 @@
 INTERFACE_ELEMENT_TYPE_REMOVED_METHOD=Error
 INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
 INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
+INVALID_ANNOTATION=Warning
 INVALID_JAVADOC_TAG=Warning
 INVALID_REFERENCE_IN_SYSTEM_LIBRARIES=Error
 LEAK_EXTEND=Warning
@@ -86,10 +90,13 @@
 TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error
 UNUSED_PROBLEM_FILTERS=Ignore
 automatically_removed_unused_problem_filters=Disabled
+changed_execution_env=Error
 eclipse.preferences.version=1
 incompatible_api_component_version=Error
 incompatible_api_component_version_include_major_without_breaking_change=Disabled
 incompatible_api_component_version_include_minor_without_api_change=Disabled
+incompatible_api_component_version_report_major_without_breaking_change=Ignore
+incompatible_api_component_version_report_minor_without_api_change=Ignore
 invalid_since_tag_version=Error
 malformed_since_tag=Error
 missing_since_tag=Error
diff --git a/bundles/org.eclipse.emf.ecp.diffmerge.model.edit/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.diffmerge.model.edit/META-INF/MANIFEST.MF
index da81c40..0bb132e 100644
--- a/bundles/org.eclipse.emf.ecp.diffmerge.model.edit/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.diffmerge.model.edit/META-INF/MANIFEST.MF
@@ -2,19 +2,19 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %pluginName
 Bundle-SymbolicName: org.eclipse.emf.ecp.diffmerge.model.edit;singleton:=true
-Bundle-Version: 1.21.0.qualifier
+Bundle-Version: 1.22.0.qualifier
 Bundle-ClassPath: .
 Bundle-Activator: org.eclipse.emf.ecp.spi.diffmerge.model.provider.DiffmergeEditPlugin$Implementation
 Bundle-Vendor: %providerName
 Bundle-Localization: plugin
-Export-Package: org.eclipse.emf.ecp.spi.diffmerge.model.provider;version="1.21.0"
+Export-Package: org.eclipse.emf.ecp.spi.diffmerge.model.provider;version="1.22.0"
 Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.7.0,4.0.0)",
- org.eclipse.emf.ecp.diffmerge.model;bundle-version="[1.21.0,1.22.0)";visibility:=reexport,
+ org.eclipse.emf.ecp.diffmerge.model;bundle-version="[1.22.0,1.23.0)";visibility:=reexport,
  org.eclipse.emf.edit;bundle-version="[2.8.0,3.0.0)";visibility:=reexport,
  org.eclipse.emf.ecore;bundle-version="[2.7.0,3.0.0)";visibility:=reexport,
  org.eclipse.emf.ecore.edit;bundle-version="[2.7.0,3.0.0)";visibility:=reexport,
- org.eclipse.emf.ecp.view.model;bundle-version="[1.21.0,1.22.0)";visibility:=reexport,
- org.eclipse.emf.ecp.view.model.edit;bundle-version="[1.21.0,1.22.0)";visibility:=reexport
+ org.eclipse.emf.ecp.view.model;bundle-version="[1.22.0,1.23.0)";visibility:=reexport,
+ org.eclipse.emf.ecp.view.model.edit;bundle-version="[1.22.0,1.23.0)";visibility:=reexport
 Automatic-Module-Name: org.eclipse.emf.ecp.diffmerge.model.edit
 Bundle-ActivationPolicy: lazy
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
diff --git a/bundles/org.eclipse.emf.ecp.diffmerge.model.edit/pom.xml b/bundles/org.eclipse.emf.ecp.diffmerge.model.edit/pom.xml
index 4399eaa..a1aef8d 100644
--- a/bundles/org.eclipse.emf.ecp.diffmerge.model.edit/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.diffmerge.model.edit/pom.xml
@@ -5,11 +5,11 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.21.0-SNAPSHOT</version>
+    <version>1.22.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emf.ecp.diffmerge.model.edit</artifactId>
-  <version>1.21.0-SNAPSHOT</version>
+  <version>1.22.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
 </project>
diff --git a/bundles/org.eclipse.emf.ecp.diffmerge.model/.settings/org.eclipse.pde.api.tools.prefs b/bundles/org.eclipse.emf.ecp.diffmerge.model/.settings/org.eclipse.pde.api.tools.prefs
index e4e3c00..cfb400b 100644
--- a/bundles/org.eclipse.emf.ecp.diffmerge.model/.settings/org.eclipse.pde.api.tools.prefs
+++ b/bundles/org.eclipse.emf.ecp.diffmerge.model/.settings/org.eclipse.pde.api.tools.prefs
@@ -1,3 +1,4 @@
+ANNOTATION_ELEMENT_TYPE_ADDED_FIELD=Error
 ANNOTATION_ELEMENT_TYPE_ADDED_METHOD_WITHOUT_DEFAULT_VALUE=Error
 ANNOTATION_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
 ANNOTATION_ELEMENT_TYPE_REMOVED_FIELD=Error
@@ -10,6 +11,7 @@
 API_USE_SCAN_FIELD_SEVERITY=Error
 API_USE_SCAN_METHOD_SEVERITY=Error
 API_USE_SCAN_TYPE_SEVERITY=Error
+CLASS_ELEMENT_TYPE_ADDED_FIELD=Error
 CLASS_ELEMENT_TYPE_ADDED_METHOD=Error
 CLASS_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
 CLASS_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
@@ -49,6 +51,7 @@
 ILLEGAL_INSTANTIATE=Warning
 ILLEGAL_OVERRIDE=Warning
 ILLEGAL_REFERENCE=Warning
+INTERFACE_ELEMENT_TYPE_ADDED_DEFAULT_METHOD=Ignore
 INTERFACE_ELEMENT_TYPE_ADDED_FIELD=Error
 INTERFACE_ELEMENT_TYPE_ADDED_METHOD=Error
 INTERFACE_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
@@ -60,6 +63,7 @@
 INTERFACE_ELEMENT_TYPE_REMOVED_METHOD=Error
 INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
 INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
+INVALID_ANNOTATION=Warning
 INVALID_JAVADOC_TAG=Warning
 INVALID_REFERENCE_IN_SYSTEM_LIBRARIES=Error
 LEAK_EXTEND=Warning
@@ -86,10 +90,13 @@
 TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error
 UNUSED_PROBLEM_FILTERS=Ignore
 automatically_removed_unused_problem_filters=Disabled
+changed_execution_env=Error
 eclipse.preferences.version=1
 incompatible_api_component_version=Error
 incompatible_api_component_version_include_major_without_breaking_change=Disabled
 incompatible_api_component_version_include_minor_without_api_change=Disabled
+incompatible_api_component_version_report_major_without_breaking_change=Ignore
+incompatible_api_component_version_report_minor_without_api_change=Ignore
 invalid_since_tag_version=Error
 malformed_since_tag=Error
 missing_since_tag=Error
diff --git a/bundles/org.eclipse.emf.ecp.diffmerge.model/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.diffmerge.model/META-INF/MANIFEST.MF
index 8792a29..1c54c33 100644
--- a/bundles/org.eclipse.emf.ecp.diffmerge.model/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.diffmerge.model/META-INF/MANIFEST.MF
@@ -2,16 +2,16 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %pluginName
 Bundle-SymbolicName: org.eclipse.emf.ecp.diffmerge.model;singleton:=true
-Bundle-Version: 1.21.0.qualifier
+Bundle-Version: 1.22.0.qualifier
 Bundle-ClassPath: .
 Bundle-Vendor: %providerName
 Bundle-Localization: plugin
-Export-Package: org.eclipse.emf.ecp.spi.diffmerge.model;version="1.21.0",
- org.eclipse.emf.ecp.spi.diffmerge.model.impl;version="1.21.0",
- org.eclipse.emf.ecp.spi.diffmerge.model.util;version="1.21.0"
+Export-Package: org.eclipse.emf.ecp.spi.diffmerge.model;version="1.22.0",
+ org.eclipse.emf.ecp.spi.diffmerge.model.impl;version="1.22.0",
+ org.eclipse.emf.ecp.spi.diffmerge.model.util;version="1.22.0"
 Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.7.0,4.0.0)",
  org.eclipse.emf.ecore;bundle-version="[2.7.0,3.0.0)",
- org.eclipse.emf.ecp.view.model;bundle-version="[1.21.0,1.22.0)"
+ org.eclipse.emf.ecp.view.model;bundle-version="[1.22.0,1.23.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Bundle-ActivationPolicy: lazy
 Automatic-Module-Name: org.eclipse.emf.ecp.diffmerge.model
diff --git a/bundles/org.eclipse.emf.ecp.diffmerge.model/pom.xml b/bundles/org.eclipse.emf.ecp.diffmerge.model/pom.xml
index 2572bbb..2eac5b7 100644
--- a/bundles/org.eclipse.emf.ecp.diffmerge.model/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.diffmerge.model/pom.xml
@@ -5,11 +5,11 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.21.0-SNAPSHOT</version>
+    <version>1.22.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emf.ecp.diffmerge.model</artifactId>
-  <version>1.21.0-SNAPSHOT</version>
+  <version>1.22.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
 </project>
diff --git a/bundles/org.eclipse.emf.ecp.diffmerge.renderer.swt/.settings/org.eclipse.pde.api.tools.prefs b/bundles/org.eclipse.emf.ecp.diffmerge.renderer.swt/.settings/org.eclipse.pde.api.tools.prefs
index e4e3c00..cfb400b 100644
--- a/bundles/org.eclipse.emf.ecp.diffmerge.renderer.swt/.settings/org.eclipse.pde.api.tools.prefs
+++ b/bundles/org.eclipse.emf.ecp.diffmerge.renderer.swt/.settings/org.eclipse.pde.api.tools.prefs
@@ -1,3 +1,4 @@
+ANNOTATION_ELEMENT_TYPE_ADDED_FIELD=Error
 ANNOTATION_ELEMENT_TYPE_ADDED_METHOD_WITHOUT_DEFAULT_VALUE=Error
 ANNOTATION_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
 ANNOTATION_ELEMENT_TYPE_REMOVED_FIELD=Error
@@ -10,6 +11,7 @@
 API_USE_SCAN_FIELD_SEVERITY=Error
 API_USE_SCAN_METHOD_SEVERITY=Error
 API_USE_SCAN_TYPE_SEVERITY=Error
+CLASS_ELEMENT_TYPE_ADDED_FIELD=Error
 CLASS_ELEMENT_TYPE_ADDED_METHOD=Error
 CLASS_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
 CLASS_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
@@ -49,6 +51,7 @@
 ILLEGAL_INSTANTIATE=Warning
 ILLEGAL_OVERRIDE=Warning
 ILLEGAL_REFERENCE=Warning
+INTERFACE_ELEMENT_TYPE_ADDED_DEFAULT_METHOD=Ignore
 INTERFACE_ELEMENT_TYPE_ADDED_FIELD=Error
 INTERFACE_ELEMENT_TYPE_ADDED_METHOD=Error
 INTERFACE_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
@@ -60,6 +63,7 @@
 INTERFACE_ELEMENT_TYPE_REMOVED_METHOD=Error
 INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
 INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
+INVALID_ANNOTATION=Warning
 INVALID_JAVADOC_TAG=Warning
 INVALID_REFERENCE_IN_SYSTEM_LIBRARIES=Error
 LEAK_EXTEND=Warning
@@ -86,10 +90,13 @@
 TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error
 UNUSED_PROBLEM_FILTERS=Ignore
 automatically_removed_unused_problem_filters=Disabled
+changed_execution_env=Error
 eclipse.preferences.version=1
 incompatible_api_component_version=Error
 incompatible_api_component_version_include_major_without_breaking_change=Disabled
 incompatible_api_component_version_include_minor_without_api_change=Disabled
+incompatible_api_component_version_report_major_without_breaking_change=Ignore
+incompatible_api_component_version_report_minor_without_api_change=Ignore
 invalid_since_tag_version=Error
 malformed_since_tag=Error
 missing_since_tag=Error
diff --git a/bundles/org.eclipse.emf.ecp.diffmerge.renderer.swt/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.diffmerge.renderer.swt/META-INF/MANIFEST.MF
index 3c5a3c5..1f060ec 100644
--- a/bundles/org.eclipse.emf.ecp.diffmerge.renderer.swt/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.diffmerge.renderer.swt/META-INF/MANIFEST.MF
@@ -2,28 +2,28 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: DiffMerge Renderer
 Bundle-SymbolicName: org.eclipse.emf.ecp.diffmerge.renderer.swt;singleton:=true
-Bundle-Version: 1.21.0.qualifier
+Bundle-Version: 1.22.0.qualifier
 Bundle-Activator: org.eclipse.emf.ecp.diffmerge.internal.renderer.swt.Activator
 Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emf.ecp.diffmerge.internal.renderer.swt;version="1.21.0";x-internal:=true
+Export-Package: org.eclipse.emf.ecp.diffmerge.internal.renderer.swt;version="1.22.0";x-internal:=true
 Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.7.0,4.0.0)",
- org.eclipse.emf.ecp.view.core.swt;bundle-version="[1.21.0,1.22.0)",
- org.eclipse.emf.ecp.ui.view.swt;bundle-version="[1.21.0,1.22.0)",
- org.eclipse.emf.ecp.edit;bundle-version="[1.21.0,1.22.0)",
- org.eclipse.emf.ecp.edit.swt;bundle-version="[1.21.0,1.22.0)",
- org.eclipse.emf.ecp.diffmerge.context;bundle-version="[1.21.0,1.22.0)",
- org.eclipse.emf.ecp.diffmerge.swt;bundle-version="[1.21.0,1.22.0)",
- org.eclipse.emf.ecp.view.table.ui.swt;bundle-version="[1.21.0,1.22.0)",
- org.eclipse.emf.ecp.view.table.model;bundle-version="[1.21.0,1.22.0)",
- org.eclipse.emf.ecp.diffmerge.model;bundle-version="[1.21.0,1.22.0)",
- org.eclipse.emf.ecp.view.util.swt;bundle-version="[1.21.0,1.22.0)",
+ org.eclipse.emf.ecp.view.core.swt;bundle-version="[1.22.0,1.23.0)",
+ org.eclipse.emf.ecp.ui.view.swt;bundle-version="[1.22.0,1.23.0)",
+ org.eclipse.emf.ecp.edit;bundle-version="[1.22.0,1.23.0)",
+ org.eclipse.emf.ecp.edit.swt;bundle-version="[1.22.0,1.23.0)",
+ org.eclipse.emf.ecp.diffmerge.context;bundle-version="[1.22.0,1.23.0)",
+ org.eclipse.emf.ecp.diffmerge.swt;bundle-version="[1.22.0,1.23.0)",
+ org.eclipse.emf.ecp.view.table.ui.swt;bundle-version="[1.22.0,1.23.0)",
+ org.eclipse.emf.ecp.view.table.model;bundle-version="[1.22.0,1.23.0)",
+ org.eclipse.emf.ecp.diffmerge.model;bundle-version="[1.22.0,1.23.0)",
+ org.eclipse.emf.ecp.view.util.swt;bundle-version="[1.22.0,1.23.0)",
  org.eclipse.emf.edit;bundle-version="[2.8.0,3.0.0)",
  org.eclipse.core.databinding.property;bundle-version="[1.4.0,2.0.0)",
- org.eclipse.emfforms.core.services;bundle-version="[1.21.0,1.22.0)"
+ org.eclipse.emfforms.core.services;bundle-version="[1.22.0,1.23.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Bundle-ActivationPolicy: lazy
-Import-Package: org.eclipse.emfforms.spi.common.report;version="[1.21.0,1.22.0)",
- org.eclipse.emfforms.spi.swt.core;version="[1.21.0,1.22.0)",
+Import-Package: org.eclipse.emfforms.spi.common.report;version="[1.22.0,1.23.0)",
+ org.eclipse.emfforms.spi.swt.core;version="[1.22.0,1.23.0)",
  org.eclipse.jface.layout;version="0.0.0",
  org.eclipse.jface.resource;version="0.0.0",
  org.eclipse.swt;version="0.0.0",
diff --git a/bundles/org.eclipse.emf.ecp.diffmerge.renderer.swt/pom.xml b/bundles/org.eclipse.emf.ecp.diffmerge.renderer.swt/pom.xml
index 05de57a..1951fd7 100644
--- a/bundles/org.eclipse.emf.ecp.diffmerge.renderer.swt/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.diffmerge.renderer.swt/pom.xml
@@ -5,11 +5,11 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.21.0-SNAPSHOT</version>
+    <version>1.22.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emf.ecp.diffmerge.renderer.swt</artifactId>
-  <version>1.21.0-SNAPSHOT</version>
+  <version>1.22.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
 </project>
diff --git a/bundles/org.eclipse.emf.ecp.diffmerge.renderer.swt/src/org/eclipse/emf/ecp/diffmerge/internal/renderer/swt/Activator.java b/bundles/org.eclipse.emf.ecp.diffmerge.renderer.swt/src/org/eclipse/emf/ecp/diffmerge/internal/renderer/swt/Activator.java
index 3ac607e..009f0f0 100644
--- a/bundles/org.eclipse.emf.ecp.diffmerge.renderer.swt/src/org/eclipse/emf/ecp/diffmerge/internal/renderer/swt/Activator.java
+++ b/bundles/org.eclipse.emf.ecp.diffmerge.renderer.swt/src/org/eclipse/emf/ecp/diffmerge/internal/renderer/swt/Activator.java
@@ -15,7 +15,6 @@
 
 import org.eclipse.core.runtime.Plugin;
 import org.eclipse.emf.ecp.view.spi.util.swt.ImageRegistryService;
-import org.eclipse.emfforms.spi.common.report.ReportService;
 import org.eclipse.swt.graphics.Image;
 import org.osgi.framework.BundleContext;
 import org.osgi.framework.ServiceReference;
@@ -30,7 +29,6 @@
 
 	private static Activator instance;
 	private ServiceReference<ImageRegistryService> imageRegistryServiceReference;
-	private ServiceReference<ReportService> reportServiceReference;
 
 	// BEGIN SUPRESS CATCH EXCEPTION
 	@Override
diff --git a/bundles/org.eclipse.emf.ecp.diffmerge.swt/.settings/org.eclipse.pde.api.tools.prefs b/bundles/org.eclipse.emf.ecp.diffmerge.swt/.settings/org.eclipse.pde.api.tools.prefs
index e4e3c00..cfb400b 100644
--- a/bundles/org.eclipse.emf.ecp.diffmerge.swt/.settings/org.eclipse.pde.api.tools.prefs
+++ b/bundles/org.eclipse.emf.ecp.diffmerge.swt/.settings/org.eclipse.pde.api.tools.prefs
@@ -1,3 +1,4 @@
+ANNOTATION_ELEMENT_TYPE_ADDED_FIELD=Error
 ANNOTATION_ELEMENT_TYPE_ADDED_METHOD_WITHOUT_DEFAULT_VALUE=Error
 ANNOTATION_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
 ANNOTATION_ELEMENT_TYPE_REMOVED_FIELD=Error
@@ -10,6 +11,7 @@
 API_USE_SCAN_FIELD_SEVERITY=Error
 API_USE_SCAN_METHOD_SEVERITY=Error
 API_USE_SCAN_TYPE_SEVERITY=Error
+CLASS_ELEMENT_TYPE_ADDED_FIELD=Error
 CLASS_ELEMENT_TYPE_ADDED_METHOD=Error
 CLASS_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
 CLASS_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
@@ -49,6 +51,7 @@
 ILLEGAL_INSTANTIATE=Warning
 ILLEGAL_OVERRIDE=Warning
 ILLEGAL_REFERENCE=Warning
+INTERFACE_ELEMENT_TYPE_ADDED_DEFAULT_METHOD=Ignore
 INTERFACE_ELEMENT_TYPE_ADDED_FIELD=Error
 INTERFACE_ELEMENT_TYPE_ADDED_METHOD=Error
 INTERFACE_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
@@ -60,6 +63,7 @@
 INTERFACE_ELEMENT_TYPE_REMOVED_METHOD=Error
 INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
 INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
+INVALID_ANNOTATION=Warning
 INVALID_JAVADOC_TAG=Warning
 INVALID_REFERENCE_IN_SYSTEM_LIBRARIES=Error
 LEAK_EXTEND=Warning
@@ -86,10 +90,13 @@
 TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error
 UNUSED_PROBLEM_FILTERS=Ignore
 automatically_removed_unused_problem_filters=Disabled
+changed_execution_env=Error
 eclipse.preferences.version=1
 incompatible_api_component_version=Error
 incompatible_api_component_version_include_major_without_breaking_change=Disabled
 incompatible_api_component_version_include_minor_without_api_change=Disabled
+incompatible_api_component_version_report_major_without_breaking_change=Ignore
+incompatible_api_component_version_report_minor_without_api_change=Ignore
 invalid_since_tag_version=Error
 malformed_since_tag=Error
 missing_since_tag=Error
diff --git a/bundles/org.eclipse.emf.ecp.diffmerge.swt/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.diffmerge.swt/META-INF/MANIFEST.MF
index 0c772c2..e914e6c 100644
--- a/bundles/org.eclipse.emf.ecp.diffmerge.swt/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.diffmerge.swt/META-INF/MANIFEST.MF
@@ -2,23 +2,23 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: DiffMerge UI SWT
 Bundle-SymbolicName: org.eclipse.emf.ecp.diffmerge.swt
-Bundle-Version: 1.21.0.qualifier
+Bundle-Version: 1.22.0.qualifier
 Bundle-Activator: org.eclipse.emf.ecp.diffmerge.swt.Activator
 Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emf.ecp.diffmerge.swt;version="1.21.0";x-friends:="org.eclipse.emf.ecp.diffmerge.renderer.swt"
+Export-Package: org.eclipse.emf.ecp.diffmerge.swt;version="1.22.0";x-friends:="org.eclipse.emf.ecp.diffmerge.renderer.swt"
 Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.7.0,4.0.0)",
  org.eclipse.emf.ecore;bundle-version="[2.7.0,3.0.0)",
- org.eclipse.emf.ecp.view.model;bundle-version="[1.21.0,1.22.0)",
- org.eclipse.emf.ecp.edit;bundle-version="[1.21.0,1.22.0)",
- org.eclipse.emf.ecp.edit.swt;bundle-version="[1.21.0,1.22.0)",
- org.eclipse.emf.ecp.view.context;bundle-version="[1.21.0,1.22.0)",
- org.eclipse.emf.ecp.diffmerge.context;bundle-version="[1.21.0,1.22.0)",
- org.eclipse.emf.ecp.ui.view;bundle-version="[1.21.0,1.22.0)",
- org.eclipse.emf.ecp.ui.view.swt;bundle-version="[1.21.0,1.22.0)",
+ org.eclipse.emf.ecp.view.model;bundle-version="[1.22.0,1.23.0)",
+ org.eclipse.emf.ecp.edit;bundle-version="[1.22.0,1.23.0)",
+ org.eclipse.emf.ecp.edit.swt;bundle-version="[1.22.0,1.23.0)",
+ org.eclipse.emf.ecp.view.context;bundle-version="[1.22.0,1.23.0)",
+ org.eclipse.emf.ecp.diffmerge.context;bundle-version="[1.22.0,1.23.0)",
+ org.eclipse.emf.ecp.ui.view;bundle-version="[1.22.0,1.23.0)",
+ org.eclipse.emf.ecp.ui.view.swt;bundle-version="[1.22.0,1.23.0)",
  org.eclipse.emf.edit;bundle-version="[2.8.0,3.0.0)",
- org.eclipse.emf.ecp.view.util.swt;bundle-version="[1.21.0,1.22.0)",
- org.eclipse.emfforms.localization;bundle-version="[1.21.0,1.22.0)",
- org.eclipse.emfforms.core.services;bundle-version="[1.21.0,1.22.0)"
+ org.eclipse.emf.ecp.view.util.swt;bundle-version="[1.22.0,1.23.0)",
+ org.eclipse.emfforms.localization;bundle-version="[1.22.0,1.23.0)",
+ org.eclipse.emfforms.core.services;bundle-version="[1.22.0,1.23.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Bundle-ActivationPolicy: lazy
 Import-Package: org.eclipse.jface.layout;version="0.0.0",
diff --git a/bundles/org.eclipse.emf.ecp.diffmerge.swt/pom.xml b/bundles/org.eclipse.emf.ecp.diffmerge.swt/pom.xml
index d15f55e..f5d2e12 100644
--- a/bundles/org.eclipse.emf.ecp.diffmerge.swt/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.diffmerge.swt/pom.xml
@@ -5,11 +5,11 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.21.0-SNAPSHOT</version>
+    <version>1.22.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emf.ecp.diffmerge.swt</artifactId>
-  <version>1.21.0-SNAPSHOT</version>
+  <version>1.22.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
 </project>
diff --git a/bundles/org.eclipse.emf.ecp.doc/.settings/org.eclipse.pde.api.tools.prefs b/bundles/org.eclipse.emf.ecp.doc/.settings/org.eclipse.pde.api.tools.prefs
index e4e3c00..cfb400b 100644
--- a/bundles/org.eclipse.emf.ecp.doc/.settings/org.eclipse.pde.api.tools.prefs
+++ b/bundles/org.eclipse.emf.ecp.doc/.settings/org.eclipse.pde.api.tools.prefs
@@ -1,3 +1,4 @@
+ANNOTATION_ELEMENT_TYPE_ADDED_FIELD=Error
 ANNOTATION_ELEMENT_TYPE_ADDED_METHOD_WITHOUT_DEFAULT_VALUE=Error
 ANNOTATION_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
 ANNOTATION_ELEMENT_TYPE_REMOVED_FIELD=Error
@@ -10,6 +11,7 @@
 API_USE_SCAN_FIELD_SEVERITY=Error
 API_USE_SCAN_METHOD_SEVERITY=Error
 API_USE_SCAN_TYPE_SEVERITY=Error
+CLASS_ELEMENT_TYPE_ADDED_FIELD=Error
 CLASS_ELEMENT_TYPE_ADDED_METHOD=Error
 CLASS_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
 CLASS_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
@@ -49,6 +51,7 @@
 ILLEGAL_INSTANTIATE=Warning
 ILLEGAL_OVERRIDE=Warning
 ILLEGAL_REFERENCE=Warning
+INTERFACE_ELEMENT_TYPE_ADDED_DEFAULT_METHOD=Ignore
 INTERFACE_ELEMENT_TYPE_ADDED_FIELD=Error
 INTERFACE_ELEMENT_TYPE_ADDED_METHOD=Error
 INTERFACE_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
@@ -60,6 +63,7 @@
 INTERFACE_ELEMENT_TYPE_REMOVED_METHOD=Error
 INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
 INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
+INVALID_ANNOTATION=Warning
 INVALID_JAVADOC_TAG=Warning
 INVALID_REFERENCE_IN_SYSTEM_LIBRARIES=Error
 LEAK_EXTEND=Warning
@@ -86,10 +90,13 @@
 TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error
 UNUSED_PROBLEM_FILTERS=Ignore
 automatically_removed_unused_problem_filters=Disabled
+changed_execution_env=Error
 eclipse.preferences.version=1
 incompatible_api_component_version=Error
 incompatible_api_component_version_include_major_without_breaking_change=Disabled
 incompatible_api_component_version_include_minor_without_api_change=Disabled
+incompatible_api_component_version_report_major_without_breaking_change=Ignore
+incompatible_api_component_version_report_minor_without_api_change=Ignore
 invalid_since_tag_version=Error
 malformed_since_tag=Error
 missing_since_tag=Error
diff --git a/bundles/org.eclipse.emf.ecp.doc/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.doc/META-INF/MANIFEST.MF
index 87bab36..9a0890a 100644
--- a/bundles/org.eclipse.emf.ecp.doc/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.doc/META-INF/MANIFEST.MF
@@ -2,6 +2,6 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: Doc
 Bundle-SymbolicName: org.eclipse.emf.ecp.doc;singleton:=true
-Bundle-Version: 1.21.0.qualifier
+Bundle-Version: 1.22.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
 Require-Bundle: org.eclipse.ui.intro;bundle-version="[3.4.0,4.0.0)"
diff --git a/bundles/org.eclipse.emf.ecp.doc/pom.xml b/bundles/org.eclipse.emf.ecp.doc/pom.xml
index 14f4b08..ec05ae4 100644
--- a/bundles/org.eclipse.emf.ecp.doc/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.doc/pom.xml
@@ -5,11 +5,11 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.21.0-SNAPSHOT</version>
+    <version>1.22.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emf.ecp.doc</artifactId>
-  <version>1.21.0-SNAPSHOT</version>
+  <version>1.22.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
 </project>
diff --git a/bundles/org.eclipse.emf.ecp.ecore.editor.ui/.settings/org.eclipse.pde.api.tools.prefs b/bundles/org.eclipse.emf.ecp.ecore.editor.ui/.settings/org.eclipse.pde.api.tools.prefs
index e4e3c00..cfb400b 100644
--- a/bundles/org.eclipse.emf.ecp.ecore.editor.ui/.settings/org.eclipse.pde.api.tools.prefs
+++ b/bundles/org.eclipse.emf.ecp.ecore.editor.ui/.settings/org.eclipse.pde.api.tools.prefs
@@ -1,3 +1,4 @@
+ANNOTATION_ELEMENT_TYPE_ADDED_FIELD=Error
 ANNOTATION_ELEMENT_TYPE_ADDED_METHOD_WITHOUT_DEFAULT_VALUE=Error
 ANNOTATION_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
 ANNOTATION_ELEMENT_TYPE_REMOVED_FIELD=Error
@@ -10,6 +11,7 @@
 API_USE_SCAN_FIELD_SEVERITY=Error
 API_USE_SCAN_METHOD_SEVERITY=Error
 API_USE_SCAN_TYPE_SEVERITY=Error
+CLASS_ELEMENT_TYPE_ADDED_FIELD=Error
 CLASS_ELEMENT_TYPE_ADDED_METHOD=Error
 CLASS_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
 CLASS_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
@@ -49,6 +51,7 @@
 ILLEGAL_INSTANTIATE=Warning
 ILLEGAL_OVERRIDE=Warning
 ILLEGAL_REFERENCE=Warning
+INTERFACE_ELEMENT_TYPE_ADDED_DEFAULT_METHOD=Ignore
 INTERFACE_ELEMENT_TYPE_ADDED_FIELD=Error
 INTERFACE_ELEMENT_TYPE_ADDED_METHOD=Error
 INTERFACE_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
@@ -60,6 +63,7 @@
 INTERFACE_ELEMENT_TYPE_REMOVED_METHOD=Error
 INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
 INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
+INVALID_ANNOTATION=Warning
 INVALID_JAVADOC_TAG=Warning
 INVALID_REFERENCE_IN_SYSTEM_LIBRARIES=Error
 LEAK_EXTEND=Warning
@@ -86,10 +90,13 @@
 TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error
 UNUSED_PROBLEM_FILTERS=Ignore
 automatically_removed_unused_problem_filters=Disabled
+changed_execution_env=Error
 eclipse.preferences.version=1
 incompatible_api_component_version=Error
 incompatible_api_component_version_include_major_without_breaking_change=Disabled
 incompatible_api_component_version_include_minor_without_api_change=Disabled
+incompatible_api_component_version_report_major_without_breaking_change=Ignore
+incompatible_api_component_version_report_minor_without_api_change=Ignore
 invalid_since_tag_version=Error
 malformed_since_tag=Error
 missing_since_tag=Error
diff --git a/bundles/org.eclipse.emf.ecp.ecore.editor.ui/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.ecore.editor.ui/META-INF/MANIFEST.MF
index ec244eb..19c2341 100644
--- a/bundles/org.eclipse.emf.ecp.ecore.editor.ui/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.ecore.editor.ui/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: ECore GenModel Test
 Bundle-SymbolicName: org.eclipse.emf.ecp.ecore.editor.ui;singleton:=true
-Bundle-Version: 1.21.0.qualifier
+Bundle-Version: 1.22.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
 Export-Package: org.eclipse.emf.ecp.ecore.editor.ui;version="1.2.0";x-internal:=true,
  org.eclipse.emf.ecp.ecore.editor.ui.operations;version="1.2.0";x-internal:=true
@@ -14,7 +14,7 @@
  org.eclipse.emf.edit.ui;bundle-version="[2.9.0,3.0.0)",
  org.eclipse.jface.text;bundle-version="[3.8.101,4.0.0)",
  org.eclipse.emf.ecore;bundle-version="[2.8.0,3.0.0)",
- org.eclipse.emf.ecp.ecore.editor;bundle-version="[1.21.0,1.22.0)",
+ org.eclipse.emf.ecp.ecore.editor;bundle-version="[1.22.0,1.23.0)",
  org.eclipse.swt;bundle-version="[3.102.1,4.0.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Automatic-Module-Name: org.eclipse.emf.ecp.ecore.editor.ui
diff --git a/bundles/org.eclipse.emf.ecp.ecore.editor.ui/pom.xml b/bundles/org.eclipse.emf.ecp.ecore.editor.ui/pom.xml
index 576e788..59c5df7 100644
--- a/bundles/org.eclipse.emf.ecp.ecore.editor.ui/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.ecore.editor.ui/pom.xml
@@ -5,11 +5,11 @@
   <parent>

     <groupId>org.eclipse.emf.ecp</groupId>

     <artifactId>ecp-bundles-parent</artifactId>

-    <version>1.21.0-SNAPSHOT</version>

+    <version>1.22.0-SNAPSHOT</version>

     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>

   </parent>

   <groupId>org.eclipse.emf.ecp</groupId>

   <artifactId>org.eclipse.emf.ecp.ecore.editor.ui</artifactId>

-  <version>1.21.0-SNAPSHOT</version>

+  <version>1.22.0-SNAPSHOT</version>

   <packaging>eclipse-plugin</packaging>

 </project>

diff --git a/bundles/org.eclipse.emf.ecp.ecore.editor.ui/src/org/eclipse/emf/ecp/ecore/editor/ui/EMFSimpleProjectWizard.java b/bundles/org.eclipse.emf.ecp.ecore.editor.ui/src/org/eclipse/emf/ecp/ecore/editor/ui/EMFSimpleProjectWizard.java
index 820c8b4..7f757ad 100644
--- a/bundles/org.eclipse.emf.ecp.ecore.editor.ui/src/org/eclipse/emf/ecp/ecore/editor/ui/EMFSimpleProjectWizard.java
+++ b/bundles/org.eclipse.emf.ecp.ecore.editor.ui/src/org/eclipse/emf/ecp/ecore/editor/ui/EMFSimpleProjectWizard.java
@@ -100,6 +100,7 @@
 	 * @see org.eclipse.ui.IWorkbenchWizard#init(org.eclipse.ui.IWorkbench,
 	 *      org.eclipse.jface.viewers.IStructuredSelection)
 	 */
+	@Override
 	public void init(IWorkbench workbench, IStructuredSelection selection) {
 		this.workbench = workbench;
 		this.selection = selection;
@@ -182,11 +183,8 @@
 			if (activePart instanceof ISetSelectionTarget) {
 				final ISelection targetSelection = new StructuredSelection(
 					project);
-				getShell().getDisplay().asyncExec(new Runnable() {
-					public void run() {
-						((ISetSelectionTarget) activePart)
-							.selectReveal(targetSelection);
-					}
+				getShell().getDisplay().asyncExec(() -> {
+					((ISetSelectionTarget) activePart).selectReveal(targetSelection);
 				});
 			}
 		}
@@ -220,6 +218,7 @@
 			final ISelection targetSelection = new StructuredSelection(
 				modelFile);
 			getShell().getDisplay().asyncExec(new Runnable() {
+				@Override
 				public void run() {
 					((ISetSelectionTarget) activePart)
 						.selectReveal(targetSelection);
diff --git a/bundles/org.eclipse.emf.ecp.ecore.editor/.settings/org.eclipse.pde.api.tools.prefs b/bundles/org.eclipse.emf.ecp.ecore.editor/.settings/org.eclipse.pde.api.tools.prefs
index e4e3c00..cfb400b 100644
--- a/bundles/org.eclipse.emf.ecp.ecore.editor/.settings/org.eclipse.pde.api.tools.prefs
+++ b/bundles/org.eclipse.emf.ecp.ecore.editor/.settings/org.eclipse.pde.api.tools.prefs
@@ -1,3 +1,4 @@
+ANNOTATION_ELEMENT_TYPE_ADDED_FIELD=Error
 ANNOTATION_ELEMENT_TYPE_ADDED_METHOD_WITHOUT_DEFAULT_VALUE=Error
 ANNOTATION_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
 ANNOTATION_ELEMENT_TYPE_REMOVED_FIELD=Error
@@ -10,6 +11,7 @@
 API_USE_SCAN_FIELD_SEVERITY=Error
 API_USE_SCAN_METHOD_SEVERITY=Error
 API_USE_SCAN_TYPE_SEVERITY=Error
+CLASS_ELEMENT_TYPE_ADDED_FIELD=Error
 CLASS_ELEMENT_TYPE_ADDED_METHOD=Error
 CLASS_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
 CLASS_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
@@ -49,6 +51,7 @@
 ILLEGAL_INSTANTIATE=Warning
 ILLEGAL_OVERRIDE=Warning
 ILLEGAL_REFERENCE=Warning
+INTERFACE_ELEMENT_TYPE_ADDED_DEFAULT_METHOD=Ignore
 INTERFACE_ELEMENT_TYPE_ADDED_FIELD=Error
 INTERFACE_ELEMENT_TYPE_ADDED_METHOD=Error
 INTERFACE_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
@@ -60,6 +63,7 @@
 INTERFACE_ELEMENT_TYPE_REMOVED_METHOD=Error
 INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
 INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
+INVALID_ANNOTATION=Warning
 INVALID_JAVADOC_TAG=Warning
 INVALID_REFERENCE_IN_SYSTEM_LIBRARIES=Error
 LEAK_EXTEND=Warning
@@ -86,10 +90,13 @@
 TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error
 UNUSED_PROBLEM_FILTERS=Ignore
 automatically_removed_unused_problem_filters=Disabled
+changed_execution_env=Error
 eclipse.preferences.version=1
 incompatible_api_component_version=Error
 incompatible_api_component_version_include_major_without_breaking_change=Disabled
 incompatible_api_component_version_include_minor_without_api_change=Disabled
+incompatible_api_component_version_report_major_without_breaking_change=Ignore
+incompatible_api_component_version_report_minor_without_api_change=Ignore
 invalid_since_tag_version=Error
 malformed_since_tag=Error
 missing_since_tag=Error
diff --git a/bundles/org.eclipse.emf.ecp.ecore.editor/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.ecore.editor/META-INF/MANIFEST.MF
index f705944..0816c49 100644
--- a/bundles/org.eclipse.emf.ecp.ecore.editor/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.ecore.editor/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: ECP ECore Editor
 Bundle-SymbolicName: org.eclipse.emf.ecp.ecore.editor;singleton:=true
-Bundle-Version: 1.21.0.qualifier
+Bundle-Version: 1.22.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
 Export-Package: org.eclipse.emf.ecp.ecore.editor;version="1.2.0";x-friends:="org.eclipse.emf.ecp.ecore.editor.test,org.eclipse.emf.ecp.ecore.editor.ui",
  org.eclipse.emf.ecp.ecore.editor.factory;version="1.2.0";x-friends:="org.eclipse.emf.ecp.ecore.editor.test,org.eclipse.emf.ecp.ecore.editor.ui",
diff --git a/bundles/org.eclipse.emf.ecp.ecore.editor/pom.xml b/bundles/org.eclipse.emf.ecp.ecore.editor/pom.xml
index d85eade..8c8e5e3 100644
--- a/bundles/org.eclipse.emf.ecp.ecore.editor/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.ecore.editor/pom.xml
@@ -5,11 +5,11 @@
   <parent>

     <groupId>org.eclipse.emf.ecp</groupId>

     <artifactId>ecp-bundles-parent</artifactId>

-    <version>1.21.0-SNAPSHOT</version>

+    <version>1.22.0-SNAPSHOT</version>

     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>

   </parent>

   <groupId>org.eclipse.emf.ecp</groupId>

   <artifactId>org.eclipse.emf.ecp.ecore.editor</artifactId>

-  <version>1.21.0-SNAPSHOT</version>

+  <version>1.22.0-SNAPSHOT</version>

   <packaging>eclipse-plugin</packaging>

 </project>

diff --git a/bundles/org.eclipse.emf.ecp.ecore.editor/src/org/eclipse/emf/ecp/ecore/editor/internal/EcoreGenModelLinkerImpl.java b/bundles/org.eclipse.emf.ecp.ecore.editor/src/org/eclipse/emf/ecp/ecore/editor/internal/EcoreGenModelLinkerImpl.java
index bc407d6..b0440e9 100644
--- a/bundles/org.eclipse.emf.ecp.ecore.editor/src/org/eclipse/emf/ecp/ecore/editor/internal/EcoreGenModelLinkerImpl.java
+++ b/bundles/org.eclipse.emf.ecp.ecore.editor/src/org/eclipse/emf/ecp/ecore/editor/internal/EcoreGenModelLinkerImpl.java
@@ -69,6 +69,7 @@
 	 * @param modelProjectPath The path (relative) of the model project
 	 * @throws EcoreGenException in case generating the genmodel fails
 	 */
+	@Override
 	public void generateGenModel(String ecorePath, String genModelPathParam,
 		String modelProjectPath) throws EcoreGenException {
 
diff --git a/bundles/org.eclipse.emf.ecp.edit.ecore.swt/.settings/org.eclipse.pde.api.tools.prefs b/bundles/org.eclipse.emf.ecp.edit.ecore.swt/.settings/org.eclipse.pde.api.tools.prefs
index e4e3c00..cfb400b 100644
--- a/bundles/org.eclipse.emf.ecp.edit.ecore.swt/.settings/org.eclipse.pde.api.tools.prefs
+++ b/bundles/org.eclipse.emf.ecp.edit.ecore.swt/.settings/org.eclipse.pde.api.tools.prefs
@@ -1,3 +1,4 @@
+ANNOTATION_ELEMENT_TYPE_ADDED_FIELD=Error
 ANNOTATION_ELEMENT_TYPE_ADDED_METHOD_WITHOUT_DEFAULT_VALUE=Error
 ANNOTATION_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
 ANNOTATION_ELEMENT_TYPE_REMOVED_FIELD=Error
@@ -10,6 +11,7 @@
 API_USE_SCAN_FIELD_SEVERITY=Error
 API_USE_SCAN_METHOD_SEVERITY=Error
 API_USE_SCAN_TYPE_SEVERITY=Error
+CLASS_ELEMENT_TYPE_ADDED_FIELD=Error
 CLASS_ELEMENT_TYPE_ADDED_METHOD=Error
 CLASS_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
 CLASS_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
@@ -49,6 +51,7 @@
 ILLEGAL_INSTANTIATE=Warning
 ILLEGAL_OVERRIDE=Warning
 ILLEGAL_REFERENCE=Warning
+INTERFACE_ELEMENT_TYPE_ADDED_DEFAULT_METHOD=Ignore
 INTERFACE_ELEMENT_TYPE_ADDED_FIELD=Error
 INTERFACE_ELEMENT_TYPE_ADDED_METHOD=Error
 INTERFACE_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
@@ -60,6 +63,7 @@
 INTERFACE_ELEMENT_TYPE_REMOVED_METHOD=Error
 INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
 INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
+INVALID_ANNOTATION=Warning
 INVALID_JAVADOC_TAG=Warning
 INVALID_REFERENCE_IN_SYSTEM_LIBRARIES=Error
 LEAK_EXTEND=Warning
@@ -86,10 +90,13 @@
 TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error
 UNUSED_PROBLEM_FILTERS=Ignore
 automatically_removed_unused_problem_filters=Disabled
+changed_execution_env=Error
 eclipse.preferences.version=1
 incompatible_api_component_version=Error
 incompatible_api_component_version_include_major_without_breaking_change=Disabled
 incompatible_api_component_version_include_minor_without_api_change=Disabled
+incompatible_api_component_version_report_major_without_breaking_change=Ignore
+incompatible_api_component_version_report_minor_without_api_change=Ignore
 invalid_since_tag_version=Error
 malformed_since_tag=Error
 missing_since_tag=Error
diff --git a/bundles/org.eclipse.emf.ecp.edit.ecore.swt/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.edit.ecore.swt/META-INF/MANIFEST.MF
index 8e8e464..cb77458 100644
--- a/bundles/org.eclipse.emf.ecp.edit.ecore.swt/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.edit.ecore.swt/META-INF/MANIFEST.MF
@@ -2,15 +2,15 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: ECP Editor controls for Ecore Elements (Deprecated)
 Bundle-SymbolicName: org.eclipse.emf.ecp.edit.ecore.swt;singleton:=true
-Bundle-Version: 1.21.0.qualifier
+Bundle-Version: 1.22.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emf.ecp.edit.ecore.swt.internal;version="1.21.0";x-internal:=true
+Export-Package: org.eclipse.emf.ecp.edit.ecore.swt.internal;version="1.22.0";x-internal:=true
 Require-Bundle: org.eclipse.ui;bundle-version="[3.0.0,4.0.0)",
  org.eclipse.core.runtime;bundle-version="[3.4.0,4.0.0)",
- org.eclipse.emf.ecp.edit.swt;bundle-version="[1.21.0,1.22.0)",
- org.eclipse.emf.ecp.ui.view;bundle-version="[1.21.0,1.22.0)",
- org.eclipse.emf.ecp.ui;bundle-version="[1.21.0,1.22.0)",
- org.eclipse.emf.ecp.common.ui;bundle-version="[1.21.0,1.22.0)"
+ org.eclipse.emf.ecp.edit.swt;bundle-version="[1.22.0,1.23.0)",
+ org.eclipse.emf.ecp.ui.view;bundle-version="[1.22.0,1.23.0)",
+ org.eclipse.emf.ecp.ui;bundle-version="[1.22.0,1.23.0)",
+ org.eclipse.emf.ecp.common.ui;bundle-version="[1.22.0,1.23.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Automatic-Module-Name: org.eclipse.emf.ecp.edit.ecore.swt
 Bundle-ActivationPolicy: lazy
diff --git a/bundles/org.eclipse.emf.ecp.edit.ecore.swt/pom.xml b/bundles/org.eclipse.emf.ecp.edit.ecore.swt/pom.xml
index e45a2e7..29931ff 100644
--- a/bundles/org.eclipse.emf.ecp.edit.ecore.swt/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.edit.ecore.swt/pom.xml
@@ -5,11 +5,11 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.21.0-SNAPSHOT</version>
+    <version>1.22.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emf.ecp.edit.ecore.swt</artifactId>
-  <version>1.21.0-SNAPSHOT</version>
+  <version>1.22.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
 </project>
diff --git a/bundles/org.eclipse.emf.ecp.edit.swt/.settings/org.eclipse.pde.api.tools.prefs b/bundles/org.eclipse.emf.ecp.edit.swt/.settings/org.eclipse.pde.api.tools.prefs
index e4e3c00..cfb400b 100644
--- a/bundles/org.eclipse.emf.ecp.edit.swt/.settings/org.eclipse.pde.api.tools.prefs
+++ b/bundles/org.eclipse.emf.ecp.edit.swt/.settings/org.eclipse.pde.api.tools.prefs
@@ -1,3 +1,4 @@
+ANNOTATION_ELEMENT_TYPE_ADDED_FIELD=Error
 ANNOTATION_ELEMENT_TYPE_ADDED_METHOD_WITHOUT_DEFAULT_VALUE=Error
 ANNOTATION_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
 ANNOTATION_ELEMENT_TYPE_REMOVED_FIELD=Error
@@ -10,6 +11,7 @@
 API_USE_SCAN_FIELD_SEVERITY=Error
 API_USE_SCAN_METHOD_SEVERITY=Error
 API_USE_SCAN_TYPE_SEVERITY=Error
+CLASS_ELEMENT_TYPE_ADDED_FIELD=Error
 CLASS_ELEMENT_TYPE_ADDED_METHOD=Error
 CLASS_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
 CLASS_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
@@ -49,6 +51,7 @@
 ILLEGAL_INSTANTIATE=Warning
 ILLEGAL_OVERRIDE=Warning
 ILLEGAL_REFERENCE=Warning
+INTERFACE_ELEMENT_TYPE_ADDED_DEFAULT_METHOD=Ignore
 INTERFACE_ELEMENT_TYPE_ADDED_FIELD=Error
 INTERFACE_ELEMENT_TYPE_ADDED_METHOD=Error
 INTERFACE_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
@@ -60,6 +63,7 @@
 INTERFACE_ELEMENT_TYPE_REMOVED_METHOD=Error
 INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
 INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
+INVALID_ANNOTATION=Warning
 INVALID_JAVADOC_TAG=Warning
 INVALID_REFERENCE_IN_SYSTEM_LIBRARIES=Error
 LEAK_EXTEND=Warning
@@ -86,10 +90,13 @@
 TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error
 UNUSED_PROBLEM_FILTERS=Ignore
 automatically_removed_unused_problem_filters=Disabled
+changed_execution_env=Error
 eclipse.preferences.version=1
 incompatible_api_component_version=Error
 incompatible_api_component_version_include_major_without_breaking_change=Disabled
 incompatible_api_component_version_include_minor_without_api_change=Disabled
+incompatible_api_component_version_report_major_without_breaking_change=Ignore
+incompatible_api_component_version_report_minor_without_api_change=Ignore
 invalid_since_tag_version=Error
 malformed_since_tag=Error
 missing_since_tag=Error
diff --git a/bundles/org.eclipse.emf.ecp.edit.swt/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.edit.swt/META-INF/MANIFEST.MF
index 70a660f..83a242f 100644
--- a/bundles/org.eclipse.emf.ecp.edit.swt/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.edit.swt/META-INF/MANIFEST.MF
@@ -2,19 +2,19 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %Bundle-Name
 Bundle-SymbolicName: org.eclipse.emf.ecp.edit.swt;singleton:=true
-Bundle-Version: 1.21.0.qualifier
+Bundle-Version: 1.22.0.qualifier
 Bundle-Activator: org.eclipse.emf.ecp.edit.internal.swt.Activator
 Bundle-Vendor: %Bundle-Vendor
-Export-Package: org.eclipse.emf.ecp.edit.internal.swt;version="1.21.0";x-friends:="org.eclipse.emf.ecp.ui.view.editor.controls,org.eclipse.emf.ecp.view.treemasterdetail.ui.swt,org.eclipse.emf.ecp.view.core.swt",
- org.eclipse.emf.ecp.edit.internal.swt.actions;version="1.21.0";x-friends:="org.eclipse.emf.ecp.ui.view.editor.controls,org.eclipse.emf.ecp.edit.ecore.swt",
- org.eclipse.emf.ecp.edit.internal.swt.controls;version="1.21.0";
+Export-Package: org.eclipse.emf.ecp.edit.internal.swt;version="1.22.0";x-friends:="org.eclipse.emf.ecp.ui.view.editor.controls,org.eclipse.emf.ecp.view.treemasterdetail.ui.swt,org.eclipse.emf.ecp.view.core.swt",
+ org.eclipse.emf.ecp.edit.internal.swt.actions;version="1.22.0";x-friends:="org.eclipse.emf.ecp.ui.view.editor.controls,org.eclipse.emf.ecp.edit.ecore.swt",
+ org.eclipse.emf.ecp.edit.internal.swt.controls;version="1.22.0";
   x-friends:="org.eclipse.emf.ecp.ui.view.swt,
    org.eclipse.emf.ecp.ui.view.editor.controls,
    org.eclipse.emf.ecp.view.table.ui.swt,
    org.eclipse.emf.ecp.view.core.swt",
- org.eclipse.emf.ecp.edit.internal.swt.reference;version="1.21.0";x-friends:="org.eclipse.emf.ecp.edit.ecore.swt,org.eclipse.emf.ecp.ui.view.editor.controls",
- org.eclipse.emf.ecp.edit.internal.swt.table;version="1.21.0";x-friends:="org.eclipse.emf.ecp.view.table.ui.swt,org.eclipse.emfforms.swt.control.multiattribute",
- org.eclipse.emf.ecp.edit.internal.swt.util;version="1.21.0";
+ org.eclipse.emf.ecp.edit.internal.swt.reference;version="1.22.0";x-friends:="org.eclipse.emf.ecp.edit.ecore.swt,org.eclipse.emf.ecp.ui.view.editor.controls",
+ org.eclipse.emf.ecp.edit.internal.swt.table;version="1.22.0";x-friends:="org.eclipse.emf.ecp.view.table.ui.swt,org.eclipse.emfforms.swt.control.multiattribute",
+ org.eclipse.emf.ecp.edit.internal.swt.util;version="1.22.0";
   x-friends:="org.eclipse.emf.ecp.editor,
    org.eclipse.emf.ecp.explorereditorbridge,
    org.eclipse.emf.ecp.ui.view.swt,
@@ -26,26 +26,26 @@
    org.eclipse.emf.ecp.view.treemasterdetail.ui.swt,
    org.eclipse.emf.ecp.view.core.swt,
    org.eclipse.emfforms.swt.control.multiattribute",
- org.eclipse.emf.ecp.edit.spi.swt.actions;version="1.21.0",
- org.eclipse.emf.ecp.edit.spi.swt.commands;version="1.21.0",
- org.eclipse.emf.ecp.edit.spi.swt.reference;version="1.21.0",
- org.eclipse.emf.ecp.edit.spi.swt.table;version="1.21.0",
- org.eclipse.emf.ecp.edit.spi.swt.util;version="1.21.0"
+ org.eclipse.emf.ecp.edit.spi.swt.actions;version="1.22.0",
+ org.eclipse.emf.ecp.edit.spi.swt.commands;version="1.22.0",
+ org.eclipse.emf.ecp.edit.spi.swt.reference;version="1.22.0",
+ org.eclipse.emf.ecp.edit.spi.swt.table;version="1.22.0",
+ org.eclipse.emf.ecp.edit.spi.swt.util;version="1.22.0"
 Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.7.0,4.0.0)",
- org.eclipse.emf.ecp.edit;bundle-version="[1.21.0,1.22.0)";visibility:=reexport,
+ org.eclipse.emf.ecp.edit;bundle-version="[1.22.0,1.23.0)";visibility:=reexport,
  org.eclipse.emf.ecore;bundle-version="[2.7.0,3.0.0)",
  org.eclipse.emf.edit;bundle-version="[2.8.0,3.0.0)",
  org.eclipse.core.databinding.property;bundle-version="[1.4.0,2.0.0)",
- org.eclipse.emf.ecp.ui.view;bundle-version="[1.21.0,1.22.0)",
- org.eclipse.emf.ecp.view.template.model;bundle-version="[1.21.0,1.22.0)",
+ org.eclipse.emf.ecp.ui.view;bundle-version="[1.22.0,1.23.0)",
+ org.eclipse.emf.ecp.view.template.model;bundle-version="[1.22.0,1.23.0)",
  org.eclipse.emf.databinding.edit;bundle-version="[1.3.0,2.0.0)",
- org.eclipse.emfforms.localization;bundle-version="[1.21.0,1.22.0)",
- org.eclipse.emfforms.core.services.editsupport;bundle-version="[1.21.0,1.22.0)",
- org.eclipse.emfforms.core.services;bundle-version="[1.21.0,1.22.0)"
+ org.eclipse.emfforms.localization;bundle-version="[1.22.0,1.23.0)",
+ org.eclipse.emfforms.core.services.editsupport;bundle-version="[1.22.0,1.23.0)",
+ org.eclipse.emfforms.core.services;bundle-version="[1.22.0,1.23.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Bundle-ActivationPolicy: lazy
 Import-Package: org.eclipse.core.commands;version="0.0.0",
- org.eclipse.emfforms.spi.common.report;version="[1.21.0,1.22.0)",
+ org.eclipse.emfforms.spi.common.report;version="[1.22.0,1.23.0)",
  org.eclipse.jface.action;version="0.0.0",
  org.eclipse.jface.databinding.fieldassist;version="0.0.0",
  org.eclipse.jface.databinding.swt;version="0.0.0",
diff --git a/bundles/org.eclipse.emf.ecp.edit.swt/pom.xml b/bundles/org.eclipse.emf.ecp.edit.swt/pom.xml
index 74545d1..66ef636 100644
--- a/bundles/org.eclipse.emf.ecp.edit.swt/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.edit.swt/pom.xml
@@ -5,12 +5,12 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.21.0-SNAPSHOT</version>
+    <version>1.22.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emf.ecp.edit.swt</artifactId>
-  <version>1.21.0-SNAPSHOT</version>
+  <version>1.22.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
   
   <properties>
diff --git a/bundles/org.eclipse.emf.ecp.edit.swt/src/org/eclipse/emf/ecp/edit/internal/swt/reference/LinkCellEditor.java b/bundles/org.eclipse.emf.ecp.edit.swt/src/org/eclipse/emf/ecp/edit/internal/swt/reference/LinkCellEditor.java
index fbc61b7..735720f 100644
--- a/bundles/org.eclipse.emf.ecp.edit.swt/src/org/eclipse/emf/ecp/edit/internal/swt/reference/LinkCellEditor.java
+++ b/bundles/org.eclipse.emf.ecp.edit.swt/src/org/eclipse/emf/ecp/edit/internal/swt/reference/LinkCellEditor.java
@@ -18,7 +18,10 @@
 import org.eclipse.core.databinding.DataBindingContext;
 import org.eclipse.core.databinding.UpdateValueStrategy;
 import org.eclipse.core.databinding.observable.value.IObservableValue;
+import org.eclipse.core.databinding.property.INativePropertyListener;
+import org.eclipse.core.databinding.property.ISimplePropertyListener;
 import org.eclipse.core.databinding.property.value.IValueProperty;
+import org.eclipse.core.databinding.property.value.SimpleValueProperty;
 import org.eclipse.emf.common.notify.AdapterFactory;
 import org.eclipse.emf.ecore.EStructuralFeature;
 import org.eclipse.emf.ecp.edit.spi.swt.table.ECPCellEditor;
@@ -27,7 +30,6 @@
 import org.eclipse.emf.edit.provider.AdapterFactoryItemDelegator;
 import org.eclipse.emf.edit.provider.ComposedAdapterFactory;
 import org.eclipse.emf.edit.provider.ReflectiveItemProviderAdapterFactory;
-import org.eclipse.jface.databinding.swt.WidgetValueProperty;
 import org.eclipse.jface.viewers.CellEditor;
 import org.eclipse.swt.SWT;
 import org.eclipse.swt.events.KeyEvent;
@@ -78,7 +80,7 @@
 	 */
 	@Override
 	public IValueProperty getValueProperty() {
-		return new WidgetValueProperty() {
+		return new SimpleValueProperty() {
 
 			@Override
 			public Object getValueType() {
@@ -102,6 +104,11 @@
 				}
 				return super.observe(source);
 			}
+
+			@Override
+			public INativePropertyListener adaptListener(ISimplePropertyListener listener) {
+				return null;
+			}
 		};
 	}
 
diff --git a/bundles/org.eclipse.emf.ecp.edit.swt/src/org/eclipse/emf/ecp/edit/internal/swt/table/DateCellEditor.java b/bundles/org.eclipse.emf.ecp.edit.swt/src/org/eclipse/emf/ecp/edit/internal/swt/table/DateCellEditor.java
index da99637..90a7cde 100644
--- a/bundles/org.eclipse.emf.ecp.edit.swt/src/org/eclipse/emf/ecp/edit/internal/swt/table/DateCellEditor.java
+++ b/bundles/org.eclipse.emf.ecp.edit.swt/src/org/eclipse/emf/ecp/edit/internal/swt/table/DateCellEditor.java
@@ -22,11 +22,13 @@
 import org.eclipse.core.databinding.DataBindingContext;
 import org.eclipse.core.databinding.UpdateValueStrategy;
 import org.eclipse.core.databinding.observable.value.IObservableValue;
+import org.eclipse.core.databinding.property.INativePropertyListener;
+import org.eclipse.core.databinding.property.ISimplePropertyListener;
 import org.eclipse.core.databinding.property.value.IValueProperty;
+import org.eclipse.core.databinding.property.value.SimpleValueProperty;
 import org.eclipse.emf.ecore.EStructuralFeature;
 import org.eclipse.emf.ecp.edit.spi.swt.table.ECPCellEditor;
 import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
-import org.eclipse.jface.databinding.swt.WidgetValueProperty;
 import org.eclipse.jface.viewers.CellEditor;
 import org.eclipse.swt.SWT;
 import org.eclipse.swt.events.FocusAdapter;
@@ -80,7 +82,7 @@
 
 	@Override
 	public IValueProperty getValueProperty() {
-		return new WidgetValueProperty() {
+		return new SimpleValueProperty() {
 
 			@Override
 			public Object getValueType() {
@@ -104,6 +106,11 @@
 				}
 				return super.observe(source);
 			}
+
+			@Override
+			public INativePropertyListener adaptListener(ISimplePropertyListener listener) {
+				return null;
+			}
 		};
 	}
 
diff --git a/bundles/org.eclipse.emf.ecp.edit.swt/src/org/eclipse/emf/ecp/edit/internal/swt/table/XmlDateCellEditor.java b/bundles/org.eclipse.emf.ecp.edit.swt/src/org/eclipse/emf/ecp/edit/internal/swt/table/XmlDateCellEditor.java
index 4655da1..3611602 100644
--- a/bundles/org.eclipse.emf.ecp.edit.swt/src/org/eclipse/emf/ecp/edit/internal/swt/table/XmlDateCellEditor.java
+++ b/bundles/org.eclipse.emf.ecp.edit.swt/src/org/eclipse/emf/ecp/edit/internal/swt/table/XmlDateCellEditor.java
@@ -24,12 +24,14 @@
 import org.eclipse.core.databinding.DataBindingContext;
 import org.eclipse.core.databinding.UpdateValueStrategy;
 import org.eclipse.core.databinding.observable.value.IObservableValue;
+import org.eclipse.core.databinding.property.INativePropertyListener;
+import org.eclipse.core.databinding.property.ISimplePropertyListener;
 import org.eclipse.core.databinding.property.value.IValueProperty;
+import org.eclipse.core.databinding.property.value.SimpleValueProperty;
 import org.eclipse.emf.ecore.EStructuralFeature;
 import org.eclipse.emf.ecp.edit.internal.swt.util.DateUtil;
 import org.eclipse.emf.ecp.edit.spi.swt.table.ECPCellEditor;
 import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
-import org.eclipse.jface.databinding.swt.WidgetValueProperty;
 import org.eclipse.jface.viewers.CellEditor;
 import org.eclipse.swt.SWT;
 import org.eclipse.swt.events.FocusAdapter;
@@ -88,7 +90,7 @@
 	 */
 	@Override
 	public IValueProperty getValueProperty() {
-		return new WidgetValueProperty() {
+		return new SimpleValueProperty() {
 
 			@Override
 			public Object getValueType() {
@@ -112,6 +114,11 @@
 				}
 				return super.observe(source);
 			}
+
+			@Override
+			public INativePropertyListener adaptListener(ISimplePropertyListener listener) {
+				return null;
+			}
 		};
 	}
 
diff --git a/bundles/org.eclipse.emf.ecp.edit.swt/src/org/eclipse/emf/ecp/edit/internal/swt/util/PreSetValidationListeners.java b/bundles/org.eclipse.emf.ecp.edit.swt/src/org/eclipse/emf/ecp/edit/internal/swt/util/PreSetValidationListeners.java
index 4d662b6..282d09b 100644
--- a/bundles/org.eclipse.emf.ecp.edit.swt/src/org/eclipse/emf/ecp/edit/internal/swt/util/PreSetValidationListeners.java
+++ b/bundles/org.eclipse.emf.ecp.edit.swt/src/org/eclipse/emf/ecp/edit/internal/swt/util/PreSetValidationListeners.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2011-2017 EclipseSource Muenchen GmbH and others.
+ * Copyright (c) 2011-2019 EclipseSource Muenchen GmbH and others.
  *
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License 2.0
@@ -10,6 +10,7 @@
  *
  * Contributors:
  * Edgar Mueller - initial API and implementation
+ * Christian W. Damus - bug 527686
  ******************************************************************************/
 package org.eclipse.emf.ecp.edit.internal.swt.util;
 
@@ -31,15 +32,18 @@
 import org.eclipse.emf.ecp.view.spi.model.VViewFactory;
 import org.eclipse.emfforms.spi.common.validation.PreSetValidationService;
 import org.eclipse.emfforms.spi.common.validation.PreSetValidationServiceRunnable;
+import org.eclipse.emfforms.spi.core.services.view.EMFFormsContextListener;
+import org.eclipse.emfforms.spi.core.services.view.EMFFormsViewContext;
 import org.eclipse.swt.events.FocusEvent;
 import org.eclipse.swt.events.FocusListener;
 import org.eclipse.swt.events.VerifyEvent;
 import org.eclipse.swt.events.VerifyListener;
 import org.eclipse.swt.widgets.Combo;
+import org.eclipse.swt.widgets.Control;
 import org.eclipse.swt.widgets.Text;
 import org.osgi.framework.BundleContext;
 import org.osgi.framework.FrameworkUtil;
-import org.osgi.framework.ServiceReference;
+import org.osgi.util.tracker.ServiceTracker;
 
 /**
  * Utility class for setting up a {@link VerifyListener}
@@ -51,14 +55,24 @@
 	/**
 	 * Singleton instance.
 	 */
+	@Deprecated
 	private static PreSetValidationListeners validationListeners;
-	private static PreSetValidationService preSetValidationService;
+	@Deprecated
+	private static ServiceTracker<PreSetValidationService, PreSetValidationService> serviceTracker;
 
+	private final ViewModelContext context;
+	private PreSetValidationService preSetValidationService;
+
+	@Deprecated
 	private PreSetValidationListeners() {
-		init();
+		this(null);
 	}
 
 	private PreSetValidationListeners(ViewModelContext context) {
+		super();
+
+		this.context = context;
+
 		init(context);
 	}
 
@@ -83,29 +97,33 @@
 	 * @return the factory that can be used to create and attach listeners
 	 */
 	public static PreSetValidationListeners create(ViewModelContext context) {
-		if (validationListeners == null) {
-			validationListeners = new PreSetValidationListeners(context);
+		final String key = PreSetValidationListeners.class.getName();
+		PreSetValidationListeners result = (PreSetValidationListeners) context.getContextValue(key);
+		if (result == null) {
+			result = new PreSetValidationListeners(context);
+			context.putContextValue(key, result);
 		}
-		return validationListeners;
+
+		return result;
 	}
 
-	private void init() {
-		if (preSetValidationService == null) {
+	@Deprecated
+	private static PreSetValidationService getPreSetValidationService() {
+		if (serviceTracker == null) {
 			final BundleContext bundleContext = FrameworkUtil
-				.getBundle(getClass())
+				.getBundle(PreSetValidationListeners.class)
 				.getBundleContext();
-
-			final ServiceReference<PreSetValidationService> serviceReference = bundleContext
-				.getServiceReference(PreSetValidationService.class);
-
-			preSetValidationService = serviceReference != null
-				? bundleContext.getService(serviceReference)
-				: null;
+			serviceTracker = new ServiceTracker<>(bundleContext, PreSetValidationService.class, null);
+			serviceTracker.open();
 		}
+
+		return serviceTracker.getService();
 	}
 
 	private void init(ViewModelContext context) {
-		if (preSetValidationService == null && context.hasService(PreSetValidationService.class)) {
+		if (context == null) {
+			preSetValidationService = getPreSetValidationService();
+		} else if (context.hasService(PreSetValidationService.class)) {
 			preSetValidationService = context.getService(PreSetValidationService.class);
 		}
 	}
@@ -151,8 +169,9 @@
 		final EAttribute attribute = (EAttribute) feature;
 
 		if (preSetValidationService != null) {
-			final VerifyListener verifyListener = new PreSetVerifyListener(vElement, attribute);
-			text.addVerifyListener(verifyListener);
+			final PreSetVerifyListener verifyListener = new PreSetVerifyListener(vElement, attribute,
+				this, preSetValidationService);
+			verifyListener.register(text);
 		}
 	}
 
@@ -175,8 +194,9 @@
 		final EAttribute attribute = (EAttribute) feature;
 
 		if (preSetValidationService != null) {
-			final VerifyListener verifyListener = new PreSetVerifyListener(vElement, attribute);
-			combo.addVerifyListener(verifyListener);
+			final PreSetVerifyListener verifyListener = new PreSetVerifyListener(vElement, attribute,
+				this, preSetValidationService);
+			verifyListener.register(combo);
 		}
 	}
 
@@ -246,28 +266,48 @@
 	 *
 	 */
 	public static class PreSetVerifyListener implements VerifyListener {
-
 		private final EAttribute attribute;
 		private final VElement vElement;
+		private final PreSetValidationListeners validationListeners;
+		private final PreSetValidationService preSetValidationService;
+
+		private Control control;
 
 		/**
 		 * Constructor.
 		 *
 		 * @param vElement the {@link VElement} any {@link VDiagnostic} will be attached to
 		 * @param attribute the {@link EAttribute} to be validated
+		 * @deprecated This constructor uses the deprecated singleton instances that reference the wrong view-model
+		 *             context. As of the 1.22 release, use the
+		 *             {@link PreSetValidationListeners#verify(Text, EStructuralFeature)} API and its
+		 *             variants, and do not manage these listeners directly
 		 */
+		@Deprecated
 		public PreSetVerifyListener(VElement vElement, EAttribute attribute) {
+			this(vElement, attribute, PreSetValidationListeners.validationListeners, getPreSetValidationService());
+		}
+
+		/**
+		 * Constructor.
+		 *
+		 * @param vElement the {@link VElement} any {@link VDiagnostic} will be attached to
+		 * @param attribute the {@link EAttribute} to be validated
+		 * @param validationListeners the validation listeners that I support
+		 * @param preSetValidationService the validation service to delegate to
+		 */
+		PreSetVerifyListener(VElement vElement, EAttribute attribute, PreSetValidationListeners validationListeners,
+			PreSetValidationService preSetValidationService) {
+
 			this.vElement = vElement;
 			this.attribute = attribute;
+			this.validationListeners = validationListeners;
+			this.preSetValidationService = preSetValidationService;
+
+			validationListeners.context.registerEMFFormsContextListener(createContextListener());
 		}
 
 		@Override
-		/**
-		 *
-		 * {@inheritDoc}
-		 *
-		 * @see org.eclipse.swt.events.VerifyListener#verifyText(org.eclipse.swt.events.VerifyEvent)
-		 */
 		public void verifyText(VerifyEvent e) {
 			final String changedText = obtainText(e);
 
@@ -334,5 +374,69 @@
 			return classifier.getInstanceTypeName().equals(Integer.class.getCanonicalName());
 		}
 
+		private void register(Control control) {
+			// while the renderer is setting up, or while the context is (re-)initializing from
+			// a root domain model change, we should not perform pre-set validation
+			this.control = control;
+
+			control.getDisplay().asyncExec(this::start);
+		}
+
+		private void start() {
+			if (control != null && !control.isDisposed()) {
+				if (control instanceof Text) {
+					((Text) control).addVerifyListener(this);
+				} else if (control instanceof Combo) {
+					((Combo) control).addVerifyListener(this);
+				}
+			}
+		}
+
+		private Control stop() {
+			final Control result = control;
+
+			if (control != null && !control.isDisposed()) {
+				if (control instanceof Text) {
+					((Text) control).removeVerifyListener(this);
+				} else if (control instanceof Combo) {
+					((Combo) control).removeVerifyListener(this);
+				}
+			}
+
+			control = null;
+			return result;
+		}
+
+		private EMFFormsContextListener createContextListener() {
+			return new EMFFormsContextListener() {
+
+				private Control control;
+
+				@Override
+				public void contextInitialised() {
+					if (control != null && !control.isDisposed()) {
+						register(control);
+					}
+				}
+
+				@Override
+				public void contextDispose() {
+					control = stop();
+				}
+
+				@Override
+				public void childContextAdded(VElement parentElement, EMFFormsViewContext childContext) {
+					// Not interesting
+				}
+
+				@Override
+				public void childContextDisposed(EMFFormsViewContext childContext) {
+					// Not interesting
+				}
+
+			};
+		}
+
 	}
+
 }
diff --git a/bundles/org.eclipse.emf.ecp.edit.swt/src/org/eclipse/emf/ecp/edit/spi/swt/table/StringCellEditor.java b/bundles/org.eclipse.emf.ecp.edit.swt/src/org/eclipse/emf/ecp/edit/spi/swt/table/StringCellEditor.java
index 06e3839..5372a11 100644
--- a/bundles/org.eclipse.emf.ecp.edit.swt/src/org/eclipse/emf/ecp/edit/spi/swt/table/StringCellEditor.java
+++ b/bundles/org.eclipse.emf.ecp.edit.swt/src/org/eclipse/emf/ecp/edit/spi/swt/table/StringCellEditor.java
@@ -18,6 +18,7 @@
 import org.eclipse.core.databinding.property.value.IValueProperty;
 import org.eclipse.emf.ecore.EStructuralFeature;
 import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
+import org.eclipse.emf.edit.command.SetCommand;
 import org.eclipse.jface.databinding.swt.WidgetProperties;
 import org.eclipse.jface.databinding.viewers.CellEditorProperties;
 import org.eclipse.swt.SWT;
@@ -61,33 +62,16 @@
 		super(parent, style);
 	}
 
-	/**
-	 * {@inheritDoc}
-	 *
-	 * @see org.eclipse.emf.ecp.edit.spi.swt.table.ECPCellEditor#getValueProperty()
-	 */
 	@Override
 	public IValueProperty getValueProperty() {
 		return CellEditorProperties.control().value(WidgetProperties.text(SWT.FocusOut));
 	}
 
-	/**
-	 * {@inheritDoc}
-	 *
-	 * @see org.eclipse.emf.ecp.edit.spi.swt.table.ECPCellEditor#instantiate(org.eclipse.emf.ecore.EStructuralFeature,
-	 *      org.eclipse.emf.ecp.view.spi.context.ViewModelContext)
-	 */
 	@Override
 	public void instantiate(EStructuralFeature feature, ViewModelContext viewModelContext) {
 		eStructuralFeature = feature;
 	}
 
-	/**
-	 *
-	 * {@inheritDoc}
-	 *
-	 * @see org.eclipse.emf.ecp.edit.spi.swt.table.ECPCellEditor#getFormatedString(java.lang.Object)
-	 */
 	@Override
 	public String getFormatedString(Object value) {
 		if (value == null) {
@@ -96,47 +80,34 @@
 		return String.valueOf(value);
 	}
 
-	/**
-	 *
-	 * {@inheritDoc}
-	 *
-	 * @see org.eclipse.emf.ecp.edit.spi.swt.table.ECPCellEditor#getColumnWidthWeight()
-	 */
 	@Override
 	public int getColumnWidthWeight() {
 		return 100;
 	}
 
-	/**
-	 *
-	 * {@inheritDoc}
-	 *
-	 * @see org.eclipse.emf.ecp.edit.spi.swt.table.ECPCellEditor#getTargetToModelStrategy(org.eclipse.core.databinding.DataBindingContext)
-	 * @since 1.6
-	 */
 	@Override
 	public UpdateValueStrategy getTargetToModelStrategy(DataBindingContext databindingContext) {
-		return withPreSetValidation(eStructuralFeature, new UpdateValueStrategy());
+		return withPreSetValidation(eStructuralFeature, new UpdateValueStrategy() {
+
+			@Override
+			public Object convert(Object value) {
+				if ("".equals(value)) { //$NON-NLS-1$
+					value = null;
+				}
+				if (value == null && eStructuralFeature.isUnsettable()) {
+					return SetCommand.UNSET_VALUE;
+				}
+				return super.convert(value);
+			}
+
+		});
 	}
 
-	/**
-	 *
-	 * {@inheritDoc}
-	 *
-	 * @see org.eclipse.emf.ecp.edit.spi.swt.table.ECPCellEditor#getModelToTargetStrategy(org.eclipse.core.databinding.DataBindingContext)
-	 * @since 1.6
-	 */
 	@Override
 	public UpdateValueStrategy getModelToTargetStrategy(DataBindingContext databindingContext) {
 		return null;
 	}
 
-	/**
-	 *
-	 * {@inheritDoc}
-	 *
-	 * @see org.eclipse.emf.ecp.edit.spi.swt.table.ECPCellEditor#setEditable(boolean)
-	 */
 	@Override
 	public void setEditable(boolean editable) {
 		if (text != null) {
@@ -144,22 +115,11 @@
 		}
 	}
 
-	/**
-	 * {@inheritDoc}
-	 *
-	 * @see org.eclipse.emf.ecp.edit.spi.swt.table.ECPCellEditor#getImage(java.lang.Object)
-	 */
 	@Override
 	public Image getImage(Object value) {
 		return null;
 	}
 
-	/**
-	 * {@inheritDoc}
-	 *
-	 * @see org.eclipse.emf.ecp.edit.spi.swt.table.ECPCellEditor#getMinWidth()
-	 * @since 1.6
-	 */
 	@Override
 	public int getMinWidth() {
 		return 0;
diff --git a/bundles/org.eclipse.emf.ecp.edit/.project b/bundles/org.eclipse.emf.ecp.edit/.project
index f470f5f..eb6b4c3 100644
--- a/bundles/org.eclipse.emf.ecp.edit/.project
+++ b/bundles/org.eclipse.emf.ecp.edit/.project
@@ -46,6 +46,5 @@
 		<nature>org.eclipse.jdt.core.javanature</nature>

 		<nature>net.sf.eclipsecs.core.CheckstyleNature</nature>

 		<nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature>

-		<nature>com.wuetherich.osgi.ds.annotations.dsAnnotationNature</nature>

 	</natures>

 </projectDescription>

diff --git a/bundles/org.eclipse.emf.ecp.edit/.settings/org.eclipse.pde.api.tools.prefs b/bundles/org.eclipse.emf.ecp.edit/.settings/org.eclipse.pde.api.tools.prefs
index e4e3c00..cfb400b 100644
--- a/bundles/org.eclipse.emf.ecp.edit/.settings/org.eclipse.pde.api.tools.prefs
+++ b/bundles/org.eclipse.emf.ecp.edit/.settings/org.eclipse.pde.api.tools.prefs
@@ -1,3 +1,4 @@
+ANNOTATION_ELEMENT_TYPE_ADDED_FIELD=Error
 ANNOTATION_ELEMENT_TYPE_ADDED_METHOD_WITHOUT_DEFAULT_VALUE=Error
 ANNOTATION_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
 ANNOTATION_ELEMENT_TYPE_REMOVED_FIELD=Error
@@ -10,6 +11,7 @@
 API_USE_SCAN_FIELD_SEVERITY=Error
 API_USE_SCAN_METHOD_SEVERITY=Error
 API_USE_SCAN_TYPE_SEVERITY=Error
+CLASS_ELEMENT_TYPE_ADDED_FIELD=Error
 CLASS_ELEMENT_TYPE_ADDED_METHOD=Error
 CLASS_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
 CLASS_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
@@ -49,6 +51,7 @@
 ILLEGAL_INSTANTIATE=Warning
 ILLEGAL_OVERRIDE=Warning
 ILLEGAL_REFERENCE=Warning
+INTERFACE_ELEMENT_TYPE_ADDED_DEFAULT_METHOD=Ignore
 INTERFACE_ELEMENT_TYPE_ADDED_FIELD=Error
 INTERFACE_ELEMENT_TYPE_ADDED_METHOD=Error
 INTERFACE_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
@@ -60,6 +63,7 @@
 INTERFACE_ELEMENT_TYPE_REMOVED_METHOD=Error
 INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
 INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
+INVALID_ANNOTATION=Warning
 INVALID_JAVADOC_TAG=Warning
 INVALID_REFERENCE_IN_SYSTEM_LIBRARIES=Error
 LEAK_EXTEND=Warning
@@ -86,10 +90,13 @@
 TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error
 UNUSED_PROBLEM_FILTERS=Ignore
 automatically_removed_unused_problem_filters=Disabled
+changed_execution_env=Error
 eclipse.preferences.version=1
 incompatible_api_component_version=Error
 incompatible_api_component_version_include_major_without_breaking_change=Disabled
 incompatible_api_component_version_include_minor_without_api_change=Disabled
+incompatible_api_component_version_report_major_without_breaking_change=Ignore
+incompatible_api_component_version_report_minor_without_api_change=Ignore
 invalid_since_tag_version=Error
 malformed_since_tag=Error
 missing_since_tag=Error
diff --git a/bundles/org.eclipse.emf.ecp.edit/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.edit/META-INF/MANIFEST.MF
index 263d800..c466152 100644
--- a/bundles/org.eclipse.emf.ecp.edit/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.edit/META-INF/MANIFEST.MF
@@ -2,25 +2,25 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %Bundle-Name
 Bundle-SymbolicName: org.eclipse.emf.ecp.edit;singleton:=true
-Bundle-Version: 1.21.0.qualifier
+Bundle-Version: 1.22.0.qualifier
 Bundle-Activator: org.eclipse.emf.ecp.internal.edit.Activator
 Bundle-Vendor: %Bundle-Vendor
-Export-Package: org.eclipse.emf.ecp.edit.spi;version="1.21.0",
- org.eclipse.emf.ecp.edit.spi.util;version="1.21.0",
- org.eclipse.emf.ecp.internal.edit;version="1.21.0";x-internal:=true
+Export-Package: org.eclipse.emf.ecp.edit.spi;version="1.22.0",
+ org.eclipse.emf.ecp.edit.spi.util;version="1.22.0",
+ org.eclipse.emf.ecp.internal.edit;version="1.22.0";x-internal:=true
 Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.7.0,4.0.0)",
  org.eclipse.emf.ecore;bundle-version="[2.6.0,3.0.0)",
  org.eclipse.emf.edit;bundle-version="[2.8.0,3.0.0)",
  org.eclipse.core.databinding;bundle-version="[1.3.0,2.0.0)";visibility:=reexport,
  org.eclipse.emf.databinding.edit;bundle-version="[1.3.0,2.0.0)",
- org.eclipse.emf.ecp.view.context;bundle-version="[1.21.0,1.22.0)",
- org.eclipse.emf.ecp.view.model;bundle-version="[1.21.0,1.22.0)";visibility:=reexport,
- org.eclipse.emf.ecp.view.model.common;bundle-version="[1.21.0,1.22.0)",
+ org.eclipse.emf.ecp.view.context;bundle-version="[1.22.0,1.23.0)",
+ org.eclipse.emf.ecp.view.model;bundle-version="[1.22.0,1.23.0)";visibility:=reexport,
+ org.eclipse.emf.ecp.view.model.common;bundle-version="[1.22.0,1.23.0)",
  org.eclipse.core.databinding.property;bundle-version="[1.4.0,2.0.0)",
- org.eclipse.emfforms.localization;bundle-version="[1.21.0,1.22.0)"
-Import-Package: org.eclipse.emf.ecp.view.model.common.edit.provider;version="[1.21.0,1.22.0)",
- org.eclipse.emfforms.spi.common.report;version="[1.21.0,1.22.0)",
- org.eclipse.emfforms.spi.core.services.databinding;version="[1.21.0,1.22.0)",
+ org.eclipse.emfforms.localization;bundle-version="[1.22.0,1.23.0)"
+Import-Package: org.eclipse.emf.ecp.view.model.common.edit.provider;version="[1.22.0,1.23.0)",
+ org.eclipse.emfforms.spi.common.report;version="[1.22.0,1.23.0)",
+ org.eclipse.emfforms.spi.core.services.databinding;version="[1.22.0,1.23.0)",
  org.osgi.service.component.annotations;version="1.2.0"
 Automatic-Module-Name: org.eclipse.emf.ecp.edit
 Service-Component: OSGI-INF/ecpControlFactory.xml,OSGI-INF/org.eclipse.emf.ecp.internal.edit.DeleteServiceFactoryImpl.xml
diff --git a/bundles/org.eclipse.emf.ecp.edit/pom.xml b/bundles/org.eclipse.emf.ecp.edit/pom.xml
index 783ceb1..6df46e4 100644
--- a/bundles/org.eclipse.emf.ecp.edit/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.edit/pom.xml
@@ -5,11 +5,11 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.21.0-SNAPSHOT</version>
+    <version>1.22.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emf.ecp.edit</artifactId>
-  <version>1.21.0-SNAPSHOT</version>
+  <version>1.22.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
 </project>
diff --git a/bundles/org.eclipse.emf.ecp.editor.e3/.settings/org.eclipse.pde.api.tools.prefs b/bundles/org.eclipse.emf.ecp.editor.e3/.settings/org.eclipse.pde.api.tools.prefs
index e4e3c00..cfb400b 100644
--- a/bundles/org.eclipse.emf.ecp.editor.e3/.settings/org.eclipse.pde.api.tools.prefs
+++ b/bundles/org.eclipse.emf.ecp.editor.e3/.settings/org.eclipse.pde.api.tools.prefs
@@ -1,3 +1,4 @@
+ANNOTATION_ELEMENT_TYPE_ADDED_FIELD=Error
 ANNOTATION_ELEMENT_TYPE_ADDED_METHOD_WITHOUT_DEFAULT_VALUE=Error
 ANNOTATION_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
 ANNOTATION_ELEMENT_TYPE_REMOVED_FIELD=Error
@@ -10,6 +11,7 @@
 API_USE_SCAN_FIELD_SEVERITY=Error
 API_USE_SCAN_METHOD_SEVERITY=Error
 API_USE_SCAN_TYPE_SEVERITY=Error
+CLASS_ELEMENT_TYPE_ADDED_FIELD=Error
 CLASS_ELEMENT_TYPE_ADDED_METHOD=Error
 CLASS_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
 CLASS_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
@@ -49,6 +51,7 @@
 ILLEGAL_INSTANTIATE=Warning
 ILLEGAL_OVERRIDE=Warning
 ILLEGAL_REFERENCE=Warning
+INTERFACE_ELEMENT_TYPE_ADDED_DEFAULT_METHOD=Ignore
 INTERFACE_ELEMENT_TYPE_ADDED_FIELD=Error
 INTERFACE_ELEMENT_TYPE_ADDED_METHOD=Error
 INTERFACE_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
@@ -60,6 +63,7 @@
 INTERFACE_ELEMENT_TYPE_REMOVED_METHOD=Error
 INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
 INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
+INVALID_ANNOTATION=Warning
 INVALID_JAVADOC_TAG=Warning
 INVALID_REFERENCE_IN_SYSTEM_LIBRARIES=Error
 LEAK_EXTEND=Warning
@@ -86,10 +90,13 @@
 TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error
 UNUSED_PROBLEM_FILTERS=Ignore
 automatically_removed_unused_problem_filters=Disabled
+changed_execution_env=Error
 eclipse.preferences.version=1
 incompatible_api_component_version=Error
 incompatible_api_component_version_include_major_without_breaking_change=Disabled
 incompatible_api_component_version_include_minor_without_api_change=Disabled
+incompatible_api_component_version_report_major_without_breaking_change=Ignore
+incompatible_api_component_version_report_minor_without_api_change=Ignore
 invalid_since_tag_version=Error
 malformed_since_tag=Error
 missing_since_tag=Error
diff --git a/bundles/org.eclipse.emf.ecp.editor.e3/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.editor.e3/META-INF/MANIFEST.MF
index e62be71..006d813 100644
--- a/bundles/org.eclipse.emf.ecp.editor.e3/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.editor.e3/META-INF/MANIFEST.MF
@@ -2,24 +2,24 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: ECP Editor integration for 3.x Workbench
 Bundle-SymbolicName: org.eclipse.emf.ecp.editor.e3;singleton:=true
-Bundle-Version: 1.21.0.qualifier
+Bundle-Version: 1.22.0.qualifier
 Bundle-Activator: org.eclipse.emf.ecp.editor.internal.e3.Activator
 Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emf.ecp.editor.e3;version="1.21.0";x-friends:="org.eclipse.emf.ecp.explorereditorbridge",
- org.eclipse.emf.ecp.editor.internal.e3;version="1.21.0";x-internal:=true
+Export-Package: org.eclipse.emf.ecp.editor.e3;version="1.22.0";x-friends:="org.eclipse.emf.ecp.explorereditorbridge",
+ org.eclipse.emf.ecp.editor.internal.e3;version="1.22.0";x-internal:=true
 Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.4.0,4.0.0)",
  org.eclipse.emf.ecore;bundle-version="[2.5.0,3.0.0)",
- org.eclipse.emf.ecp.ui;bundle-version="[1.21.0,1.22.0)",
- org.eclipse.emf.ecp.edit.swt;bundle-version="[1.21.0,1.22.0)",
- org.eclipse.emf.ecp.ui.view;bundle-version="[1.21.0,1.22.0)",
- org.eclipse.emf.ecp.ui.view.swt;bundle-version="[1.21.0,1.22.0)",
- org.eclipse.emf.ecp.view.context;bundle-version="[1.21.0,1.22.0)",
- org.eclipse.emfforms.core.services;bundle-version="[1.21.0,1.22.0)"
+ org.eclipse.emf.ecp.ui;bundle-version="[1.22.0,1.23.0)",
+ org.eclipse.emf.ecp.edit.swt;bundle-version="[1.22.0,1.23.0)",
+ org.eclipse.emf.ecp.ui.view;bundle-version="[1.22.0,1.23.0)",
+ org.eclipse.emf.ecp.ui.view.swt;bundle-version="[1.22.0,1.23.0)",
+ org.eclipse.emf.ecp.view.context;bundle-version="[1.22.0,1.23.0)",
+ org.eclipse.emfforms.core.services;bundle-version="[1.22.0,1.23.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Bundle-ActivationPolicy: lazy
 Import-Package: org.eclipse.core.commands;version="0.0.0",
  org.eclipse.emf.edit.ui.provider;version="0.0.0",
- org.eclipse.emfforms.spi.common.report;version="[1.21.0,1.22.0)",
+ org.eclipse.emfforms.spi.common.report;version="[1.22.0,1.23.0)",
  org.eclipse.jface.action;version="0.0.0",
  org.eclipse.jface.dialogs;version="0.0.0",
  org.eclipse.jface.resource;version="0.0.0",
diff --git a/bundles/org.eclipse.emf.ecp.editor.e3/pom.xml b/bundles/org.eclipse.emf.ecp.editor.e3/pom.xml
index 030d917..1f4b3c2 100644
--- a/bundles/org.eclipse.emf.ecp.editor.e3/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.editor.e3/pom.xml
@@ -5,12 +5,12 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.21.0-SNAPSHOT</version>
+    <version>1.22.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emf.ecp.editor.e3</artifactId>
-  <version>1.21.0-SNAPSHOT</version>
+  <version>1.22.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
   
   <properties>
diff --git a/bundles/org.eclipse.emf.ecp.emf2web.json/.settings/org.eclipse.pde.api.tools.prefs b/bundles/org.eclipse.emf.ecp.emf2web.json/.settings/org.eclipse.pde.api.tools.prefs
index e4e3c00..cfb400b 100644
--- a/bundles/org.eclipse.emf.ecp.emf2web.json/.settings/org.eclipse.pde.api.tools.prefs
+++ b/bundles/org.eclipse.emf.ecp.emf2web.json/.settings/org.eclipse.pde.api.tools.prefs
@@ -1,3 +1,4 @@
+ANNOTATION_ELEMENT_TYPE_ADDED_FIELD=Error
 ANNOTATION_ELEMENT_TYPE_ADDED_METHOD_WITHOUT_DEFAULT_VALUE=Error
 ANNOTATION_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
 ANNOTATION_ELEMENT_TYPE_REMOVED_FIELD=Error
@@ -10,6 +11,7 @@
 API_USE_SCAN_FIELD_SEVERITY=Error
 API_USE_SCAN_METHOD_SEVERITY=Error
 API_USE_SCAN_TYPE_SEVERITY=Error
+CLASS_ELEMENT_TYPE_ADDED_FIELD=Error
 CLASS_ELEMENT_TYPE_ADDED_METHOD=Error
 CLASS_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
 CLASS_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
@@ -49,6 +51,7 @@
 ILLEGAL_INSTANTIATE=Warning
 ILLEGAL_OVERRIDE=Warning
 ILLEGAL_REFERENCE=Warning
+INTERFACE_ELEMENT_TYPE_ADDED_DEFAULT_METHOD=Ignore
 INTERFACE_ELEMENT_TYPE_ADDED_FIELD=Error
 INTERFACE_ELEMENT_TYPE_ADDED_METHOD=Error
 INTERFACE_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
@@ -60,6 +63,7 @@
 INTERFACE_ELEMENT_TYPE_REMOVED_METHOD=Error
 INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
 INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
+INVALID_ANNOTATION=Warning
 INVALID_JAVADOC_TAG=Warning
 INVALID_REFERENCE_IN_SYSTEM_LIBRARIES=Error
 LEAK_EXTEND=Warning
@@ -86,10 +90,13 @@
 TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error
 UNUSED_PROBLEM_FILTERS=Ignore
 automatically_removed_unused_problem_filters=Disabled
+changed_execution_env=Error
 eclipse.preferences.version=1
 incompatible_api_component_version=Error
 incompatible_api_component_version_include_major_without_breaking_change=Disabled
 incompatible_api_component_version_include_minor_without_api_change=Disabled
+incompatible_api_component_version_report_major_without_breaking_change=Ignore
+incompatible_api_component_version_report_minor_without_api_change=Ignore
 invalid_since_tag_version=Error
 malformed_since_tag=Error
 missing_since_tag=Error
diff --git a/bundles/org.eclipse.emf.ecp.emf2web.json/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.emf2web.json/META-INF/MANIFEST.MF
index 599b536..1f712d9 100644
--- a/bundles/org.eclipse.emf.ecp.emf2web.json/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.emf2web.json/META-INF/MANIFEST.MF
@@ -2,22 +2,22 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: EMF To Web JSON
 Bundle-SymbolicName: org.eclipse.emf.ecp.emf2web.json
-Bundle-Version: 1.21.0.qualifier
+Bundle-Version: 1.22.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emf.ecp.emf2web.json.controller.xtend;version="1.21.0",
- org.eclipse.emf.ecp.emf2web.json.generator.seed.xtend;version="1.21.0",
- org.eclipse.emf.ecp.emf2web.json.generator.xtend;version="1.21.0",
- org.eclipse.emf.ecp.emf2web.json.util;version="1.21.0";x-internal:=true
+Export-Package: org.eclipse.emf.ecp.emf2web.json.controller.xtend;version="1.22.0",
+ org.eclipse.emf.ecp.emf2web.json.generator.seed.xtend;version="1.22.0",
+ org.eclipse.emf.ecp.emf2web.json.generator.xtend;version="1.22.0",
+ org.eclipse.emf.ecp.emf2web.json.util;version="1.22.0";x-internal:=true
 Require-Bundle: org.eclipse.xtext.xbase.lib;bundle-version="[2.8.0,3.0.0)",
  org.eclipse.xtend.lib;bundle-version="[2.8.0,3.0.0)",
  org.eclipse.xtend.lib.macro;bundle-version="[2.8.0,3.0.0)",
- org.eclipse.emf.ecp.emf2web;bundle-version="[1.21.0,1.22.0)",
- org.eclipse.emf.ecp.view.model;bundle-version="[1.21.0,1.22.0)",
+ org.eclipse.emf.ecp.emf2web;bundle-version="[1.22.0,1.23.0)",
+ org.eclipse.emf.ecp.view.model;bundle-version="[1.22.0,1.23.0)",
  com.google.gson;bundle-version="[2.2.0,3.0.0)",
- org.eclipse.emf.ecp.view.categorization.model;bundle-version="[1.21.0,1.22.0)",
- org.eclipse.emf.ecp.view.label.model;bundle-version="[1.21.0,1.22.0)",
- org.eclipse.emf.ecp.view.table.model;bundle-version="[1.21.0,1.22.0)",
- org.eclipse.emf.ecp.view.custom.model;bundle-version="[1.21.0,1.22.0)"
+ org.eclipse.emf.ecp.view.categorization.model;bundle-version="[1.22.0,1.23.0)",
+ org.eclipse.emf.ecp.view.label.model;bundle-version="[1.22.0,1.23.0)",
+ org.eclipse.emf.ecp.view.table.model;bundle-version="[1.22.0,1.23.0)",
+ org.eclipse.emf.ecp.view.custom.model;bundle-version="[1.22.0,1.23.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Automatic-Module-Name: org.eclipse.emf.ecp.emf2web.json
 Bundle-ActivationPolicy: lazy
diff --git a/bundles/org.eclipse.emf.ecp.emf2web.json/pom.xml b/bundles/org.eclipse.emf.ecp.emf2web.json/pom.xml
index 5ce5c26..ec101bd 100644
--- a/bundles/org.eclipse.emf.ecp.emf2web.json/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.emf2web.json/pom.xml
@@ -7,12 +7,12 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.21.0-SNAPSHOT</version>
+    <version>1.22.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
 
   <artifactId>org.eclipse.emf.ecp.emf2web.json</artifactId>
   <packaging>eclipse-plugin</packaging>
   <groupId>org.eclipse.emf.ecp</groupId>
-    <version>1.21.0-SNAPSHOT</version>
+    <version>1.22.0-SNAPSHOT</version>
 </project>
diff --git a/bundles/org.eclipse.emf.ecp.emf2web.ui.json/.settings/org.eclipse.pde.api.tools.prefs b/bundles/org.eclipse.emf.ecp.emf2web.ui.json/.settings/org.eclipse.pde.api.tools.prefs
index e4e3c00..cfb400b 100644
--- a/bundles/org.eclipse.emf.ecp.emf2web.ui.json/.settings/org.eclipse.pde.api.tools.prefs
+++ b/bundles/org.eclipse.emf.ecp.emf2web.ui.json/.settings/org.eclipse.pde.api.tools.prefs
@@ -1,3 +1,4 @@
+ANNOTATION_ELEMENT_TYPE_ADDED_FIELD=Error
 ANNOTATION_ELEMENT_TYPE_ADDED_METHOD_WITHOUT_DEFAULT_VALUE=Error
 ANNOTATION_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
 ANNOTATION_ELEMENT_TYPE_REMOVED_FIELD=Error
@@ -10,6 +11,7 @@
 API_USE_SCAN_FIELD_SEVERITY=Error
 API_USE_SCAN_METHOD_SEVERITY=Error
 API_USE_SCAN_TYPE_SEVERITY=Error
+CLASS_ELEMENT_TYPE_ADDED_FIELD=Error
 CLASS_ELEMENT_TYPE_ADDED_METHOD=Error
 CLASS_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
 CLASS_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
@@ -49,6 +51,7 @@
 ILLEGAL_INSTANTIATE=Warning
 ILLEGAL_OVERRIDE=Warning
 ILLEGAL_REFERENCE=Warning
+INTERFACE_ELEMENT_TYPE_ADDED_DEFAULT_METHOD=Ignore
 INTERFACE_ELEMENT_TYPE_ADDED_FIELD=Error
 INTERFACE_ELEMENT_TYPE_ADDED_METHOD=Error
 INTERFACE_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
@@ -60,6 +63,7 @@
 INTERFACE_ELEMENT_TYPE_REMOVED_METHOD=Error
 INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
 INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
+INVALID_ANNOTATION=Warning
 INVALID_JAVADOC_TAG=Warning
 INVALID_REFERENCE_IN_SYSTEM_LIBRARIES=Error
 LEAK_EXTEND=Warning
@@ -86,10 +90,13 @@
 TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error
 UNUSED_PROBLEM_FILTERS=Ignore
 automatically_removed_unused_problem_filters=Disabled
+changed_execution_env=Error
 eclipse.preferences.version=1
 incompatible_api_component_version=Error
 incompatible_api_component_version_include_major_without_breaking_change=Disabled
 incompatible_api_component_version_include_minor_without_api_change=Disabled
+incompatible_api_component_version_report_major_without_breaking_change=Ignore
+incompatible_api_component_version_report_minor_without_api_change=Ignore
 invalid_since_tag_version=Error
 malformed_since_tag=Error
 missing_since_tag=Error
diff --git a/bundles/org.eclipse.emf.ecp.emf2web.ui.json/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.emf2web.ui.json/META-INF/MANIFEST.MF
index 6acc7e9..2e6d3c8 100644
--- a/bundles/org.eclipse.emf.ecp.emf2web.ui.json/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.emf2web.ui.json/META-INF/MANIFEST.MF
@@ -2,21 +2,21 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: EMF To Web JSON UI
 Bundle-SymbolicName: org.eclipse.emf.ecp.emf2web.ui.json;singleton:=true
-Bundle-Version: 1.21.0.qualifier
+Bundle-Version: 1.22.0.qualifier
 Bundle-Activator: org.eclipse.emf.ecp.emf2web.ui.json.Activator
 Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emf.ecp.emf2web.ui.json;version="1.21.0";x-internal:=true,
- org.eclipse.emf.ecp.emf2web.ui.json.internal.handler;version="1.21.0";x-internal:=true,
- org.eclipse.emf.ecp.emf2web.ui.json.internal.messages;version="1.21.0";x-internal:=true
+Export-Package: org.eclipse.emf.ecp.emf2web.ui.json;version="1.22.0";x-internal:=true,
+ org.eclipse.emf.ecp.emf2web.ui.json.internal.handler;version="1.22.0";x-internal:=true,
+ org.eclipse.emf.ecp.emf2web.ui.json.internal.messages;version="1.22.0";x-internal:=true
 Require-Bundle: org.eclipse.ui;bundle-version="[3.107.0,4.0.0)",
- org.eclipse.emf.ecp.emf2web.ui;bundle-version="[1.21.0,1.22.0)",
+ org.eclipse.emf.ecp.emf2web.ui;bundle-version="[1.22.0,1.23.0)",
  org.eclipse.core.resources;bundle-version="[3.10.0,4.0.0)",
  org.eclipse.core.runtime;bundle-version="[3.11.0,4.0.0)",
  org.eclipse.emf.ecore;bundle-version="[2.11.0,3.0.0)",
- org.eclipse.emf.ecp.view.model;bundle-version="[1.21.0,1.22.0)",
- org.eclipse.emf.ecp.emf2web;bundle-version="[1.21.0,1.22.0)",
- org.eclipse.emf.ecp.emf2web.json;bundle-version="[1.21.0,1.22.0)",
- org.eclipse.emf.ecp.ide.util;bundle-version="[1.21.0,1.22.0)"
+ org.eclipse.emf.ecp.view.model;bundle-version="[1.22.0,1.23.0)",
+ org.eclipse.emf.ecp.emf2web;bundle-version="[1.22.0,1.23.0)",
+ org.eclipse.emf.ecp.emf2web.json;bundle-version="[1.22.0,1.23.0)",
+ org.eclipse.emf.ecp.ide.util;bundle-version="[1.22.0,1.23.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Automatic-Module-Name: org.eclipse.emf.ecp.emf2web.ui.json
 Bundle-ActivationPolicy: lazy
diff --git a/bundles/org.eclipse.emf.ecp.emf2web.ui.json/pom.xml b/bundles/org.eclipse.emf.ecp.emf2web.ui.json/pom.xml
index ae2478e..3a24d0e 100644
--- a/bundles/org.eclipse.emf.ecp.emf2web.ui.json/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.emf2web.ui.json/pom.xml
@@ -7,12 +7,12 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.21.0-SNAPSHOT</version>
+    <version>1.22.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
 
   <artifactId>org.eclipse.emf.ecp.emf2web.ui.json</artifactId>
   <packaging>eclipse-plugin</packaging>
   <groupId>org.eclipse.emf.ecp</groupId>
-    <version>1.21.0-SNAPSHOT</version>
+    <version>1.22.0-SNAPSHOT</version>
 </project>
diff --git a/bundles/org.eclipse.emf.ecp.emf2web.ui/.settings/org.eclipse.pde.api.tools.prefs b/bundles/org.eclipse.emf.ecp.emf2web.ui/.settings/org.eclipse.pde.api.tools.prefs
index e4e3c00..cfb400b 100644
--- a/bundles/org.eclipse.emf.ecp.emf2web.ui/.settings/org.eclipse.pde.api.tools.prefs
+++ b/bundles/org.eclipse.emf.ecp.emf2web.ui/.settings/org.eclipse.pde.api.tools.prefs
@@ -1,3 +1,4 @@
+ANNOTATION_ELEMENT_TYPE_ADDED_FIELD=Error
 ANNOTATION_ELEMENT_TYPE_ADDED_METHOD_WITHOUT_DEFAULT_VALUE=Error
 ANNOTATION_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
 ANNOTATION_ELEMENT_TYPE_REMOVED_FIELD=Error
@@ -10,6 +11,7 @@
 API_USE_SCAN_FIELD_SEVERITY=Error
 API_USE_SCAN_METHOD_SEVERITY=Error
 API_USE_SCAN_TYPE_SEVERITY=Error
+CLASS_ELEMENT_TYPE_ADDED_FIELD=Error
 CLASS_ELEMENT_TYPE_ADDED_METHOD=Error
 CLASS_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
 CLASS_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
@@ -49,6 +51,7 @@
 ILLEGAL_INSTANTIATE=Warning
 ILLEGAL_OVERRIDE=Warning
 ILLEGAL_REFERENCE=Warning
+INTERFACE_ELEMENT_TYPE_ADDED_DEFAULT_METHOD=Ignore
 INTERFACE_ELEMENT_TYPE_ADDED_FIELD=Error
 INTERFACE_ELEMENT_TYPE_ADDED_METHOD=Error
 INTERFACE_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
@@ -60,6 +63,7 @@
 INTERFACE_ELEMENT_TYPE_REMOVED_METHOD=Error
 INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
 INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
+INVALID_ANNOTATION=Warning
 INVALID_JAVADOC_TAG=Warning
 INVALID_REFERENCE_IN_SYSTEM_LIBRARIES=Error
 LEAK_EXTEND=Warning
@@ -86,10 +90,13 @@
 TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error
 UNUSED_PROBLEM_FILTERS=Ignore
 automatically_removed_unused_problem_filters=Disabled
+changed_execution_env=Error
 eclipse.preferences.version=1
 incompatible_api_component_version=Error
 incompatible_api_component_version_include_major_without_breaking_change=Disabled
 incompatible_api_component_version_include_minor_without_api_change=Disabled
+incompatible_api_component_version_report_major_without_breaking_change=Ignore
+incompatible_api_component_version_report_minor_without_api_change=Ignore
 invalid_since_tag_version=Error
 malformed_since_tag=Error
 missing_since_tag=Error
diff --git a/bundles/org.eclipse.emf.ecp.emf2web.ui/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.emf2web.ui/META-INF/MANIFEST.MF
index e6961f6..6c7cac8 100644
--- a/bundles/org.eclipse.emf.ecp.emf2web.ui/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.emf2web.ui/META-INF/MANIFEST.MF
@@ -2,12 +2,12 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: EMF To Web UI
 Bundle-SymbolicName: org.eclipse.emf.ecp.emf2web.ui;singleton:=true
-Bundle-Version: 1.21.0.qualifier
+Bundle-Version: 1.22.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emf.ecp.emf2web.ui.handler;version="1.21.0",
- org.eclipse.emf.ecp.emf2web.ui.messages;version="1.21.0";x-internal:=true,
- org.eclipse.emf.ecp.emf2web.ui.wizard;version="1.21.0"
-Require-Bundle: org.eclipse.emf.ecp.emf2web;bundle-version="[1.21.0,1.22.0)",
+Export-Package: org.eclipse.emf.ecp.emf2web.ui.handler;version="1.22.0",
+ org.eclipse.emf.ecp.emf2web.ui.messages;version="1.22.0";x-internal:=true,
+ org.eclipse.emf.ecp.emf2web.ui.wizard;version="1.22.0"
+Require-Bundle: org.eclipse.emf.ecp.emf2web;bundle-version="[1.22.0,1.23.0)",
  org.eclipse.core.databinding;bundle-version="[1.5.0,2.0.0)",
  org.eclipse.core.databinding.beans;bundle-version="[1.3.0,2.0.0)",
  org.eclipse.core.databinding.observable;bundle-version="[1.5.0,2.0.0)",
@@ -15,7 +15,7 @@
  org.eclipse.equinox.common;bundle-version="[3.7.0,4.0.0)",
  com.ibm.icu;bundle-version="54.1.0",
  org.eclipse.ui;bundle-version="[3.107.0,4.0.0)",
- org.eclipse.emf.ecp.view.model;bundle-version="[1.21.0,1.22.0)",
+ org.eclipse.emf.ecp.view.model;bundle-version="[1.22.0,1.23.0)",
  org.eclipse.emf.common.ui;bundle-version="[2.10.0,3.0.0)",
  org.eclipse.core.resources;bundle-version="[3.10.0,4.0.0)",
  org.eclipse.ui.ide;bundle-version="[3.11.0,4.0.0)"
diff --git a/bundles/org.eclipse.emf.ecp.emf2web.ui/pom.xml b/bundles/org.eclipse.emf.ecp.emf2web.ui/pom.xml
index 42b86de..fa0e4a5 100644
--- a/bundles/org.eclipse.emf.ecp.emf2web.ui/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.emf2web.ui/pom.xml
@@ -7,12 +7,12 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.21.0-SNAPSHOT</version>
+    <version>1.22.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
 
   <artifactId>org.eclipse.emf.ecp.emf2web.ui</artifactId>
   <packaging>eclipse-plugin</packaging>
   <groupId>org.eclipse.emf.ecp</groupId>
-    <version>1.21.0-SNAPSHOT</version>
+    <version>1.22.0-SNAPSHOT</version>
 </project>
diff --git a/bundles/org.eclipse.emf.ecp.emf2web/.settings/org.eclipse.pde.api.tools.prefs b/bundles/org.eclipse.emf.ecp.emf2web/.settings/org.eclipse.pde.api.tools.prefs
index e4e3c00..cfb400b 100644
--- a/bundles/org.eclipse.emf.ecp.emf2web/.settings/org.eclipse.pde.api.tools.prefs
+++ b/bundles/org.eclipse.emf.ecp.emf2web/.settings/org.eclipse.pde.api.tools.prefs
@@ -1,3 +1,4 @@
+ANNOTATION_ELEMENT_TYPE_ADDED_FIELD=Error
 ANNOTATION_ELEMENT_TYPE_ADDED_METHOD_WITHOUT_DEFAULT_VALUE=Error
 ANNOTATION_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
 ANNOTATION_ELEMENT_TYPE_REMOVED_FIELD=Error
@@ -10,6 +11,7 @@
 API_USE_SCAN_FIELD_SEVERITY=Error
 API_USE_SCAN_METHOD_SEVERITY=Error
 API_USE_SCAN_TYPE_SEVERITY=Error
+CLASS_ELEMENT_TYPE_ADDED_FIELD=Error
 CLASS_ELEMENT_TYPE_ADDED_METHOD=Error
 CLASS_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
 CLASS_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
@@ -49,6 +51,7 @@
 ILLEGAL_INSTANTIATE=Warning
 ILLEGAL_OVERRIDE=Warning
 ILLEGAL_REFERENCE=Warning
+INTERFACE_ELEMENT_TYPE_ADDED_DEFAULT_METHOD=Ignore
 INTERFACE_ELEMENT_TYPE_ADDED_FIELD=Error
 INTERFACE_ELEMENT_TYPE_ADDED_METHOD=Error
 INTERFACE_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
@@ -60,6 +63,7 @@
 INTERFACE_ELEMENT_TYPE_REMOVED_METHOD=Error
 INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
 INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
+INVALID_ANNOTATION=Warning
 INVALID_JAVADOC_TAG=Warning
 INVALID_REFERENCE_IN_SYSTEM_LIBRARIES=Error
 LEAK_EXTEND=Warning
@@ -86,10 +90,13 @@
 TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error
 UNUSED_PROBLEM_FILTERS=Ignore
 automatically_removed_unused_problem_filters=Disabled
+changed_execution_env=Error
 eclipse.preferences.version=1
 incompatible_api_component_version=Error
 incompatible_api_component_version_include_major_without_breaking_change=Disabled
 incompatible_api_component_version_include_minor_without_api_change=Disabled
+incompatible_api_component_version_report_major_without_breaking_change=Ignore
+incompatible_api_component_version_report_minor_without_api_change=Ignore
 invalid_since_tag_version=Error
 malformed_since_tag=Error
 missing_since_tag=Error
diff --git a/bundles/org.eclipse.emf.ecp.emf2web/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.emf2web/META-INF/MANIFEST.MF
index 5ba6fae..fedf231 100644
--- a/bundles/org.eclipse.emf.ecp.emf2web/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.emf2web/META-INF/MANIFEST.MF
@@ -2,50 +2,49 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: EMF To Web
 Bundle-SymbolicName: org.eclipse.emf.ecp.emf2web;singleton:=true
-Bundle-Version: 1.21.0.qualifier
+Bundle-Version: 1.22.0.qualifier
 Bundle-ClassPath: .
 Bundle-Activator: org.eclipse.emf.ecp.emf2web.Activator
 Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emf.ecp.emf2web;version="1.21.0";x-internal:=true,
- org.eclipse.emf.ecp.emf2web.controller.xtend;version="1.21.0";
+Export-Package: org.eclipse.emf.ecp.emf2web;version="1.22.0";x-internal:=true,
+ org.eclipse.emf.ecp.emf2web.controller.xtend;version="1.22.0";
   uses:="org.eclipse.emf.ecore,
    org.eclipse.emf.ecp.emf2web.exporter,
    org.eclipse.emf.common.util,
    org.eclipse.emf.ecp.view.spi.model",
- org.eclipse.emf.ecp.emf2web.exporter;version="1.21.0";uses:="org.eclipse.emf.common.util,org.eclipse.emf.ecp.emf2web.controller.xtend",
- org.eclipse.emf.ecp.emf2web.generator;version="1.21.0";uses:="org.eclipse.emf.ecore",
- org.eclipse.emf.ecp.emf2web.internal.messages;version="1.21.0";x-internal:=true,
- org.eclipse.emf.ecp.emf2web.util;version="1.21.0";uses:="org.eclipse.emf.ecore",
- org.eclipse.emf.ecp.emf2web.util.xtend;version="1.21.0"
+ org.eclipse.emf.ecp.emf2web.exporter;version="1.22.0";uses:="org.eclipse.emf.common.util,org.eclipse.emf.ecp.emf2web.controller.xtend",
+ org.eclipse.emf.ecp.emf2web.generator;version="1.22.0";uses:="org.eclipse.emf.ecore",
+ org.eclipse.emf.ecp.emf2web.internal.messages;version="1.22.0";x-internal:=true,
+ org.eclipse.emf.ecp.emf2web.util;version="1.22.0";uses:="org.eclipse.emf.ecore",
+ org.eclipse.emf.ecp.emf2web.util.xtend;version="1.22.0"
 Require-Bundle: org.eclipse.ui;bundle-version="[3.107.0,4.0.0)",
  org.eclipse.core.runtime;bundle-version="[3.11.0,4.0.0)",
- org.eclipse.emf;bundle-version="[2.6.0,3.0.0)",
  org.eclipse.emf.ecore;bundle-version="[2.9.0,3.0.0)",
  org.eclipse.xtend.lib;bundle-version="[2.8.0,3.0.0)",
  org.eclipse.xtext.xbase.lib;bundle-version="[2.8.0,3.0.0)",
  org.eclipse.core.resources;bundle-version="[3.8.0,4.0.0)",
  org.eclipse.emf.edit;bundle-version="[2.11.0,3.0.0)",
  org.eclipse.emf.edit.ui;bundle-version="[2.10.0,3.0.0)",
- org.eclipse.emf.ecp.view.model;bundle-version="[1.21.0,1.22.0)",
- org.eclipse.emf.ecp.view.categorization.model;bundle-version="[1.21.0,1.22.0)",
- org.eclipse.emf.ecp.view.custom.model;bundle-version="[1.21.0,1.22.0)",
- org.eclipse.emf.ecp.view.group.model;bundle-version="[1.21.0,1.22.0)",
- org.eclipse.emf.ecp.view.horizontal.model;bundle-version="[1.21.0,1.22.0)",
- org.eclipse.emf.ecp.view.label.model;bundle-version="[1.21.0,1.22.0)",
- org.eclipse.emf.ecp.view.rule.model;bundle-version="[1.21.0,1.22.0)",
- org.eclipse.emf.ecp.view.table.model;bundle-version="[1.21.0,1.22.0)",
- org.eclipse.emf.ecp.view.template.model;bundle-version="[1.21.0,1.22.0)",
- org.eclipse.emf.ecp.view.treemasterdetail.model;bundle-version="[1.21.0,1.22.0)",
- org.eclipse.emf.ecp.view.vertical.model;bundle-version="[1.21.0,1.22.0)",
- org.eclipse.emf.ecp.view.model.common;bundle-version="[1.21.0,1.22.0)",
- org.eclipse.emf.ecp.view.model.provider.generator;bundle-version="[1.21.0,1.22.0)",
- org.eclipse.emf.ecp.view.model.editor;bundle-version="[1.21.0,1.22.0)",
+ org.eclipse.emf.ecp.view.model;bundle-version="[1.22.0,1.23.0)",
+ org.eclipse.emf.ecp.view.categorization.model;bundle-version="[1.22.0,1.23.0)",
+ org.eclipse.emf.ecp.view.custom.model;bundle-version="[1.22.0,1.23.0)",
+ org.eclipse.emf.ecp.view.group.model;bundle-version="[1.22.0,1.23.0)",
+ org.eclipse.emf.ecp.view.horizontal.model;bundle-version="[1.22.0,1.23.0)",
+ org.eclipse.emf.ecp.view.label.model;bundle-version="[1.22.0,1.23.0)",
+ org.eclipse.emf.ecp.view.rule.model;bundle-version="[1.22.0,1.23.0)",
+ org.eclipse.emf.ecp.view.table.model;bundle-version="[1.22.0,1.23.0)",
+ org.eclipse.emf.ecp.view.template.model;bundle-version="[1.22.0,1.23.0)",
+ org.eclipse.emf.ecp.view.treemasterdetail.model;bundle-version="[1.22.0,1.23.0)",
+ org.eclipse.emf.ecp.view.vertical.model;bundle-version="[1.22.0,1.23.0)",
+ org.eclipse.emf.ecp.view.model.common;bundle-version="[1.22.0,1.23.0)",
+ org.eclipse.emf.ecp.view.model.provider.generator;bundle-version="[1.22.0,1.23.0)",
+ org.eclipse.emf.ecp.view.model.editor;bundle-version="[1.22.0,1.23.0)",
  com.google.gson;bundle-version="[2.2.0,3.0.0)",
- org.eclipse.emfforms.core.services;bundle-version="[1.21.0,1.22.0)",
- org.eclipse.emf.ecp.ui.view;bundle-version="[1.21.0,1.22.0)",
+ org.eclipse.emfforms.core.services;bundle-version="[1.22.0,1.23.0)",
+ org.eclipse.emf.ecp.ui.view;bundle-version="[1.22.0,1.23.0)",
  org.eclipse.emf.emfstore.common.model;bundle-version="[1.5.0,2.0.0)",
- org.eclipse.emfforms.common;bundle-version="[1.21.0,1.22.0)",
- org.eclipse.emfforms.core.services.emf;bundle-version="[1.21.0,1.22.0)",
+ org.eclipse.emfforms.common;bundle-version="[1.22.0,1.23.0)",
+ org.eclipse.emfforms.core.services.emf;bundle-version="[1.22.0,1.23.0)",
  org.eclipse.emf.databinding;bundle-version="[1.3.0,2.0.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Bundle-ActivationPolicy: lazy
diff --git a/bundles/org.eclipse.emf.ecp.emf2web/pom.xml b/bundles/org.eclipse.emf.ecp.emf2web/pom.xml
index ab9b2fb..6dfd189 100644
--- a/bundles/org.eclipse.emf.ecp.emf2web/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.emf2web/pom.xml
@@ -7,12 +7,12 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.21.0-SNAPSHOT</version>
+    <version>1.22.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
 
   <artifactId>org.eclipse.emf.ecp.emf2web</artifactId>
   <packaging>eclipse-plugin</packaging>
   <groupId>org.eclipse.emf.ecp</groupId>
-  <version>1.21.0-SNAPSHOT</version>
+  <version>1.22.0-SNAPSHOT</version>
 </project>
diff --git a/bundles/org.eclipse.emf.ecp.emfstore.core.rap/.settings/org.eclipse.pde.api.tools.prefs b/bundles/org.eclipse.emf.ecp.emfstore.core.rap/.settings/org.eclipse.pde.api.tools.prefs
index e4e3c00..cfb400b 100644
--- a/bundles/org.eclipse.emf.ecp.emfstore.core.rap/.settings/org.eclipse.pde.api.tools.prefs
+++ b/bundles/org.eclipse.emf.ecp.emfstore.core.rap/.settings/org.eclipse.pde.api.tools.prefs
@@ -1,3 +1,4 @@
+ANNOTATION_ELEMENT_TYPE_ADDED_FIELD=Error
 ANNOTATION_ELEMENT_TYPE_ADDED_METHOD_WITHOUT_DEFAULT_VALUE=Error
 ANNOTATION_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
 ANNOTATION_ELEMENT_TYPE_REMOVED_FIELD=Error
@@ -10,6 +11,7 @@
 API_USE_SCAN_FIELD_SEVERITY=Error
 API_USE_SCAN_METHOD_SEVERITY=Error
 API_USE_SCAN_TYPE_SEVERITY=Error
+CLASS_ELEMENT_TYPE_ADDED_FIELD=Error
 CLASS_ELEMENT_TYPE_ADDED_METHOD=Error
 CLASS_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
 CLASS_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
@@ -49,6 +51,7 @@
 ILLEGAL_INSTANTIATE=Warning
 ILLEGAL_OVERRIDE=Warning
 ILLEGAL_REFERENCE=Warning
+INTERFACE_ELEMENT_TYPE_ADDED_DEFAULT_METHOD=Ignore
 INTERFACE_ELEMENT_TYPE_ADDED_FIELD=Error
 INTERFACE_ELEMENT_TYPE_ADDED_METHOD=Error
 INTERFACE_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
@@ -60,6 +63,7 @@
 INTERFACE_ELEMENT_TYPE_REMOVED_METHOD=Error
 INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
 INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
+INVALID_ANNOTATION=Warning
 INVALID_JAVADOC_TAG=Warning
 INVALID_REFERENCE_IN_SYSTEM_LIBRARIES=Error
 LEAK_EXTEND=Warning
@@ -86,10 +90,13 @@
 TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error
 UNUSED_PROBLEM_FILTERS=Ignore
 automatically_removed_unused_problem_filters=Disabled
+changed_execution_env=Error
 eclipse.preferences.version=1
 incompatible_api_component_version=Error
 incompatible_api_component_version_include_major_without_breaking_change=Disabled
 incompatible_api_component_version_include_minor_without_api_change=Disabled
+incompatible_api_component_version_report_major_without_breaking_change=Ignore
+incompatible_api_component_version_report_minor_without_api_change=Ignore
 invalid_since_tag_version=Error
 malformed_since_tag=Error
 missing_since_tag=Error
diff --git a/bundles/org.eclipse.emf.ecp.emfstore.core.rap/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.emfstore.core.rap/META-INF/MANIFEST.MF
index c0a6236..7608493 100644
--- a/bundles/org.eclipse.emf.ecp.emfstore.core.rap/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.emfstore.core.rap/META-INF/MANIFEST.MF
@@ -2,13 +2,13 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: ECP EMFStore Core RAP
 Bundle-SymbolicName: org.eclipse.emf.ecp.emfstore.core.rap
-Bundle-Version: 1.21.0.qualifier
+Bundle-Version: 1.22.0.qualifier
 Bundle-Activator: org.eclipse.emf.ecp.emfstore.internal.core.rap.Activator
 Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emf.ecp.emfstore.internal.core.rap;version="1.21.0";x-internal:=true
+Export-Package: org.eclipse.emf.ecp.emfstore.internal.core.rap;version="1.22.0";x-internal:=true
 Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.7.0,4.0.0)",
- org.eclipse.emf.ecp.core.rap;bundle-version="[1.21.0,1.22.0)",
- org.eclipse.emf.ecp.emfstore.core;bundle-version="[1.21.0,1.22.0)"
+ org.eclipse.emf.ecp.core.rap;bundle-version="[1.22.0,1.23.0)",
+ org.eclipse.emf.ecp.emfstore.core;bundle-version="[1.22.0,1.23.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Bundle-ActivationPolicy: lazy
 Import-Package: org.eclipse.rap.rwt;version="0.0.0",
diff --git a/bundles/org.eclipse.emf.ecp.emfstore.core.rap/pom.xml b/bundles/org.eclipse.emf.ecp.emfstore.core.rap/pom.xml
index 9695231..4a27531 100644
--- a/bundles/org.eclipse.emf.ecp.emfstore.core.rap/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.emfstore.core.rap/pom.xml
@@ -5,11 +5,11 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.21.0-SNAPSHOT</version>
+    <version>1.22.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emf.ecp.emfstore.core.rap</artifactId>
-  <version>1.21.0-SNAPSHOT</version>
+  <version>1.22.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
 </project>
diff --git a/bundles/org.eclipse.emf.ecp.emfstore.core/.settings/org.eclipse.pde.api.tools.prefs b/bundles/org.eclipse.emf.ecp.emfstore.core/.settings/org.eclipse.pde.api.tools.prefs
index e4e3c00..cfb400b 100644
--- a/bundles/org.eclipse.emf.ecp.emfstore.core/.settings/org.eclipse.pde.api.tools.prefs
+++ b/bundles/org.eclipse.emf.ecp.emfstore.core/.settings/org.eclipse.pde.api.tools.prefs
@@ -1,3 +1,4 @@
+ANNOTATION_ELEMENT_TYPE_ADDED_FIELD=Error
 ANNOTATION_ELEMENT_TYPE_ADDED_METHOD_WITHOUT_DEFAULT_VALUE=Error
 ANNOTATION_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
 ANNOTATION_ELEMENT_TYPE_REMOVED_FIELD=Error
@@ -10,6 +11,7 @@
 API_USE_SCAN_FIELD_SEVERITY=Error
 API_USE_SCAN_METHOD_SEVERITY=Error
 API_USE_SCAN_TYPE_SEVERITY=Error
+CLASS_ELEMENT_TYPE_ADDED_FIELD=Error
 CLASS_ELEMENT_TYPE_ADDED_METHOD=Error
 CLASS_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
 CLASS_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
@@ -49,6 +51,7 @@
 ILLEGAL_INSTANTIATE=Warning
 ILLEGAL_OVERRIDE=Warning
 ILLEGAL_REFERENCE=Warning
+INTERFACE_ELEMENT_TYPE_ADDED_DEFAULT_METHOD=Ignore
 INTERFACE_ELEMENT_TYPE_ADDED_FIELD=Error
 INTERFACE_ELEMENT_TYPE_ADDED_METHOD=Error
 INTERFACE_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
@@ -60,6 +63,7 @@
 INTERFACE_ELEMENT_TYPE_REMOVED_METHOD=Error
 INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
 INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
+INVALID_ANNOTATION=Warning
 INVALID_JAVADOC_TAG=Warning
 INVALID_REFERENCE_IN_SYSTEM_LIBRARIES=Error
 LEAK_EXTEND=Warning
@@ -86,10 +90,13 @@
 TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error
 UNUSED_PROBLEM_FILTERS=Ignore
 automatically_removed_unused_problem_filters=Disabled
+changed_execution_env=Error
 eclipse.preferences.version=1
 incompatible_api_component_version=Error
 incompatible_api_component_version_include_major_without_breaking_change=Disabled
 incompatible_api_component_version_include_minor_without_api_change=Disabled
+incompatible_api_component_version_report_major_without_breaking_change=Ignore
+incompatible_api_component_version_report_minor_without_api_change=Ignore
 invalid_since_tag_version=Error
 malformed_since_tag=Error
 missing_since_tag=Error
diff --git a/bundles/org.eclipse.emf.ecp.emfstore.core/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.emfstore.core/META-INF/MANIFEST.MF
index ca84bbb..d21ebb6 100644
--- a/bundles/org.eclipse.emf.ecp.emfstore.core/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.emfstore.core/META-INF/MANIFEST.MF
@@ -2,10 +2,10 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: ECP EMFStore Provider Core Plugin
 Bundle-SymbolicName: org.eclipse.emf.ecp.emfstore.core;singleton:=true
-Bundle-Version: 1.21.0.qualifier
+Bundle-Version: 1.22.0.qualifier
 Bundle-Activator: org.eclipse.emf.ecp.emfstore.core.internal.Activator
 Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emf.ecp.emfstore.core.internal;version="1.21.0";
+Export-Package: org.eclipse.emf.ecp.emfstore.core.internal;version="1.22.0";
   x-friends:="org.eclipse.emf.ecp.emfstore.ui,
    org.eclipse.emf.ecp.emfstore.ui.search,
    org.eclipse.emf.ecp.view.ui.editor.test,
@@ -13,10 +13,10 @@
    org.eclipse.emf.ecp.emfstore.ui.e4,
    org.eclipse.emf.ecp.emfstore.core.rap"
 Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.4.0,4.0.0)",
- org.eclipse.emf.ecp.core;bundle-version="[1.21.0,1.22.0)",
+ org.eclipse.emf.ecp.core;bundle-version="[1.22.0,1.23.0)",
  org.eclipse.emf.emfstore.client;bundle-version="[1.0.0,2.0.0)",
  org.eclipse.net4j.util;bundle-version="[3.0.0,4.0.0)"
-Import-Package: org.eclipse.emfforms.common;version="[1.21.0,1.22.0)"
+Import-Package: org.eclipse.emfforms.common;version="[1.22.0,1.23.0)"
 Automatic-Module-Name: org.eclipse.emf.ecp.emfstore.core
 Service-Component: OSGI-INF/esWorkspaceProviderProvider.xml
 Bundle-ActivationPolicy: lazy
diff --git a/bundles/org.eclipse.emf.ecp.emfstore.core/pom.xml b/bundles/org.eclipse.emf.ecp.emfstore.core/pom.xml
index 9123ab7..79f4c10 100644
--- a/bundles/org.eclipse.emf.ecp.emfstore.core/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.emfstore.core/pom.xml
@@ -5,11 +5,11 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.21.0-SNAPSHOT</version>
+    <version>1.22.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emf.ecp.emfstore.core</artifactId>
-  <version>1.21.0-SNAPSHOT</version>
+  <version>1.22.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
 </project>
diff --git a/bundles/org.eclipse.emf.ecp.emfstore.localserver/.settings/org.eclipse.pde.api.tools.prefs b/bundles/org.eclipse.emf.ecp.emfstore.localserver/.settings/org.eclipse.pde.api.tools.prefs
index e4e3c00..cfb400b 100644
--- a/bundles/org.eclipse.emf.ecp.emfstore.localserver/.settings/org.eclipse.pde.api.tools.prefs
+++ b/bundles/org.eclipse.emf.ecp.emfstore.localserver/.settings/org.eclipse.pde.api.tools.prefs
@@ -1,3 +1,4 @@
+ANNOTATION_ELEMENT_TYPE_ADDED_FIELD=Error
 ANNOTATION_ELEMENT_TYPE_ADDED_METHOD_WITHOUT_DEFAULT_VALUE=Error
 ANNOTATION_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
 ANNOTATION_ELEMENT_TYPE_REMOVED_FIELD=Error
@@ -10,6 +11,7 @@
 API_USE_SCAN_FIELD_SEVERITY=Error
 API_USE_SCAN_METHOD_SEVERITY=Error
 API_USE_SCAN_TYPE_SEVERITY=Error
+CLASS_ELEMENT_TYPE_ADDED_FIELD=Error
 CLASS_ELEMENT_TYPE_ADDED_METHOD=Error
 CLASS_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
 CLASS_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
@@ -49,6 +51,7 @@
 ILLEGAL_INSTANTIATE=Warning
 ILLEGAL_OVERRIDE=Warning
 ILLEGAL_REFERENCE=Warning
+INTERFACE_ELEMENT_TYPE_ADDED_DEFAULT_METHOD=Ignore
 INTERFACE_ELEMENT_TYPE_ADDED_FIELD=Error
 INTERFACE_ELEMENT_TYPE_ADDED_METHOD=Error
 INTERFACE_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
@@ -60,6 +63,7 @@
 INTERFACE_ELEMENT_TYPE_REMOVED_METHOD=Error
 INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
 INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
+INVALID_ANNOTATION=Warning
 INVALID_JAVADOC_TAG=Warning
 INVALID_REFERENCE_IN_SYSTEM_LIBRARIES=Error
 LEAK_EXTEND=Warning
@@ -86,10 +90,13 @@
 TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error
 UNUSED_PROBLEM_FILTERS=Ignore
 automatically_removed_unused_problem_filters=Disabled
+changed_execution_env=Error
 eclipse.preferences.version=1
 incompatible_api_component_version=Error
 incompatible_api_component_version_include_major_without_breaking_change=Disabled
 incompatible_api_component_version_include_minor_without_api_change=Disabled
+incompatible_api_component_version_report_major_without_breaking_change=Ignore
+incompatible_api_component_version_report_minor_without_api_change=Ignore
 invalid_since_tag_version=Error
 malformed_since_tag=Error
 missing_since_tag=Error
diff --git a/bundles/org.eclipse.emf.ecp.emfstore.ui.e3/.settings/org.eclipse.pde.api.tools.prefs b/bundles/org.eclipse.emf.ecp.emfstore.ui.e3/.settings/org.eclipse.pde.api.tools.prefs
index e4e3c00..cfb400b 100644
--- a/bundles/org.eclipse.emf.ecp.emfstore.ui.e3/.settings/org.eclipse.pde.api.tools.prefs
+++ b/bundles/org.eclipse.emf.ecp.emfstore.ui.e3/.settings/org.eclipse.pde.api.tools.prefs
@@ -1,3 +1,4 @@
+ANNOTATION_ELEMENT_TYPE_ADDED_FIELD=Error
 ANNOTATION_ELEMENT_TYPE_ADDED_METHOD_WITHOUT_DEFAULT_VALUE=Error
 ANNOTATION_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
 ANNOTATION_ELEMENT_TYPE_REMOVED_FIELD=Error
@@ -10,6 +11,7 @@
 API_USE_SCAN_FIELD_SEVERITY=Error
 API_USE_SCAN_METHOD_SEVERITY=Error
 API_USE_SCAN_TYPE_SEVERITY=Error
+CLASS_ELEMENT_TYPE_ADDED_FIELD=Error
 CLASS_ELEMENT_TYPE_ADDED_METHOD=Error
 CLASS_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
 CLASS_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
@@ -49,6 +51,7 @@
 ILLEGAL_INSTANTIATE=Warning
 ILLEGAL_OVERRIDE=Warning
 ILLEGAL_REFERENCE=Warning
+INTERFACE_ELEMENT_TYPE_ADDED_DEFAULT_METHOD=Ignore
 INTERFACE_ELEMENT_TYPE_ADDED_FIELD=Error
 INTERFACE_ELEMENT_TYPE_ADDED_METHOD=Error
 INTERFACE_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
@@ -60,6 +63,7 @@
 INTERFACE_ELEMENT_TYPE_REMOVED_METHOD=Error
 INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
 INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
+INVALID_ANNOTATION=Warning
 INVALID_JAVADOC_TAG=Warning
 INVALID_REFERENCE_IN_SYSTEM_LIBRARIES=Error
 LEAK_EXTEND=Warning
@@ -86,10 +90,13 @@
 TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error
 UNUSED_PROBLEM_FILTERS=Ignore
 automatically_removed_unused_problem_filters=Disabled
+changed_execution_env=Error
 eclipse.preferences.version=1
 incompatible_api_component_version=Error
 incompatible_api_component_version_include_major_without_breaking_change=Disabled
 incompatible_api_component_version_include_minor_without_api_change=Disabled
+incompatible_api_component_version_report_major_without_breaking_change=Ignore
+incompatible_api_component_version_report_minor_without_api_change=Ignore
 invalid_since_tag_version=Error
 malformed_since_tag=Error
 missing_since_tag=Error
diff --git a/bundles/org.eclipse.emf.ecp.emfstore.ui.e3/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.emfstore.ui.e3/META-INF/MANIFEST.MF
index f777a63..f7451ea 100644
--- a/bundles/org.eclipse.emf.ecp.emfstore.ui.e3/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.emfstore.ui.e3/META-INF/MANIFEST.MF
@@ -2,19 +2,19 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: ECP EMFStore E3
 Bundle-SymbolicName: org.eclipse.emf.ecp.emfstore.ui.e3;singleton:=true
-Bundle-Version: 1.21.0.qualifier
+Bundle-Version: 1.22.0.qualifier
 Bundle-Activator: org.eclipse.emf.ecp.emfstore.internal.ui.e3.Activator
 Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emf.ecp.emfstore.internal.ui.decorator;version="1.21.0";x-internal:=true,
- org.eclipse.emf.ecp.emfstore.internal.ui.e3;version="1.21.0";x-internal:=true,
- org.eclipse.emf.ecp.emfstore.internal.ui.handler;version="1.21.0";x-internal:=true;uses:="org.eclipse.core.commands"
-Require-Bundle: org.eclipse.emf.ecp.core;bundle-version="[1.21.0,1.22.0)",
- org.eclipse.emf.ecp.emfstore.core;bundle-version="[1.21.0,1.22.0)",
- org.eclipse.emf.ecp.emfstore.ui;bundle-version="[1.21.0,1.22.0)",
+Export-Package: org.eclipse.emf.ecp.emfstore.internal.ui.decorator;version="1.22.0";x-internal:=true,
+ org.eclipse.emf.ecp.emfstore.internal.ui.e3;version="1.22.0";x-internal:=true,
+ org.eclipse.emf.ecp.emfstore.internal.ui.handler;version="1.22.0";x-internal:=true;uses:="org.eclipse.core.commands"
+Require-Bundle: org.eclipse.emf.ecp.core;bundle-version="[1.22.0,1.23.0)",
+ org.eclipse.emf.ecp.emfstore.core;bundle-version="[1.22.0,1.23.0)",
+ org.eclipse.emf.ecp.emfstore.ui;bundle-version="[1.22.0,1.23.0)",
  org.eclipse.emf.emfstore.client;bundle-version="[1.3.0,2.0.0)",
  org.eclipse.emf.emfstore.client.ui;bundle-version="[1.3.0,2.0.0)",
- org.eclipse.emf.ecp.ui;bundle-version="[1.21.0,1.22.0)",
- org.eclipse.emf.ecp.common;bundle-version="[1.21.0,1.22.0)",
+ org.eclipse.emf.ecp.ui;bundle-version="[1.22.0,1.23.0)",
+ org.eclipse.emf.ecp.common;bundle-version="[1.22.0,1.23.0)",
  org.eclipse.core.expressions;bundle-version="[3.4.0,4.0.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Bundle-ActivationPolicy: lazy
diff --git a/bundles/org.eclipse.emf.ecp.emfstore.ui.e3/pom.xml b/bundles/org.eclipse.emf.ecp.emfstore.ui.e3/pom.xml
index 8e400e5..34182ba 100644
--- a/bundles/org.eclipse.emf.ecp.emfstore.ui.e3/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.emfstore.ui.e3/pom.xml
@@ -5,11 +5,11 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.21.0-SNAPSHOT</version>
+    <version>1.22.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emf.ecp.emfstore.ui.e3</artifactId>
-  <version>1.21.0-SNAPSHOT</version>
+  <version>1.22.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
 </project>
diff --git a/bundles/org.eclipse.emf.ecp.emfstore.ui.e4/.settings/org.eclipse.pde.api.tools.prefs b/bundles/org.eclipse.emf.ecp.emfstore.ui.e4/.settings/org.eclipse.pde.api.tools.prefs
index e4e3c00..cfb400b 100644
--- a/bundles/org.eclipse.emf.ecp.emfstore.ui.e4/.settings/org.eclipse.pde.api.tools.prefs
+++ b/bundles/org.eclipse.emf.ecp.emfstore.ui.e4/.settings/org.eclipse.pde.api.tools.prefs
@@ -1,3 +1,4 @@
+ANNOTATION_ELEMENT_TYPE_ADDED_FIELD=Error
 ANNOTATION_ELEMENT_TYPE_ADDED_METHOD_WITHOUT_DEFAULT_VALUE=Error
 ANNOTATION_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
 ANNOTATION_ELEMENT_TYPE_REMOVED_FIELD=Error
@@ -10,6 +11,7 @@
 API_USE_SCAN_FIELD_SEVERITY=Error
 API_USE_SCAN_METHOD_SEVERITY=Error
 API_USE_SCAN_TYPE_SEVERITY=Error
+CLASS_ELEMENT_TYPE_ADDED_FIELD=Error
 CLASS_ELEMENT_TYPE_ADDED_METHOD=Error
 CLASS_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
 CLASS_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
@@ -49,6 +51,7 @@
 ILLEGAL_INSTANTIATE=Warning
 ILLEGAL_OVERRIDE=Warning
 ILLEGAL_REFERENCE=Warning
+INTERFACE_ELEMENT_TYPE_ADDED_DEFAULT_METHOD=Ignore
 INTERFACE_ELEMENT_TYPE_ADDED_FIELD=Error
 INTERFACE_ELEMENT_TYPE_ADDED_METHOD=Error
 INTERFACE_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
@@ -60,6 +63,7 @@
 INTERFACE_ELEMENT_TYPE_REMOVED_METHOD=Error
 INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
 INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
+INVALID_ANNOTATION=Warning
 INVALID_JAVADOC_TAG=Warning
 INVALID_REFERENCE_IN_SYSTEM_LIBRARIES=Error
 LEAK_EXTEND=Warning
@@ -86,10 +90,13 @@
 TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error
 UNUSED_PROBLEM_FILTERS=Ignore
 automatically_removed_unused_problem_filters=Disabled
+changed_execution_env=Error
 eclipse.preferences.version=1
 incompatible_api_component_version=Error
 incompatible_api_component_version_include_major_without_breaking_change=Disabled
 incompatible_api_component_version_include_minor_without_api_change=Disabled
+incompatible_api_component_version_report_major_without_breaking_change=Ignore
+incompatible_api_component_version_report_minor_without_api_change=Ignore
 invalid_since_tag_version=Error
 malformed_since_tag=Error
 missing_since_tag=Error
diff --git a/bundles/org.eclipse.emf.ecp.emfstore.ui.e4/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.emfstore.ui.e4/META-INF/MANIFEST.MF
index e0733df..2c70a4d 100644
--- a/bundles/org.eclipse.emf.ecp.emfstore.ui.e4/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.emfstore.ui.e4/META-INF/MANIFEST.MF
@@ -2,19 +2,19 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: Emfstore e4 ui
 Bundle-SymbolicName: org.eclipse.emf.ecp.emfstore.ui.e4;singleton:=true
-Bundle-Version: 1.21.0.qualifier
+Bundle-Version: 1.22.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emf.ecp.e4.emfstore;version="1.21.0";x-internal:=true
-Require-Bundle: org.eclipse.e4.core.di;bundle-version="[1.2.0,2.0.0)",
+Export-Package: org.eclipse.emf.ecp.e4.emfstore;version="1.22.0";x-internal:=true
+Require-Bundle: org.eclipse.e4.core.di;bundle-version="[1.3.0,2.0.0)",
  javax.inject;bundle-version="[1.0.0,2.0.0)",
  org.eclipse.e4.ui.workbench;bundle-version="[0.10.0,2.0.0)",
  org.eclipse.emf.emfstore.client.ui;bundle-version="[1.3.0,2.0.0)",
  org.eclipse.swt;bundle-version="[3.100.0,4.0.0)",
  org.eclipse.e4.ui.services;bundle-version="[0.10.0,2.0.0)",
- org.eclipse.emf.ecp.core;bundle-version="[1.21.0,1.22.0)",
- org.eclipse.emf.ecp.emfstore.core;bundle-version="[1.21.0,1.22.0)",
+ org.eclipse.emf.ecp.core;bundle-version="[1.22.0,1.23.0)",
+ org.eclipse.emf.ecp.emfstore.core;bundle-version="[1.22.0,1.23.0)",
  org.eclipse.emf.emfstore.client;bundle-version="[1.3.0,2.0.0)",
- org.eclipse.emf.ecp.emfstore.ui;bundle-version="[1.21.0,1.22.0)"
+ org.eclipse.emf.ecp.emfstore.ui;bundle-version="[1.22.0,1.23.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Automatic-Module-Name: org.eclipse.emf.ecp.emfstore.ui.e4
 Import-Package: org.osgi.framework;version="1.3.0"
diff --git a/bundles/org.eclipse.emf.ecp.emfstore.ui.e4/pom.xml b/bundles/org.eclipse.emf.ecp.emfstore.ui.e4/pom.xml
index 4a3e59d..2818798 100644
--- a/bundles/org.eclipse.emf.ecp.emfstore.ui.e4/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.emfstore.ui.e4/pom.xml
@@ -5,11 +5,11 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.21.0-SNAPSHOT</version>
+    <version>1.22.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emf.ecp.emfstore.ui.e4</artifactId>
-  <version>1.21.0-SNAPSHOT</version>
+  <version>1.22.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
 </project>
diff --git a/bundles/org.eclipse.emf.ecp.emfstore.ui.search/.settings/org.eclipse.pde.api.tools.prefs b/bundles/org.eclipse.emf.ecp.emfstore.ui.search/.settings/org.eclipse.pde.api.tools.prefs
index e4e3c00..cfb400b 100644
--- a/bundles/org.eclipse.emf.ecp.emfstore.ui.search/.settings/org.eclipse.pde.api.tools.prefs
+++ b/bundles/org.eclipse.emf.ecp.emfstore.ui.search/.settings/org.eclipse.pde.api.tools.prefs
@@ -1,3 +1,4 @@
+ANNOTATION_ELEMENT_TYPE_ADDED_FIELD=Error
 ANNOTATION_ELEMENT_TYPE_ADDED_METHOD_WITHOUT_DEFAULT_VALUE=Error
 ANNOTATION_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
 ANNOTATION_ELEMENT_TYPE_REMOVED_FIELD=Error
@@ -10,6 +11,7 @@
 API_USE_SCAN_FIELD_SEVERITY=Error
 API_USE_SCAN_METHOD_SEVERITY=Error
 API_USE_SCAN_TYPE_SEVERITY=Error
+CLASS_ELEMENT_TYPE_ADDED_FIELD=Error
 CLASS_ELEMENT_TYPE_ADDED_METHOD=Error
 CLASS_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
 CLASS_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
@@ -49,6 +51,7 @@
 ILLEGAL_INSTANTIATE=Warning
 ILLEGAL_OVERRIDE=Warning
 ILLEGAL_REFERENCE=Warning
+INTERFACE_ELEMENT_TYPE_ADDED_DEFAULT_METHOD=Ignore
 INTERFACE_ELEMENT_TYPE_ADDED_FIELD=Error
 INTERFACE_ELEMENT_TYPE_ADDED_METHOD=Error
 INTERFACE_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
@@ -60,6 +63,7 @@
 INTERFACE_ELEMENT_TYPE_REMOVED_METHOD=Error
 INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
 INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
+INVALID_ANNOTATION=Warning
 INVALID_JAVADOC_TAG=Warning
 INVALID_REFERENCE_IN_SYSTEM_LIBRARIES=Error
 LEAK_EXTEND=Warning
@@ -86,10 +90,13 @@
 TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error
 UNUSED_PROBLEM_FILTERS=Ignore
 automatically_removed_unused_problem_filters=Disabled
+changed_execution_env=Error
 eclipse.preferences.version=1
 incompatible_api_component_version=Error
 incompatible_api_component_version_include_major_without_breaking_change=Disabled
 incompatible_api_component_version_include_minor_without_api_change=Disabled
+incompatible_api_component_version_report_major_without_breaking_change=Ignore
+incompatible_api_component_version_report_minor_without_api_change=Ignore
 invalid_since_tag_version=Error
 malformed_since_tag=Error
 missing_since_tag=Error
diff --git a/bundles/org.eclipse.emf.ecp.emfstore.ui.search/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.emfstore.ui.search/META-INF/MANIFEST.MF
index 192ec92..b18813f 100644
--- a/bundles/org.eclipse.emf.ecp.emfstore.ui.search/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.emfstore.ui.search/META-INF/MANIFEST.MF
@@ -2,15 +2,15 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: ECP Search UI
 Bundle-SymbolicName: org.eclipse.emf.ecp.emfstore.ui.search;singleton:=true
-Bundle-Version: 1.21.0.qualifier
+Bundle-Version: 1.22.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emf.ecp.emfstore.ui.search;version="1.21.0";x-internal:=true
+Export-Package: org.eclipse.emf.ecp.emfstore.ui.search;version="1.22.0";x-internal:=true
 Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.4.0,4.0.0)",
- org.eclipse.emf.ecp.core;bundle-version="[1.21.0,1.22.0)",
- org.eclipse.emf.ecp.emfstore.core;bundle-version="[1.21.0,1.22.0)",
- org.eclipse.emf.ecp.ui.e3;bundle-version="[1.21.0,1.22.0)",
+ org.eclipse.emf.ecp.core;bundle-version="[1.22.0,1.23.0)",
+ org.eclipse.emf.ecp.emfstore.core;bundle-version="[1.22.0,1.23.0)",
+ org.eclipse.emf.ecp.ui.e3;bundle-version="[1.22.0,1.23.0)",
  org.eclipse.emf.emfstore.client;bundle-version="[1.0.0,2.0.0)",
- org.eclipse.emf.ecp.ui;bundle-version="[1.21.0,1.22.0)"
+ org.eclipse.emf.ecp.ui;bundle-version="[1.22.0,1.23.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Automatic-Module-Name: org.eclipse.emf.ecp.emfstore.ui.search
 Import-Package: org.eclipse.core.commands;version="0.0.0",
diff --git a/bundles/org.eclipse.emf.ecp.emfstore.ui.search/pom.xml b/bundles/org.eclipse.emf.ecp.emfstore.ui.search/pom.xml
index 597d83f..7a31962 100644
--- a/bundles/org.eclipse.emf.ecp.emfstore.ui.search/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.emfstore.ui.search/pom.xml
@@ -5,11 +5,11 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.21.0-SNAPSHOT</version>
+    <version>1.22.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emf.ecp.emfstore.ui.search</artifactId>
-  <version>1.21.0-SNAPSHOT</version>
+  <version>1.22.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
 </project>
diff --git a/bundles/org.eclipse.emf.ecp.emfstore.ui/.settings/org.eclipse.pde.api.tools.prefs b/bundles/org.eclipse.emf.ecp.emfstore.ui/.settings/org.eclipse.pde.api.tools.prefs
index e4e3c00..cfb400b 100644
--- a/bundles/org.eclipse.emf.ecp.emfstore.ui/.settings/org.eclipse.pde.api.tools.prefs
+++ b/bundles/org.eclipse.emf.ecp.emfstore.ui/.settings/org.eclipse.pde.api.tools.prefs
@@ -1,3 +1,4 @@
+ANNOTATION_ELEMENT_TYPE_ADDED_FIELD=Error
 ANNOTATION_ELEMENT_TYPE_ADDED_METHOD_WITHOUT_DEFAULT_VALUE=Error
 ANNOTATION_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
 ANNOTATION_ELEMENT_TYPE_REMOVED_FIELD=Error
@@ -10,6 +11,7 @@
 API_USE_SCAN_FIELD_SEVERITY=Error
 API_USE_SCAN_METHOD_SEVERITY=Error
 API_USE_SCAN_TYPE_SEVERITY=Error
+CLASS_ELEMENT_TYPE_ADDED_FIELD=Error
 CLASS_ELEMENT_TYPE_ADDED_METHOD=Error
 CLASS_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
 CLASS_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
@@ -49,6 +51,7 @@
 ILLEGAL_INSTANTIATE=Warning
 ILLEGAL_OVERRIDE=Warning
 ILLEGAL_REFERENCE=Warning
+INTERFACE_ELEMENT_TYPE_ADDED_DEFAULT_METHOD=Ignore
 INTERFACE_ELEMENT_TYPE_ADDED_FIELD=Error
 INTERFACE_ELEMENT_TYPE_ADDED_METHOD=Error
 INTERFACE_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
@@ -60,6 +63,7 @@
 INTERFACE_ELEMENT_TYPE_REMOVED_METHOD=Error
 INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
 INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
+INVALID_ANNOTATION=Warning
 INVALID_JAVADOC_TAG=Warning
 INVALID_REFERENCE_IN_SYSTEM_LIBRARIES=Error
 LEAK_EXTEND=Warning
@@ -86,10 +90,13 @@
 TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error
 UNUSED_PROBLEM_FILTERS=Ignore
 automatically_removed_unused_problem_filters=Disabled
+changed_execution_env=Error
 eclipse.preferences.version=1
 incompatible_api_component_version=Error
 incompatible_api_component_version_include_major_without_breaking_change=Disabled
 incompatible_api_component_version_include_minor_without_api_change=Disabled
+incompatible_api_component_version_report_major_without_breaking_change=Ignore
+incompatible_api_component_version_report_minor_without_api_change=Ignore
 invalid_since_tag_version=Error
 malformed_since_tag=Error
 missing_since_tag=Error
diff --git a/bundles/org.eclipse.emf.ecp.emfstore.ui/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.emfstore.ui/META-INF/MANIFEST.MF
index 6b4c959..362a16a 100644
--- a/bundles/org.eclipse.emf.ecp.emfstore.ui/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.emfstore.ui/META-INF/MANIFEST.MF
@@ -2,21 +2,21 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: ECP EMFStore UI Provider
 Bundle-SymbolicName: org.eclipse.emf.ecp.emfstore.ui;singleton:=true
-Bundle-Version: 1.21.0.qualifier
+Bundle-Version: 1.22.0.qualifier
 Bundle-Activator: org.eclipse.emf.ecp.emfstore.internal.ui.Activator
 Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emf.ecp.emfstore.internal.ui;version="1.21.0";x-internal:=true,
- org.eclipse.emf.ecp.emfstore.internal.ui.handler;version="1.21.0";x-friends:="org.eclipse.emf.ecp.emfstore.ui.e4,org.eclipse.emf.ecp.emfstore.ui.e3",
- org.eclipse.emf.ecp.emfstore.internal.ui.observer;version="1.21.0";x-internal:=true,
- org.eclipse.emf.ecp.emfstore.internal.ui.property;version="1.21.0";x-internal:=true
+Export-Package: org.eclipse.emf.ecp.emfstore.internal.ui;version="1.22.0";x-internal:=true,
+ org.eclipse.emf.ecp.emfstore.internal.ui.handler;version="1.22.0";x-friends:="org.eclipse.emf.ecp.emfstore.ui.e4,org.eclipse.emf.ecp.emfstore.ui.e3",
+ org.eclipse.emf.ecp.emfstore.internal.ui.observer;version="1.22.0";x-internal:=true,
+ org.eclipse.emf.ecp.emfstore.internal.ui.property;version="1.22.0";x-internal:=true
 Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.4.0,4.0.0)",
  org.eclipse.core.expressions;bundle-version="[3.4.0,4.0.0)",
- org.eclipse.emf.ecp.emfstore.core;bundle-version="[1.21.0,1.22.0)",
- org.eclipse.emf.ecp.ui;bundle-version="[1.21.0,1.22.0)",
+ org.eclipse.emf.ecp.emfstore.core;bundle-version="[1.22.0,1.23.0)",
+ org.eclipse.emf.ecp.ui;bundle-version="[1.22.0,1.23.0)",
  org.eclipse.emf.emfstore.client;bundle-version="[1.0.0,2.0.0)",
  org.eclipse.emf.emfstore.client.ui;bundle-version="[1.0.0,2.0.0)",
  org.eclipse.net4j.util;bundle-version="[3.0.0,4.0.0)",
- org.eclipse.emf.ecp.common;bundle-version="[1.21.0,1.22.0)"
+ org.eclipse.emf.ecp.common;bundle-version="[1.22.0,1.23.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Bundle-ActivationPolicy: lazy
 Import-Package: org.eclipse.core.commands;version="0.0.0",
diff --git a/bundles/org.eclipse.emf.ecp.emfstore.ui/pom.xml b/bundles/org.eclipse.emf.ecp.emfstore.ui/pom.xml
index 828a2d7..7318add 100644
--- a/bundles/org.eclipse.emf.ecp.emfstore.ui/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.emfstore.ui/pom.xml
@@ -5,11 +5,11 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.21.0-SNAPSHOT</version>
+    <version>1.22.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emf.ecp.emfstore.ui</artifactId>
-  <version>1.21.0-SNAPSHOT</version>
+  <version>1.22.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
 </project>
diff --git a/bundles/org.eclipse.emf.ecp.examplemodel.ui/.project b/bundles/org.eclipse.emf.ecp.examplemodel.ui/.project
index 2795068..7c93b70 100644
--- a/bundles/org.eclipse.emf.ecp.examplemodel.ui/.project
+++ b/bundles/org.eclipse.emf.ecp.examplemodel.ui/.project
@@ -6,11 +6,6 @@
 	</projects>

 	<buildSpec>

 		<buildCommand>

-			<name>org.eclipse.jdt.core.javabuilder</name>

-			<arguments>

-			</arguments>

-		</buildCommand>

-		<buildCommand>

 			<name>org.eclipse.pde.ManifestBuilder</name>

 			<arguments>

 			</arguments>

diff --git a/bundles/org.eclipse.emf.ecp.examplemodel.ui/.settings/org.eclipse.jdt.core.prefs b/bundles/org.eclipse.emf.ecp.examplemodel.ui/.settings/org.eclipse.jdt.core.prefs
index 0309974..5701814 100644
--- a/bundles/org.eclipse.emf.ecp.examplemodel.ui/.settings/org.eclipse.jdt.core.prefs
+++ b/bundles/org.eclipse.emf.ecp.examplemodel.ui/.settings/org.eclipse.jdt.core.prefs
@@ -24,17 +24,9 @@
 org.eclipse.jdt.core.compiler.annotation.nonnullbydefault=org.eclipse.jdt.annotation.NonNullByDefault
 org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nullable
 org.eclipse.jdt.core.compiler.annotation.nullanalysis=disabled
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.8
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
 org.eclipse.jdt.core.compiler.doc.comment.support=enabled
 org.eclipse.jdt.core.compiler.maxProblemPerUnit=100
 org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
 org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
 org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning
 org.eclipse.jdt.core.compiler.problem.deadCode=warning
@@ -43,7 +35,6 @@
 org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
 org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
 org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
 org.eclipse.jdt.core.compiler.problem.explicitlyClosedAutoCloseable=ignore
 org.eclipse.jdt.core.compiler.problem.fallthroughCase=warning
 org.eclipse.jdt.core.compiler.problem.fatalOptionalError=disabled
@@ -130,7 +121,6 @@
 org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore
 org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
 org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.8
 org.eclipse.jdt.core.compiler.taskCaseSensitive=enabled
 org.eclipse.jdt.core.compiler.taskPriorities=NORMAL,HIGH,HIGH,LOW,LOW,LOW,LOW,LOW,NORMAL
 org.eclipse.jdt.core.compiler.taskTags=TODO,FIXME,XXX,PERF,MEM,POLISH,@generated NOT,@ADDED,APITODO
diff --git a/bundles/org.eclipse.emf.ecp.examplemodel.ui/.settings/org.eclipse.pde.api.tools.prefs b/bundles/org.eclipse.emf.ecp.examplemodel.ui/.settings/org.eclipse.pde.api.tools.prefs
index e4e3c00..cfb400b 100644
--- a/bundles/org.eclipse.emf.ecp.examplemodel.ui/.settings/org.eclipse.pde.api.tools.prefs
+++ b/bundles/org.eclipse.emf.ecp.examplemodel.ui/.settings/org.eclipse.pde.api.tools.prefs
@@ -1,3 +1,4 @@
+ANNOTATION_ELEMENT_TYPE_ADDED_FIELD=Error
 ANNOTATION_ELEMENT_TYPE_ADDED_METHOD_WITHOUT_DEFAULT_VALUE=Error
 ANNOTATION_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
 ANNOTATION_ELEMENT_TYPE_REMOVED_FIELD=Error
@@ -10,6 +11,7 @@
 API_USE_SCAN_FIELD_SEVERITY=Error
 API_USE_SCAN_METHOD_SEVERITY=Error
 API_USE_SCAN_TYPE_SEVERITY=Error
+CLASS_ELEMENT_TYPE_ADDED_FIELD=Error
 CLASS_ELEMENT_TYPE_ADDED_METHOD=Error
 CLASS_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
 CLASS_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
@@ -49,6 +51,7 @@
 ILLEGAL_INSTANTIATE=Warning
 ILLEGAL_OVERRIDE=Warning
 ILLEGAL_REFERENCE=Warning
+INTERFACE_ELEMENT_TYPE_ADDED_DEFAULT_METHOD=Ignore
 INTERFACE_ELEMENT_TYPE_ADDED_FIELD=Error
 INTERFACE_ELEMENT_TYPE_ADDED_METHOD=Error
 INTERFACE_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
@@ -60,6 +63,7 @@
 INTERFACE_ELEMENT_TYPE_REMOVED_METHOD=Error
 INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
 INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
+INVALID_ANNOTATION=Warning
 INVALID_JAVADOC_TAG=Warning
 INVALID_REFERENCE_IN_SYSTEM_LIBRARIES=Error
 LEAK_EXTEND=Warning
@@ -86,10 +90,13 @@
 TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error
 UNUSED_PROBLEM_FILTERS=Ignore
 automatically_removed_unused_problem_filters=Disabled
+changed_execution_env=Error
 eclipse.preferences.version=1
 incompatible_api_component_version=Error
 incompatible_api_component_version_include_major_without_breaking_change=Disabled
 incompatible_api_component_version_include_minor_without_api_change=Disabled
+incompatible_api_component_version_report_major_without_breaking_change=Ignore
+incompatible_api_component_version_report_minor_without_api_change=Ignore
 invalid_since_tag_version=Error
 malformed_since_tag=Error
 missing_since_tag=Error
diff --git a/bundles/org.eclipse.emf.ecp.examplemodel.ui/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.examplemodel.ui/META-INF/MANIFEST.MF
index c0931df..fa7b85c 100644
--- a/bundles/org.eclipse.emf.ecp.examplemodel.ui/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.examplemodel.ui/META-INF/MANIFEST.MF
@@ -2,11 +2,11 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: UI Contributions for the Bowling example model
 Bundle-SymbolicName: org.eclipse.emf.ecp.examplemodel.ui;singleton:=true
-Bundle-Version: 1.21.0.qualifier
+Bundle-Version: 1.22.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Require-Bundle: org.eclipse.emf.ecp.edit;bundle-version="[1.21.0,1.22.0)",
- org.eclipse.emf.ecp.edit.swt;bundle-version="[1.21.0,1.22.0)",
+Require-Bundle: org.eclipse.emf.ecp.edit;bundle-version="[1.22.0,1.23.0)",
+ org.eclipse.emf.ecp.edit.swt;bundle-version="[1.22.0,1.23.0)",
  org.eclipse.emf.emfstore.examplemodel;bundle-version="[1.3.0,2.0.0)",
- org.eclipse.emf.ecp.view.model.provider.xmi;bundle-version="[1.21.0,1.22.0)"
+ org.eclipse.emf.ecp.view.model.provider.xmi;bundle-version="[1.22.0,1.23.0)"
 Automatic-Module-Name: org.eclipse.emf.ecp.examplemodel.ui
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
diff --git a/bundles/org.eclipse.emf.ecp.examplemodel.ui/pom.xml b/bundles/org.eclipse.emf.ecp.examplemodel.ui/pom.xml
index 78e3e32..9c6bebb 100644
--- a/bundles/org.eclipse.emf.ecp.examplemodel.ui/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.examplemodel.ui/pom.xml
@@ -5,11 +5,11 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.21.0-SNAPSHOT</version>
+    <version>1.22.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emf.ecp.examplemodel.ui</artifactId>
-  <version>1.21.0-SNAPSHOT</version>
+  <version>1.22.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
 </project>
diff --git a/bundles/org.eclipse.emf.ecp.explorereditorbridge/.settings/org.eclipse.pde.api.tools.prefs b/bundles/org.eclipse.emf.ecp.explorereditorbridge/.settings/org.eclipse.pde.api.tools.prefs
index e4e3c00..cfb400b 100644
--- a/bundles/org.eclipse.emf.ecp.explorereditorbridge/.settings/org.eclipse.pde.api.tools.prefs
+++ b/bundles/org.eclipse.emf.ecp.explorereditorbridge/.settings/org.eclipse.pde.api.tools.prefs
@@ -1,3 +1,4 @@
+ANNOTATION_ELEMENT_TYPE_ADDED_FIELD=Error
 ANNOTATION_ELEMENT_TYPE_ADDED_METHOD_WITHOUT_DEFAULT_VALUE=Error
 ANNOTATION_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
 ANNOTATION_ELEMENT_TYPE_REMOVED_FIELD=Error
@@ -10,6 +11,7 @@
 API_USE_SCAN_FIELD_SEVERITY=Error
 API_USE_SCAN_METHOD_SEVERITY=Error
 API_USE_SCAN_TYPE_SEVERITY=Error
+CLASS_ELEMENT_TYPE_ADDED_FIELD=Error
 CLASS_ELEMENT_TYPE_ADDED_METHOD=Error
 CLASS_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
 CLASS_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
@@ -49,6 +51,7 @@
 ILLEGAL_INSTANTIATE=Warning
 ILLEGAL_OVERRIDE=Warning
 ILLEGAL_REFERENCE=Warning
+INTERFACE_ELEMENT_TYPE_ADDED_DEFAULT_METHOD=Ignore
 INTERFACE_ELEMENT_TYPE_ADDED_FIELD=Error
 INTERFACE_ELEMENT_TYPE_ADDED_METHOD=Error
 INTERFACE_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
@@ -60,6 +63,7 @@
 INTERFACE_ELEMENT_TYPE_REMOVED_METHOD=Error
 INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
 INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
+INVALID_ANNOTATION=Warning
 INVALID_JAVADOC_TAG=Warning
 INVALID_REFERENCE_IN_SYSTEM_LIBRARIES=Error
 LEAK_EXTEND=Warning
@@ -86,10 +90,13 @@
 TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error
 UNUSED_PROBLEM_FILTERS=Ignore
 automatically_removed_unused_problem_filters=Disabled
+changed_execution_env=Error
 eclipse.preferences.version=1
 incompatible_api_component_version=Error
 incompatible_api_component_version_include_major_without_breaking_change=Disabled
 incompatible_api_component_version_include_minor_without_api_change=Disabled
+incompatible_api_component_version_report_major_without_breaking_change=Ignore
+incompatible_api_component_version_report_minor_without_api_change=Ignore
 invalid_since_tag_version=Error
 malformed_since_tag=Error
 missing_since_tag=Error
diff --git a/bundles/org.eclipse.emf.ecp.explorereditorbridge/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.explorereditorbridge/META-INF/MANIFEST.MF
index 56dea63..8f8e680 100644
--- a/bundles/org.eclipse.emf.ecp.explorereditorbridge/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.explorereditorbridge/META-INF/MANIFEST.MF
@@ -2,22 +2,22 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: ECP Explorer Editor Bridge
 Bundle-SymbolicName: org.eclipse.emf.ecp.explorereditorbridge;singleton:=true
-Bundle-Version: 1.21.0.qualifier
+Bundle-Version: 1.22.0.qualifier
 Bundle-Activator: org.eclipse.emf.ecp.explorereditorbridge.internal.Activator
 Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emf.ecp.explorereditorbridge.internal;version="1.21.0";x-friends:="org.eclipse.emf.ecp.ui.view.test"
+Export-Package: org.eclipse.emf.ecp.explorereditorbridge.internal;version="1.22.0";x-friends:="org.eclipse.emf.ecp.ui.view.test"
 Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.4.0,4.0.0)",
- org.eclipse.emf.ecp.ui;bundle-version="[1.21.0,1.22.0)",
+ org.eclipse.emf.ecp.ui;bundle-version="[1.22.0,1.23.0)",
  org.eclipse.emf.databinding;bundle-version="[1.2.0,2.0.0)",
- org.eclipse.emf.ecp.edit;bundle-version="[1.21.0,1.22.0)",
- org.eclipse.emf.ecp.editor.e3;bundle-version="[1.21.0,1.22.0)",
- org.eclipse.emf.ecp.view.context;bundle-version="[1.21.0,1.22.0)",
- org.eclipse.emf.ecp.ui.view;bundle-version="[1.21.0,1.22.0)",
- org.eclipse.emf.ecp.edit.swt;bundle-version="[1.21.0,1.22.0)"
+ org.eclipse.emf.ecp.edit;bundle-version="[1.22.0,1.23.0)",
+ org.eclipse.emf.ecp.editor.e3;bundle-version="[1.22.0,1.23.0)",
+ org.eclipse.emf.ecp.view.context;bundle-version="[1.22.0,1.23.0)",
+ org.eclipse.emf.ecp.ui.view;bundle-version="[1.22.0,1.23.0)",
+ org.eclipse.emf.ecp.edit.swt;bundle-version="[1.22.0,1.23.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Bundle-ActivationPolicy: lazy
 Import-Package: org.eclipse.core.commands;version="0.0.0",
- org.eclipse.emf.ecp.edit.internal.swt;version="[1.21.0,1.22.0)",
+ org.eclipse.emf.ecp.edit.internal.swt;version="[1.22.0,1.23.0)",
  org.eclipse.emf.edit.ui.provider;version="0.0.0",
  org.eclipse.jface.dialogs;version="0.0.0",
  org.eclipse.jface.viewers;version="0.0.0",
diff --git a/bundles/org.eclipse.emf.ecp.explorereditorbridge/pom.xml b/bundles/org.eclipse.emf.ecp.explorereditorbridge/pom.xml
index ada026e..f783420 100644
--- a/bundles/org.eclipse.emf.ecp.explorereditorbridge/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.explorereditorbridge/pom.xml
@@ -5,12 +5,12 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.21.0-SNAPSHOT</version>
+    <version>1.22.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emf.ecp.explorereditorbridge</artifactId>
-  <version>1.21.0-SNAPSHOT</version>
+  <version>1.22.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
   
   <properties>
diff --git a/bundles/org.eclipse.emf.ecp.graphiti.core/.settings/org.eclipse.pde.api.tools.prefs b/bundles/org.eclipse.emf.ecp.graphiti.core/.settings/org.eclipse.pde.api.tools.prefs
index e4e3c00..cfb400b 100644
--- a/bundles/org.eclipse.emf.ecp.graphiti.core/.settings/org.eclipse.pde.api.tools.prefs
+++ b/bundles/org.eclipse.emf.ecp.graphiti.core/.settings/org.eclipse.pde.api.tools.prefs
@@ -1,3 +1,4 @@
+ANNOTATION_ELEMENT_TYPE_ADDED_FIELD=Error
 ANNOTATION_ELEMENT_TYPE_ADDED_METHOD_WITHOUT_DEFAULT_VALUE=Error
 ANNOTATION_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
 ANNOTATION_ELEMENT_TYPE_REMOVED_FIELD=Error
@@ -10,6 +11,7 @@
 API_USE_SCAN_FIELD_SEVERITY=Error
 API_USE_SCAN_METHOD_SEVERITY=Error
 API_USE_SCAN_TYPE_SEVERITY=Error
+CLASS_ELEMENT_TYPE_ADDED_FIELD=Error
 CLASS_ELEMENT_TYPE_ADDED_METHOD=Error
 CLASS_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
 CLASS_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
@@ -49,6 +51,7 @@
 ILLEGAL_INSTANTIATE=Warning
 ILLEGAL_OVERRIDE=Warning
 ILLEGAL_REFERENCE=Warning
+INTERFACE_ELEMENT_TYPE_ADDED_DEFAULT_METHOD=Ignore
 INTERFACE_ELEMENT_TYPE_ADDED_FIELD=Error
 INTERFACE_ELEMENT_TYPE_ADDED_METHOD=Error
 INTERFACE_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
@@ -60,6 +63,7 @@
 INTERFACE_ELEMENT_TYPE_REMOVED_METHOD=Error
 INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
 INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
+INVALID_ANNOTATION=Warning
 INVALID_JAVADOC_TAG=Warning
 INVALID_REFERENCE_IN_SYSTEM_LIBRARIES=Error
 LEAK_EXTEND=Warning
@@ -86,10 +90,13 @@
 TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error
 UNUSED_PROBLEM_FILTERS=Ignore
 automatically_removed_unused_problem_filters=Disabled
+changed_execution_env=Error
 eclipse.preferences.version=1
 incompatible_api_component_version=Error
 incompatible_api_component_version_include_major_without_breaking_change=Disabled
 incompatible_api_component_version_include_minor_without_api_change=Disabled
+incompatible_api_component_version_report_major_without_breaking_change=Ignore
+incompatible_api_component_version_report_minor_without_api_change=Ignore
 invalid_since_tag_version=Error
 malformed_since_tag=Error
 missing_since_tag=Error
diff --git a/bundles/org.eclipse.emf.ecp.graphiti.integration/.settings/org.eclipse.pde.api.tools.prefs b/bundles/org.eclipse.emf.ecp.graphiti.integration/.settings/org.eclipse.pde.api.tools.prefs
index e4e3c00..cfb400b 100644
--- a/bundles/org.eclipse.emf.ecp.graphiti.integration/.settings/org.eclipse.pde.api.tools.prefs
+++ b/bundles/org.eclipse.emf.ecp.graphiti.integration/.settings/org.eclipse.pde.api.tools.prefs
@@ -1,3 +1,4 @@
+ANNOTATION_ELEMENT_TYPE_ADDED_FIELD=Error
 ANNOTATION_ELEMENT_TYPE_ADDED_METHOD_WITHOUT_DEFAULT_VALUE=Error
 ANNOTATION_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
 ANNOTATION_ELEMENT_TYPE_REMOVED_FIELD=Error
@@ -10,6 +11,7 @@
 API_USE_SCAN_FIELD_SEVERITY=Error
 API_USE_SCAN_METHOD_SEVERITY=Error
 API_USE_SCAN_TYPE_SEVERITY=Error
+CLASS_ELEMENT_TYPE_ADDED_FIELD=Error
 CLASS_ELEMENT_TYPE_ADDED_METHOD=Error
 CLASS_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
 CLASS_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
@@ -49,6 +51,7 @@
 ILLEGAL_INSTANTIATE=Warning
 ILLEGAL_OVERRIDE=Warning
 ILLEGAL_REFERENCE=Warning
+INTERFACE_ELEMENT_TYPE_ADDED_DEFAULT_METHOD=Ignore
 INTERFACE_ELEMENT_TYPE_ADDED_FIELD=Error
 INTERFACE_ELEMENT_TYPE_ADDED_METHOD=Error
 INTERFACE_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
@@ -60,6 +63,7 @@
 INTERFACE_ELEMENT_TYPE_REMOVED_METHOD=Error
 INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
 INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
+INVALID_ANNOTATION=Warning
 INVALID_JAVADOC_TAG=Warning
 INVALID_REFERENCE_IN_SYSTEM_LIBRARIES=Error
 LEAK_EXTEND=Warning
@@ -86,10 +90,13 @@
 TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error
 UNUSED_PROBLEM_FILTERS=Ignore
 automatically_removed_unused_problem_filters=Disabled
+changed_execution_env=Error
 eclipse.preferences.version=1
 incompatible_api_component_version=Error
 incompatible_api_component_version_include_major_without_breaking_change=Disabled
 incompatible_api_component_version_include_minor_without_api_change=Disabled
+incompatible_api_component_version_report_major_without_breaking_change=Ignore
+incompatible_api_component_version_report_minor_without_api_change=Ignore
 invalid_since_tag_version=Error
 malformed_since_tag=Error
 missing_since_tag=Error
diff --git a/bundles/org.eclipse.emf.ecp.graphiti.integration/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.graphiti.integration/META-INF/MANIFEST.MF
index 67d16ae..10e4218 100644
--- a/bundles/org.eclipse.emf.ecp.graphiti.integration/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.graphiti.integration/META-INF/MANIFEST.MF
@@ -16,7 +16,7 @@
  org.eclipse.emf.edit.ui;bundle-version="2.8.0",
  org.eclipse.emf.databinding.edit;bundle-version="1.2.0",
  org.eclipse.emf.ecp.graphiti.core;bundle-version="[1.7.0,1.8.0)",
- org.eclipse.emf.ecp.ui;bundle-version="[1.21.0,1.22.0)"
+ org.eclipse.emf.ecp.ui;bundle-version="[1.22.0,1.23.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Automatic-Module-Name: org.eclipse.emf.ecp.graphiti.integration
 Bundle-ActivationPolicy: lazy
diff --git a/bundles/org.eclipse.emf.ecp.ide.editor.view.templatebridge/.settings/org.eclipse.pde.api.tools.prefs b/bundles/org.eclipse.emf.ecp.ide.editor.view.templatebridge/.settings/org.eclipse.pde.api.tools.prefs
index e4e3c00..cfb400b 100644
--- a/bundles/org.eclipse.emf.ecp.ide.editor.view.templatebridge/.settings/org.eclipse.pde.api.tools.prefs
+++ b/bundles/org.eclipse.emf.ecp.ide.editor.view.templatebridge/.settings/org.eclipse.pde.api.tools.prefs
@@ -1,3 +1,4 @@
+ANNOTATION_ELEMENT_TYPE_ADDED_FIELD=Error
 ANNOTATION_ELEMENT_TYPE_ADDED_METHOD_WITHOUT_DEFAULT_VALUE=Error
 ANNOTATION_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
 ANNOTATION_ELEMENT_TYPE_REMOVED_FIELD=Error
@@ -10,6 +11,7 @@
 API_USE_SCAN_FIELD_SEVERITY=Error
 API_USE_SCAN_METHOD_SEVERITY=Error
 API_USE_SCAN_TYPE_SEVERITY=Error
+CLASS_ELEMENT_TYPE_ADDED_FIELD=Error
 CLASS_ELEMENT_TYPE_ADDED_METHOD=Error
 CLASS_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
 CLASS_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
@@ -49,6 +51,7 @@
 ILLEGAL_INSTANTIATE=Warning
 ILLEGAL_OVERRIDE=Warning
 ILLEGAL_REFERENCE=Warning
+INTERFACE_ELEMENT_TYPE_ADDED_DEFAULT_METHOD=Ignore
 INTERFACE_ELEMENT_TYPE_ADDED_FIELD=Error
 INTERFACE_ELEMENT_TYPE_ADDED_METHOD=Error
 INTERFACE_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
@@ -60,6 +63,7 @@
 INTERFACE_ELEMENT_TYPE_REMOVED_METHOD=Error
 INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
 INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
+INVALID_ANNOTATION=Warning
 INVALID_JAVADOC_TAG=Warning
 INVALID_REFERENCE_IN_SYSTEM_LIBRARIES=Error
 LEAK_EXTEND=Warning
@@ -86,10 +90,13 @@
 TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error
 UNUSED_PROBLEM_FILTERS=Ignore
 automatically_removed_unused_problem_filters=Disabled
+changed_execution_env=Error
 eclipse.preferences.version=1
 incompatible_api_component_version=Error
 incompatible_api_component_version_include_major_without_breaking_change=Disabled
 incompatible_api_component_version_include_minor_without_api_change=Disabled
+incompatible_api_component_version_report_major_without_breaking_change=Ignore
+incompatible_api_component_version_report_minor_without_api_change=Ignore
 invalid_since_tag_version=Error
 malformed_since_tag=Error
 missing_since_tag=Error
diff --git a/bundles/org.eclipse.emf.ecp.ide.editor.view.templatebridge/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.ide.editor.view.templatebridge/META-INF/MANIFEST.MF
index c93a1e1..342d129 100644
--- a/bundles/org.eclipse.emf.ecp.ide.editor.view.templatebridge/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.ide.editor.view.templatebridge/META-INF/MANIFEST.MF
@@ -2,15 +2,15 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: EMFForms View Editor to Template Editor Integration
 Bundle-SymbolicName: org.eclipse.emf.ecp.ide.editor.view.templatebridge;singleton:=true
-Bundle-Version: 1.21.0.qualifier
+Bundle-Version: 1.22.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emf.ecp.internal.ide.editor.view.templatebridge.actions;version="1.21.0";x-internal:=true
-Require-Bundle: org.eclipse.emf.ecp.view.treemasterdetail.ui.swt;bundle-version="[1.21.0,1.22.0)",
+Export-Package: org.eclipse.emf.ecp.internal.ide.editor.view.templatebridge.actions;version="1.22.0";x-internal:=true
+Require-Bundle: org.eclipse.emf.ecp.view.treemasterdetail.ui.swt;bundle-version="[1.22.0,1.23.0)",
  org.eclipse.emf.ecore;bundle-version="[2.8.0,3.0.0)",
  org.eclipse.ui.workbench;bundle-version="[3.7.0,4.0.0)",
  org.eclipse.ui;bundle-version="[3.0.0,4.0.0)",
- org.eclipse.emf.ecp.view.model;bundle-version="[1.21.0,1.22.0)",
- org.eclipse.emf.ecp.view.template.tooling;bundle-version="[1.21.0,1.22.0)"
+ org.eclipse.emf.ecp.view.model;bundle-version="[1.22.0,1.23.0)",
+ org.eclipse.emf.ecp.view.template.tooling;bundle-version="[1.22.0,1.23.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Automatic-Module-Name: org.eclipse.emf.ecp.ide.editor.view.templatebridge
 Bundle-ActivationPolicy: lazy
diff --git a/bundles/org.eclipse.emf.ecp.ide.editor.view.templatebridge/pom.xml b/bundles/org.eclipse.emf.ecp.ide.editor.view.templatebridge/pom.xml
index 800e790..cd2f218 100644
--- a/bundles/org.eclipse.emf.ecp.ide.editor.view.templatebridge/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.ide.editor.view.templatebridge/pom.xml
@@ -5,11 +5,11 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.21.0-SNAPSHOT</version>
+    <version>1.22.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emf.ecp.ide.editor.view.templatebridge</artifactId>
-  <version>1.21.0-SNAPSHOT</version>
+  <version>1.22.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
 </project>
diff --git a/bundles/org.eclipse.emf.ecp.ide.editor.view/.settings/org.eclipse.pde.api.tools.prefs b/bundles/org.eclipse.emf.ecp.ide.editor.view/.settings/org.eclipse.pde.api.tools.prefs
index e4e3c00..cfb400b 100644
--- a/bundles/org.eclipse.emf.ecp.ide.editor.view/.settings/org.eclipse.pde.api.tools.prefs
+++ b/bundles/org.eclipse.emf.ecp.ide.editor.view/.settings/org.eclipse.pde.api.tools.prefs
@@ -1,3 +1,4 @@
+ANNOTATION_ELEMENT_TYPE_ADDED_FIELD=Error
 ANNOTATION_ELEMENT_TYPE_ADDED_METHOD_WITHOUT_DEFAULT_VALUE=Error
 ANNOTATION_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
 ANNOTATION_ELEMENT_TYPE_REMOVED_FIELD=Error
@@ -10,6 +11,7 @@
 API_USE_SCAN_FIELD_SEVERITY=Error
 API_USE_SCAN_METHOD_SEVERITY=Error
 API_USE_SCAN_TYPE_SEVERITY=Error
+CLASS_ELEMENT_TYPE_ADDED_FIELD=Error
 CLASS_ELEMENT_TYPE_ADDED_METHOD=Error
 CLASS_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
 CLASS_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
@@ -49,6 +51,7 @@
 ILLEGAL_INSTANTIATE=Warning
 ILLEGAL_OVERRIDE=Warning
 ILLEGAL_REFERENCE=Warning
+INTERFACE_ELEMENT_TYPE_ADDED_DEFAULT_METHOD=Ignore
 INTERFACE_ELEMENT_TYPE_ADDED_FIELD=Error
 INTERFACE_ELEMENT_TYPE_ADDED_METHOD=Error
 INTERFACE_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
@@ -60,6 +63,7 @@
 INTERFACE_ELEMENT_TYPE_REMOVED_METHOD=Error
 INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
 INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
+INVALID_ANNOTATION=Warning
 INVALID_JAVADOC_TAG=Warning
 INVALID_REFERENCE_IN_SYSTEM_LIBRARIES=Error
 LEAK_EXTEND=Warning
@@ -86,10 +90,13 @@
 TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error
 UNUSED_PROBLEM_FILTERS=Ignore
 automatically_removed_unused_problem_filters=Disabled
+changed_execution_env=Error
 eclipse.preferences.version=1
 incompatible_api_component_version=Error
 incompatible_api_component_version_include_major_without_breaking_change=Disabled
 incompatible_api_component_version_include_minor_without_api_change=Disabled
+incompatible_api_component_version_report_major_without_breaking_change=Ignore
+incompatible_api_component_version_report_minor_without_api_change=Ignore
 invalid_since_tag_version=Error
 malformed_since_tag=Error
 missing_since_tag=Error
diff --git a/bundles/org.eclipse.emf.ecp.ide.editor.view/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.ide.editor.view/META-INF/MANIFEST.MF
index 2936af5..0a48667 100644
--- a/bundles/org.eclipse.emf.ecp.ide.editor.view/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.ide.editor.view/META-INF/MANIFEST.MF
@@ -2,26 +2,31 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: IDE View Editor
 Bundle-SymbolicName: org.eclipse.emf.ecp.ide.editor.view;singleton:=true
-Bundle-Version: 1.21.0.qualifier
+Bundle-Version: 1.22.0.qualifier
 Bundle-Activator: org.eclipse.emf.ecp.ide.editor.view.Activator
 Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emf.ecp.ide.editor.view;version="1.21.0";x-friends:="org.eclipse.emf.ecp.view.model.preview.e3",
- org.eclipse.emf.ecp.ide.editor.view.messages;version="1.21.0";x-internal:=true
+Export-Package: org.eclipse.emf.ecp.ide.editor.view;version="1.22.0";x-friends:="org.eclipse.emf.ecp.view.model.preview.e3",
+ org.eclipse.emf.ecp.ide.editor.view.messages;version="1.22.0";x-internal:=true
 Require-Bundle: org.eclipse.ui;bundle-version="[3.0.0,4.0.0)",
  org.eclipse.core.runtime;bundle-version="[3.4.0,4.0.0)",
- org.eclipse.emf.ecp.ui.view.swt;bundle-version="[1.21.0,1.22.0)",
+ org.eclipse.emf.ecp.ui.view.swt;bundle-version="[1.22.0,1.23.0)",
  org.eclipse.ui.ide;bundle-version="[3.9.1,4.0.0)",
- org.eclipse.emf.ecp.ide.view.service;bundle-version="[1.21.0,1.22.0)",
- org.eclipse.emf.ecp.ide.util;bundle-version="[1.21.0,1.22.0)",
+ org.eclipse.emf.ecp.ide.view.service;bundle-version="[1.22.0,1.23.0)",
+ org.eclipse.emf.ecp.ide.util;bundle-version="[1.22.0,1.23.0)",
  org.eclipse.core.resources;bundle-version="[3.7.0,4.0.0)",
- org.eclipse.emf.ecp.edit;bundle-version="[1.21.0,1.22.0)",
+ org.eclipse.emf.ecp.edit;bundle-version="[1.22.0,1.23.0)",
  org.eclipse.emf.ecore.xmi;bundle-version="[2.7.0,3.0.0)",
  org.eclipse.jface;bundle-version="[3.7.0,4.0.0)",
  org.eclipse.emf.ecore;bundle-version="[2.7.0,3.0.0)",
- org.eclipse.emf.ecp.view.migrator;bundle-version="[1.21.0,1.22.0)",
- org.eclipse.emfforms.core.services;bundle-version="[1.21.0,1.22.0)",
- org.eclipse.emf.edit.ui;bundle-version="[2.7.0,3.0.0)"
+ org.eclipse.emf.ecp.view.migrator;bundle-version="[1.22.0,1.23.0)",
+ org.eclipse.emfforms.core.services;bundle-version="[1.22.0,1.23.0)",
+ org.eclipse.emf.edit.ui;bundle-version="[2.7.0,3.0.0)",
+ org.eclipse.emfforms.ide.view.segments;bundle-version="[1.22.0,1.23.0)",
+ org.eclipse.emfforms.editor;bundle-version="[1.22.0,1.23.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Bundle-ActivationPolicy: lazy
-Import-Package: org.eclipse.emfforms.spi.common.report;version="[1.21.0,1.22.0)"
+Import-Package: org.eclipse.e4.core.contexts;version="[1.3.0,2.0.0)",
+ org.eclipse.emfforms.spi.common.report;version="[1.22.0,1.23.0)",
+ org.eclipse.emfforms.spi.editor;version="[1.22.0,1.23.0)",
+ org.eclipse.emfforms.spi.swt.core.di;version="[1.22.0,1.23.0)"
 Automatic-Module-Name: org.eclipse.emf.ecp.ide.editor.view
diff --git a/bundles/org.eclipse.emf.ecp.ide.editor.view/pom.xml b/bundles/org.eclipse.emf.ecp.ide.editor.view/pom.xml
index 3ca66ae..c892ef0 100644
--- a/bundles/org.eclipse.emf.ecp.ide.editor.view/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.ide.editor.view/pom.xml
@@ -5,11 +5,11 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.21.0-SNAPSHOT</version>
+    <version>1.22.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emf.ecp.ide.editor.view</artifactId>
-  <version>1.21.0-SNAPSHOT</version>
+  <version>1.22.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
 </project>
diff --git a/bundles/org.eclipse.emf.ecp.ide.editor.view/src/org/eclipse/emf/ecp/ide/editor/view/ViewEditorPart.java b/bundles/org.eclipse.emf.ecp.ide.editor.view/src/org/eclipse/emf/ecp/ide/editor/view/ViewEditorPart.java
index 9d9d2c0..de4e9af 100644
--- a/bundles/org.eclipse.emf.ecp.ide.editor.view/src/org/eclipse/emf/ecp/ide/editor/view/ViewEditorPart.java
+++ b/bundles/org.eclipse.emf.ecp.ide.editor.view/src/org/eclipse/emf/ecp/ide/editor/view/ViewEditorPart.java
@@ -10,19 +10,28 @@
  *
  * Contributors:
  * Eugen Neufeld - initial API and implementation
- * Christian W. Damus - bug 543376
+ * Christian W. Damus - bugs 543376, 548592
  ******************************************************************************/
 package org.eclipse.emf.ecp.ide.editor.view;
 
+import static org.eclipse.emf.ecp.view.spi.context.ViewModelContextFactory.provide;
+
+import java.io.File;
 import java.io.IOException;
+import java.io.InputStream;
 import java.lang.reflect.InvocationTargetException;
+import java.nio.file.Files;
 import java.text.MessageFormat;
 import java.util.ArrayList;
+import java.util.Collections;
 import java.util.EventObject;
 import java.util.HashMap;
+import java.util.HashSet;
 import java.util.LinkedList;
 import java.util.List;
 import java.util.Map;
+import java.util.Optional;
+import java.util.Set;
 
 import org.eclipse.core.resources.IFile;
 import org.eclipse.core.resources.IResource;
@@ -30,11 +39,13 @@
 import org.eclipse.core.resources.IResourceChangeListener;
 import org.eclipse.core.resources.IResourceDelta;
 import org.eclipse.core.resources.IResourceDeltaVisitor;
+import org.eclipse.core.resources.IStorage;
 import org.eclipse.core.resources.ResourcesPlugin;
 import org.eclipse.core.runtime.CoreException;
 import org.eclipse.core.runtime.IProgressMonitor;
 import org.eclipse.core.runtime.IStatus;
 import org.eclipse.core.runtime.Status;
+import org.eclipse.e4.core.contexts.IEclipseContext;
 import org.eclipse.emf.common.command.BasicCommandStack;
 import org.eclipse.emf.common.command.CommandStackListener;
 import org.eclipse.emf.common.notify.AdapterFactory;
@@ -74,6 +85,12 @@
 import org.eclipse.emf.edit.domain.IEditingDomainProvider;
 import org.eclipse.emf.edit.provider.ComposedAdapterFactory;
 import org.eclipse.emf.edit.ui.util.EditUIUtil;
+import org.eclipse.emfforms.spi.common.report.AbstractReport;
+import org.eclipse.emfforms.spi.editor.GotoMarkerAdapter;
+import org.eclipse.emfforms.spi.editor.helpers.ResourceSetHelpers;
+import org.eclipse.emfforms.spi.ide.view.segments.DmrToSegmentsMigrationException;
+import org.eclipse.emfforms.spi.ide.view.segments.DmrToSegmentsMigrator;
+import org.eclipse.emfforms.spi.ide.view.segments.ToolingModeUtil;
 import org.eclipse.jface.dialogs.MessageDialog;
 import org.eclipse.jface.dialogs.ProgressMonitorDialog;
 import org.eclipse.jface.operation.IRunnableWithProgress;
@@ -86,6 +103,8 @@
 import org.eclipse.ui.IEditorPart;
 import org.eclipse.ui.IEditorSite;
 import org.eclipse.ui.IPartListener2;
+import org.eclipse.ui.IPathEditorInput;
+import org.eclipse.ui.IStorageEditorInput;
 import org.eclipse.ui.IWorkbenchPage;
 import org.eclipse.ui.IWorkbenchPartReference;
 import org.eclipse.ui.PartInitException;
@@ -94,6 +113,7 @@
 import org.eclipse.ui.dialogs.ElementTreeSelectionDialog;
 import org.eclipse.ui.dialogs.ISelectionStatusValidator;
 import org.eclipse.ui.dialogs.ListSelectionDialog;
+import org.eclipse.ui.ide.IGotoMarker;
 import org.eclipse.ui.model.BaseWorkbenchContentProvider;
 import org.eclipse.ui.model.WorkbenchLabelProvider;
 import org.eclipse.ui.part.EditorPart;
@@ -108,6 +128,7 @@
 public class ViewEditorPart extends EditorPart implements
 	ViewModelEditorCallback, IEditingDomainProvider {
 
+	private URI inputUri;
 	private Resource resource;
 	private BasicCommandStack basicCommandStack;
 	private Composite parent;
@@ -245,6 +266,9 @@
 		if (adapter == ViewModelContext.class) {
 			return adapter.cast(render.getViewModelContext());
 		}
+		if (adapter == IGotoMarker.class) {
+			return adapter.cast(new GotoMarkerAdapter(render.getViewModelContext(), getEditingDomain()));
+		}
 		return super.getAdapter(adapter);
 	}
 
@@ -307,8 +331,12 @@
 	 */
 	private void loadView(boolean migrate, boolean resolve) throws IOException, PartInitException {
 
-		// resourceURI must be a platform resource URI
-		final URI resourceURI = EditUIUtil.getURI(getEditorInput(), editingDomain.getResourceSet().getURIConverter());
+		if (inputUri == null) {
+			inputUri = getInputUri(getEditorInput())
+				.orElseThrow(() -> new PartInitException("Invalid editor input.")); //$NON-NLS-1$
+		}
+
+		final URI resourceURI = inputUri;
 		if (migrate) {
 			checkMigration(resourceURI);
 		}
@@ -320,15 +348,55 @@
 		if (resolve) {
 			// resolve all proxies
 			final ResourceSet resourceSet = editingDomain.getResourceSet();
-			int rsSize = resourceSet.getResources().size();
-			EcoreUtil.resolveAll(resourceSet);
-			while (rsSize != resourceSet.getResources().size()) {
-				EcoreUtil.resolveAll(resourceSet);
-				rsSize = resourceSet.getResources().size();
-			}
+			ResourceSetHelpers.resolveAllProxies(resourceSet);
 		}
 	}
 
+	/**
+	 * Gets a uri from the given {@link IEditorInput}. If the editor input is a {@link IPathEditorInput} or a
+	 * {@link IStorageEditorInput} whose {@link IStorage} has a path, the uri is directly derived from the
+	 * input. In case of a {@link IStorageEditorInput} without a path, a temporary file is created which contains the
+	 * storage's contents.
+	 * In any other case, an empty Optional is returned.
+	 *
+	 * @param editorInput The editor's input
+	 * @return The File containing the editor inputs contents if possible, nothing otherwise
+	 */
+	private Optional<URI> getInputUri(IEditorInput editorInput) {
+		if (isEditable(editorInput)) {
+			// Normal file that can be edited on the hard drive
+			return Optional.of(EditUIUtil.getURI(getEditorInput()));
+		} else if (editorInput instanceof IStorageEditorInput) {
+			try {
+				final IStorage storage = IStorageEditorInput.class.cast(editorInput).getStorage();
+				// Create a temporary file and copy the storage's content to it.
+				final File tempFile = File.createTempFile("view-", ".tmp.view"); //$NON-NLS-1$ //$NON-NLS-2$
+				tempFile.delete();
+				tempFile.deleteOnExit();
+				try (InputStream contents = storage.getContents()) {
+					Files.copy(contents, tempFile.toPath());
+					return Optional.of(URI.createFileURI(tempFile.getAbsolutePath()));
+				}
+			} catch (final CoreException | IOException ex) {
+				Activator.getDefault().getReportService().report(new AbstractReport(ex));
+				return Optional.empty();
+			}
+
+		}
+		return Optional.empty();
+	}
+
+	/**
+	 * Returns whether the editor input allows editing of its contents.
+	 *
+	 * @param editorInput the editor's {@link IEditorInput}
+	 * @return <code>true</code> if the input source allows editing, <code>false</code> otherwise
+	 */
+	private boolean isEditable(IEditorInput editorInput) {
+		// Only allow editing data if it can be persisted
+		return editorInput.getPersistable() != null;
+	}
+
 	private void checkMigration(final URI resourceURI) {
 		final ViewModelMigrator migrator = ViewModelMigratorUtil.getViewModelMigrator();
 		if (migrator == null) {
@@ -344,6 +412,7 @@
 					Messages.WorkspaceMigrationDialog_Title,
 					Messages.WorkspaceMigrationDialog_Description);
 				final List<URI> toMigrate = new ArrayList<URI>();
+				final Set<URI> successfullyMigrated = new HashSet<>();
 				if (migrateWorkspace) {
 					for (final URI uri : getWorkspaceURIsToMigrate(resourceURI)) {
 						try {
@@ -373,6 +442,7 @@
 						try {
 							for (final URI uri : toMigrate) {
 								migrator.performMigration(uri);
+								successfullyMigrated.add(uri);
 							}
 						} catch (final ViewModelMigrationException ex) {
 							throw new InvocationTargetException(ex);
@@ -405,9 +475,51 @@
 								e));
 				}
 
+				// If a migration is necessary, only allow legacy dmr migration if the view model was migrated
+				// successfully
+				if (ToolingModeUtil.isSegmentToolingEnabled() && successfullyMigrated.contains(resourceURI)) {
+					migrateLegacyDmrs(shell, resourceURI);
+				}
 			}
 
 			migrateTemplateModels(shell);
+
+		} else if (ToolingModeUtil.isSegmentToolingEnabled()) {
+			migrateLegacyDmrs(shell, resourceURI);
+		}
+	}
+
+	/**
+	 * Checks whether the current view model contains any legacy DMRs. If yes, ask the user whether (s)he wants to
+	 * migrate them to segment based DMRs and execute the migration if the user accepts.
+	 *
+	 * @param shell The shell to open UI dialogs on
+	 * @param resourceURI the resource URI of the view model to migrate
+	 */
+	private void migrateLegacyDmrs(Shell shell, final URI resourceURI) {
+		final DmrToSegmentsMigrator migrator = getEditorSite().getService(DmrToSegmentsMigrator.class);
+		if (migrator.needsMigration(resourceURI)) {
+			final boolean migrate = MessageDialog.openQuestion(shell, Messages.ViewEditorPart_LegacyMigrationTitle,
+				Messages.ViewEditorPart_LegacyMigrationQuestion);
+			if (migrate) {
+				try {
+					new ProgressMonitorDialog(shell).run(true, false, monitor -> {
+						try {
+							migrator.performMigration(resourceURI);
+						} catch (final DmrToSegmentsMigrationException ex) {
+							throw new InvocationTargetException(ex);
+						}
+					});
+				} catch (InvocationTargetException | InterruptedException ex) {
+					MessageDialog.openError(
+						Display.getDefault().getActiveShell(), Messages.ViewEditorPart_LegacyMigrationErrorTitle,
+						Messages.ViewEditorPart_LegacyMigrationErrorText +
+							Messages.ViewEditorPart_MigrationErrorText2);
+					Activator.getDefault().getLog().log(
+						new Status(IStatus.ERROR, Activator.PLUGIN_ID,
+							Messages.ViewEditorPart_LegacyMigrationErrorTitle, ex));
+				}
+			}
 		}
 	}
 
@@ -647,9 +759,18 @@
 		}
 
 		try {
+			final Map<String, Object> contextValues = Collections.singletonMap(
+				IEclipseContext.class.getName(),
+				getSite().getService(IEclipseContext.class));
 			final ViewModelContext viewModelContext = ViewModelContextFactory.INSTANCE
-				.createViewModelContext(ViewProviderHelper.getView(view, null), view, new DefaultReferenceService(),
-					new EMFDeleteServiceImpl());
+				.createViewModelContext(ViewProviderHelper.getView(view, null), view,
+					provide(new DefaultReferenceService(), new EMFDeleteServiceImpl()),
+					contextValues);
+
+			if (!isEditable(getEditorInput())) {
+				viewModelContext.getViewModel().setReadonly(true);
+			}
+
 			viewModelContext.putContextValue("enableMultiEdit", Boolean.TRUE); //$NON-NLS-1$
 			render = ECPSWTViewRenderer.INSTANCE.render(parent, viewModelContext);
 			getSite().setSelectionProvider(
diff --git a/bundles/org.eclipse.emf.ecp.ide.editor.view/src/org/eclipse/emf/ecp/ide/editor/view/messages/Messages.java b/bundles/org.eclipse.emf.ecp.ide.editor.view/src/org/eclipse/emf/ecp/ide/editor/view/messages/Messages.java
index fbd8363..e508012 100644
--- a/bundles/org.eclipse.emf.ecp.ide.editor.view/src/org/eclipse/emf/ecp/ide/editor/view/messages/Messages.java
+++ b/bundles/org.eclipse.emf.ecp.ide.editor.view/src/org/eclipse/emf/ecp/ide/editor/view/messages/Messages.java
@@ -29,6 +29,10 @@
 	public static String ViewEditorPart_invalidVView_noRootEClass;
 	public static String ViewEditorPart_invalidVView_rootEClassNotInPackage;
 	public static String ViewEditorPart_invalidVView_rootEClassPackageNotResolved;
+	public static String ViewEditorPart_LegacyMigrationErrorText;
+	public static String ViewEditorPart_LegacyMigrationErrorTitle;
+	public static String ViewEditorPart_LegacyMigrationQuestion;
+	public static String ViewEditorPart_LegacyMigrationTitle;
 	public static String ViewEditorPart_LoadedPartlyDescription;
 	public static String ViewEditorPart_LoadedPartlyTitle;
 	public static String ViewEditorPart_MigrationErrorText1;
diff --git a/bundles/org.eclipse.emf.ecp.ide.editor.view/src/org/eclipse/emf/ecp/ide/editor/view/messages/messages.properties b/bundles/org.eclipse.emf.ecp.ide.editor.view/src/org/eclipse/emf/ecp/ide/editor/view/messages/messages.properties
index 24caf67..9619cad 100644
--- a/bundles/org.eclipse.emf.ecp.ide.editor.view/src/org/eclipse/emf/ecp/ide/editor/view/messages/messages.properties
+++ b/bundles/org.eclipse.emf.ecp.ide.editor.view/src/org/eclipse/emf/ecp/ide/editor/view/messages/messages.properties
@@ -5,6 +5,10 @@
 ViewEditorPart_invalidVView_noRootEClass=The file you attempted to open does not seem to contain a valid EMFForms view model.\nReason: The VView element refers to an invalid root Eclass.
 ViewEditorPart_invalidVView_rootEClassNotInPackage=The root EClass "{0}" of the VView element could not be resolved.\nReason: The registered EPackage "{1}" with namespace URI "{2}" does not contain the root EClass.\nPerhaps your Ecore does not fit to your view model?
 ViewEditorPart_invalidVView_rootEClassPackageNotResolved=The root EClass "{0}" of the VView could not be resolved using package "{1}".\nMake sure you registered the EPackage containing your EClass with its respective namespace URI.
+ViewEditorPart_LegacyMigrationErrorText=An error occured while migrating legacy domain model references to segments. 
+ViewEditorPart_LegacyMigrationErrorTitle=EMFForms Legacy DMR Migration Error
+ViewEditorPart_LegacyMigrationQuestion=The current view model still uses legacy domain model references. Should they be migrated to segment based domain model references?
+ViewEditorPart_LegacyMigrationTitle=Migrate Legacy Domain Model References?
 ViewEditorPart_LoadedPartlyDescription=The view model loading was incomplete. A migration to the latest view model version might be required.\nPlease visit our migration guide for more information.
 ViewEditorPart_LoadedPartlyTitle=Problems while loading the view model
 ViewEditorPart_MigrationErrorText1=An error occurred during the migration of the view model. 
diff --git a/bundles/org.eclipse.emf.ecp.ide.editor.viewmodel/.project b/bundles/org.eclipse.emf.ecp.ide.editor.viewmodel/.project
index 1ab2735..d815204 100644
--- a/bundles/org.eclipse.emf.ecp.ide.editor.viewmodel/.project
+++ b/bundles/org.eclipse.emf.ecp.ide.editor.viewmodel/.project
@@ -6,11 +6,6 @@
 	</projects>
 	<buildSpec>
 		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
 			<name>org.eclipse.pde.ManifestBuilder</name>
 			<arguments>
 			</arguments>
diff --git a/bundles/org.eclipse.emf.ecp.ide.editor.viewmodel/.settings/org.eclipse.jdt.core.prefs b/bundles/org.eclipse.emf.ecp.ide.editor.viewmodel/.settings/org.eclipse.jdt.core.prefs
index 0309974..5701814 100644
--- a/bundles/org.eclipse.emf.ecp.ide.editor.viewmodel/.settings/org.eclipse.jdt.core.prefs
+++ b/bundles/org.eclipse.emf.ecp.ide.editor.viewmodel/.settings/org.eclipse.jdt.core.prefs
@@ -24,17 +24,9 @@
 org.eclipse.jdt.core.compiler.annotation.nonnullbydefault=org.eclipse.jdt.annotation.NonNullByDefault
 org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nullable
 org.eclipse.jdt.core.compiler.annotation.nullanalysis=disabled
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.8
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
 org.eclipse.jdt.core.compiler.doc.comment.support=enabled
 org.eclipse.jdt.core.compiler.maxProblemPerUnit=100
 org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
 org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
 org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning
 org.eclipse.jdt.core.compiler.problem.deadCode=warning
@@ -43,7 +35,6 @@
 org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
 org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
 org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
 org.eclipse.jdt.core.compiler.problem.explicitlyClosedAutoCloseable=ignore
 org.eclipse.jdt.core.compiler.problem.fallthroughCase=warning
 org.eclipse.jdt.core.compiler.problem.fatalOptionalError=disabled
@@ -130,7 +121,6 @@
 org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore
 org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
 org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.8
 org.eclipse.jdt.core.compiler.taskCaseSensitive=enabled
 org.eclipse.jdt.core.compiler.taskPriorities=NORMAL,HIGH,HIGH,LOW,LOW,LOW,LOW,LOW,NORMAL
 org.eclipse.jdt.core.compiler.taskTags=TODO,FIXME,XXX,PERF,MEM,POLISH,@generated NOT,@ADDED,APITODO
diff --git a/bundles/org.eclipse.emf.ecp.ide.editor.viewmodel/.settings/org.eclipse.pde.api.tools.prefs b/bundles/org.eclipse.emf.ecp.ide.editor.viewmodel/.settings/org.eclipse.pde.api.tools.prefs
index e4e3c00..cfb400b 100644
--- a/bundles/org.eclipse.emf.ecp.ide.editor.viewmodel/.settings/org.eclipse.pde.api.tools.prefs
+++ b/bundles/org.eclipse.emf.ecp.ide.editor.viewmodel/.settings/org.eclipse.pde.api.tools.prefs
@@ -1,3 +1,4 @@
+ANNOTATION_ELEMENT_TYPE_ADDED_FIELD=Error
 ANNOTATION_ELEMENT_TYPE_ADDED_METHOD_WITHOUT_DEFAULT_VALUE=Error
 ANNOTATION_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
 ANNOTATION_ELEMENT_TYPE_REMOVED_FIELD=Error
@@ -10,6 +11,7 @@
 API_USE_SCAN_FIELD_SEVERITY=Error
 API_USE_SCAN_METHOD_SEVERITY=Error
 API_USE_SCAN_TYPE_SEVERITY=Error
+CLASS_ELEMENT_TYPE_ADDED_FIELD=Error
 CLASS_ELEMENT_TYPE_ADDED_METHOD=Error
 CLASS_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
 CLASS_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
@@ -49,6 +51,7 @@
 ILLEGAL_INSTANTIATE=Warning
 ILLEGAL_OVERRIDE=Warning
 ILLEGAL_REFERENCE=Warning
+INTERFACE_ELEMENT_TYPE_ADDED_DEFAULT_METHOD=Ignore
 INTERFACE_ELEMENT_TYPE_ADDED_FIELD=Error
 INTERFACE_ELEMENT_TYPE_ADDED_METHOD=Error
 INTERFACE_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
@@ -60,6 +63,7 @@
 INTERFACE_ELEMENT_TYPE_REMOVED_METHOD=Error
 INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
 INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
+INVALID_ANNOTATION=Warning
 INVALID_JAVADOC_TAG=Warning
 INVALID_REFERENCE_IN_SYSTEM_LIBRARIES=Error
 LEAK_EXTEND=Warning
@@ -86,10 +90,13 @@
 TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error
 UNUSED_PROBLEM_FILTERS=Ignore
 automatically_removed_unused_problem_filters=Disabled
+changed_execution_env=Error
 eclipse.preferences.version=1
 incompatible_api_component_version=Error
 incompatible_api_component_version_include_major_without_breaking_change=Disabled
 incompatible_api_component_version_include_minor_without_api_change=Disabled
+incompatible_api_component_version_report_major_without_breaking_change=Ignore
+incompatible_api_component_version_report_minor_without_api_change=Ignore
 invalid_since_tag_version=Error
 malformed_since_tag=Error
 missing_since_tag=Error
diff --git a/bundles/org.eclipse.emf.ecp.ide.editor.viewmodel/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.ide.editor.viewmodel/META-INF/MANIFEST.MF
index 4a68177..9b0933e 100644
--- a/bundles/org.eclipse.emf.ecp.ide.editor.viewmodel/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.ide.editor.viewmodel/META-INF/MANIFEST.MF
@@ -2,8 +2,8 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: Viewmodel
 Bundle-SymbolicName: org.eclipse.emf.ecp.ide.editor.viewmodel;singleton:=true
-Bundle-Version: 1.21.0.qualifier
+Bundle-Version: 1.22.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Require-Bundle: org.eclipse.emf.ecp.view.model.provider.xmi;bundle-version="[1.21.0,1.22.0)"
+Require-Bundle: org.eclipse.emf.ecp.view.model.provider.xmi;bundle-version="[1.22.0,1.23.0)"
 Automatic-Module-Name: org.eclipse.emf.ecp.ide.editor.viewmodel
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
diff --git a/bundles/org.eclipse.emf.ecp.ide.editor.viewmodel/pom.xml b/bundles/org.eclipse.emf.ecp.ide.editor.viewmodel/pom.xml
index 98313f8..27f2d7c 100644
--- a/bundles/org.eclipse.emf.ecp.ide.editor.viewmodel/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.ide.editor.viewmodel/pom.xml
@@ -5,11 +5,11 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.21.0-SNAPSHOT</version>
+    <version>1.22.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emf.ecp.ide.editor.viewmodel</artifactId>
-  <version>1.21.0-SNAPSHOT</version>
+  <version>1.22.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
 </project>
diff --git a/bundles/org.eclipse.emf.ecp.ide.migration/.settings/org.eclipse.pde.api.tools.prefs b/bundles/org.eclipse.emf.ecp.ide.migration/.settings/org.eclipse.pde.api.tools.prefs
index e4e3c00..cfb400b 100644
--- a/bundles/org.eclipse.emf.ecp.ide.migration/.settings/org.eclipse.pde.api.tools.prefs
+++ b/bundles/org.eclipse.emf.ecp.ide.migration/.settings/org.eclipse.pde.api.tools.prefs
@@ -1,3 +1,4 @@
+ANNOTATION_ELEMENT_TYPE_ADDED_FIELD=Error
 ANNOTATION_ELEMENT_TYPE_ADDED_METHOD_WITHOUT_DEFAULT_VALUE=Error
 ANNOTATION_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
 ANNOTATION_ELEMENT_TYPE_REMOVED_FIELD=Error
@@ -10,6 +11,7 @@
 API_USE_SCAN_FIELD_SEVERITY=Error
 API_USE_SCAN_METHOD_SEVERITY=Error
 API_USE_SCAN_TYPE_SEVERITY=Error
+CLASS_ELEMENT_TYPE_ADDED_FIELD=Error
 CLASS_ELEMENT_TYPE_ADDED_METHOD=Error
 CLASS_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
 CLASS_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
@@ -49,6 +51,7 @@
 ILLEGAL_INSTANTIATE=Warning
 ILLEGAL_OVERRIDE=Warning
 ILLEGAL_REFERENCE=Warning
+INTERFACE_ELEMENT_TYPE_ADDED_DEFAULT_METHOD=Ignore
 INTERFACE_ELEMENT_TYPE_ADDED_FIELD=Error
 INTERFACE_ELEMENT_TYPE_ADDED_METHOD=Error
 INTERFACE_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
@@ -60,6 +63,7 @@
 INTERFACE_ELEMENT_TYPE_REMOVED_METHOD=Error
 INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
 INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
+INVALID_ANNOTATION=Warning
 INVALID_JAVADOC_TAG=Warning
 INVALID_REFERENCE_IN_SYSTEM_LIBRARIES=Error
 LEAK_EXTEND=Warning
@@ -86,10 +90,13 @@
 TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error
 UNUSED_PROBLEM_FILTERS=Ignore
 automatically_removed_unused_problem_filters=Disabled
+changed_execution_env=Error
 eclipse.preferences.version=1
 incompatible_api_component_version=Error
 incompatible_api_component_version_include_major_without_breaking_change=Disabled
 incompatible_api_component_version_include_minor_without_api_change=Disabled
+incompatible_api_component_version_report_major_without_breaking_change=Ignore
+incompatible_api_component_version_report_minor_without_api_change=Ignore
 invalid_since_tag_version=Error
 malformed_since_tag=Error
 missing_since_tag=Error
diff --git a/bundles/org.eclipse.emf.ecp.ide.migration/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.ide.migration/META-INF/MANIFEST.MF
index e7c8b55..3ecef2a 100644
--- a/bundles/org.eclipse.emf.ecp.ide.migration/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.ide.migration/META-INF/MANIFEST.MF
@@ -2,18 +2,18 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: ViewModel Migration Tooling
 Bundle-SymbolicName: org.eclipse.emf.ecp.ide.migration;singleton:=true
-Bundle-Version: 1.21.0.qualifier
+Bundle-Version: 1.22.0.qualifier
 Bundle-Activator: org.eclipse.emf.ecp.ide.internal.migration.Activator
 Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emf.ecp.ide.internal.migration;version="1.21.0";x-internal:=true
+Export-Package: org.eclipse.emf.ecp.ide.internal.migration;version="1.22.0";x-internal:=true
 Require-Bundle: org.eclipse.ui;bundle-version="[3.0.0,4.0.0)",
  org.eclipse.core.resources;bundle-version="[3.4.0,4.0.0)",
  org.eclipse.core.runtime;bundle-version="[3.4.0,4.0.0)",
  org.eclipse.emf.edit;bundle-version="[2.8.0,3.0.0)",
- org.eclipse.emf.ecp.ui.view;bundle-version="[1.21.0,1.22.0)",
- org.eclipse.emf.ecp.ui.validation;bundle-version="[1.21.0,1.22.0)",
- org.eclipse.emf.ecp.ide.util;bundle-version="[1.21.0,1.22.0)",
- org.eclipse.emfforms.common.validation;bundle-version="[1.21.0,1.22.0)"
+ org.eclipse.emf.ecp.ui.view;bundle-version="[1.22.0,1.23.0)",
+ org.eclipse.emf.ecp.ui.validation;bundle-version="[1.22.0,1.23.0)",
+ org.eclipse.emf.ecp.ide.util;bundle-version="[1.22.0,1.23.0)",
+ org.eclipse.emfforms.common.validation;bundle-version="[1.22.0,1.23.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Automatic-Module-Name: org.eclipse.emf.ecp.ide.migration
 Bundle-ActivationPolicy: lazy
diff --git a/bundles/org.eclipse.emf.ecp.ide.migration/pom.xml b/bundles/org.eclipse.emf.ecp.ide.migration/pom.xml
index 27c1d5f..543e720 100644
--- a/bundles/org.eclipse.emf.ecp.ide.migration/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.ide.migration/pom.xml
@@ -5,11 +5,11 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.21.0-SNAPSHOT</version>
+    <version>1.22.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emf.ecp.ide.migration</artifactId>
-  <version>1.21.0-SNAPSHOT</version>
+  <version>1.22.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
 </project>
diff --git a/bundles/org.eclipse.emf.ecp.ide.util/.settings/org.eclipse.pde.api.tools.prefs b/bundles/org.eclipse.emf.ecp.ide.util/.settings/org.eclipse.pde.api.tools.prefs
index e4e3c00..cfb400b 100644
--- a/bundles/org.eclipse.emf.ecp.ide.util/.settings/org.eclipse.pde.api.tools.prefs
+++ b/bundles/org.eclipse.emf.ecp.ide.util/.settings/org.eclipse.pde.api.tools.prefs
@@ -1,3 +1,4 @@
+ANNOTATION_ELEMENT_TYPE_ADDED_FIELD=Error
 ANNOTATION_ELEMENT_TYPE_ADDED_METHOD_WITHOUT_DEFAULT_VALUE=Error
 ANNOTATION_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
 ANNOTATION_ELEMENT_TYPE_REMOVED_FIELD=Error
@@ -10,6 +11,7 @@
 API_USE_SCAN_FIELD_SEVERITY=Error
 API_USE_SCAN_METHOD_SEVERITY=Error
 API_USE_SCAN_TYPE_SEVERITY=Error
+CLASS_ELEMENT_TYPE_ADDED_FIELD=Error
 CLASS_ELEMENT_TYPE_ADDED_METHOD=Error
 CLASS_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
 CLASS_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
@@ -49,6 +51,7 @@
 ILLEGAL_INSTANTIATE=Warning
 ILLEGAL_OVERRIDE=Warning
 ILLEGAL_REFERENCE=Warning
+INTERFACE_ELEMENT_TYPE_ADDED_DEFAULT_METHOD=Ignore
 INTERFACE_ELEMENT_TYPE_ADDED_FIELD=Error
 INTERFACE_ELEMENT_TYPE_ADDED_METHOD=Error
 INTERFACE_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
@@ -60,6 +63,7 @@
 INTERFACE_ELEMENT_TYPE_REMOVED_METHOD=Error
 INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
 INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
+INVALID_ANNOTATION=Warning
 INVALID_JAVADOC_TAG=Warning
 INVALID_REFERENCE_IN_SYSTEM_LIBRARIES=Error
 LEAK_EXTEND=Warning
@@ -86,10 +90,13 @@
 TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error
 UNUSED_PROBLEM_FILTERS=Ignore
 automatically_removed_unused_problem_filters=Disabled
+changed_execution_env=Error
 eclipse.preferences.version=1
 incompatible_api_component_version=Error
 incompatible_api_component_version_include_major_without_breaking_change=Disabled
 incompatible_api_component_version_include_minor_without_api_change=Disabled
+incompatible_api_component_version_report_major_without_breaking_change=Ignore
+incompatible_api_component_version_report_minor_without_api_change=Ignore
 invalid_since_tag_version=Error
 malformed_since_tag=Error
 missing_since_tag=Error
diff --git a/bundles/org.eclipse.emf.ecp.ide.util/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.ide.util/META-INF/MANIFEST.MF
index 212d276..aa721a6 100644
--- a/bundles/org.eclipse.emf.ecp.ide.util/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.ide.util/META-INF/MANIFEST.MF
@@ -2,18 +2,18 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: ECP Ecore Helper Plugin
 Bundle-SymbolicName: org.eclipse.emf.ecp.ide.util;singleton:=true
-Bundle-Version: 1.21.0.qualifier
+Bundle-Version: 1.22.0.qualifier
 Bundle-Activator: org.eclipse.emf.ecp.ide.internal.Activator
 Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emf.ecp.ide.internal;version="1.21.0";x-internal:=true,
- org.eclipse.emf.ecp.ide.spi.util;version="1.21.0",
- org.eclipse.emf.ecp.internal.ide.util.messages;version="1.21.0";x-internal:=true
+Export-Package: org.eclipse.emf.ecp.ide.internal;version="1.22.0";x-internal:=true,
+ org.eclipse.emf.ecp.ide.spi.util;version="1.22.0",
+ org.eclipse.emf.ecp.internal.ide.util.messages;version="1.22.0";x-internal:=true
 Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.4.0,4.0.0)",
  org.eclipse.emf.ecore.xmi;bundle-version="[2.7.0,3.0.0)",
  org.eclipse.core.resources;bundle-version="[3.7.0,4.0.0)",
- org.eclipse.emf.ecp.view.model;bundle-version="[1.21.0,1.22.0)",
+ org.eclipse.emf.ecp.view.model;bundle-version="[1.22.0,1.23.0)",
  org.eclipse.emf.edit;bundle-version="[2.8.0,3.0.0)",
- org.eclipse.emfforms.common;bundle-version="[1.21.0,1.22.0)",
+ org.eclipse.emfforms.common;bundle-version="[1.22.0,1.23.0)",
  org.eclipse.emf.ecore;bundle-version="[2.8.0,3.0.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Automatic-Module-Name: org.eclipse.emf.ecp.ide.util
diff --git a/bundles/org.eclipse.emf.ecp.ide.util/pom.xml b/bundles/org.eclipse.emf.ecp.ide.util/pom.xml
index c01d1d4..1f5e445 100644
--- a/bundles/org.eclipse.emf.ecp.ide.util/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.ide.util/pom.xml
@@ -5,11 +5,11 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.21.0-SNAPSHOT</version>
+    <version>1.22.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emf.ecp.ide.util</artifactId>
-  <version>1.21.0-SNAPSHOT</version>
+  <version>1.22.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
 </project>
diff --git a/bundles/org.eclipse.emf.ecp.ide.view.service/.settings/org.eclipse.pde.api.tools.prefs b/bundles/org.eclipse.emf.ecp.ide.view.service/.settings/org.eclipse.pde.api.tools.prefs
index e4e3c00..cfb400b 100644
--- a/bundles/org.eclipse.emf.ecp.ide.view.service/.settings/org.eclipse.pde.api.tools.prefs
+++ b/bundles/org.eclipse.emf.ecp.ide.view.service/.settings/org.eclipse.pde.api.tools.prefs
@@ -1,3 +1,4 @@
+ANNOTATION_ELEMENT_TYPE_ADDED_FIELD=Error
 ANNOTATION_ELEMENT_TYPE_ADDED_METHOD_WITHOUT_DEFAULT_VALUE=Error
 ANNOTATION_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
 ANNOTATION_ELEMENT_TYPE_REMOVED_FIELD=Error
@@ -10,6 +11,7 @@
 API_USE_SCAN_FIELD_SEVERITY=Error
 API_USE_SCAN_METHOD_SEVERITY=Error
 API_USE_SCAN_TYPE_SEVERITY=Error
+CLASS_ELEMENT_TYPE_ADDED_FIELD=Error
 CLASS_ELEMENT_TYPE_ADDED_METHOD=Error
 CLASS_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
 CLASS_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
@@ -49,6 +51,7 @@
 ILLEGAL_INSTANTIATE=Warning
 ILLEGAL_OVERRIDE=Warning
 ILLEGAL_REFERENCE=Warning
+INTERFACE_ELEMENT_TYPE_ADDED_DEFAULT_METHOD=Ignore
 INTERFACE_ELEMENT_TYPE_ADDED_FIELD=Error
 INTERFACE_ELEMENT_TYPE_ADDED_METHOD=Error
 INTERFACE_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
@@ -60,6 +63,7 @@
 INTERFACE_ELEMENT_TYPE_REMOVED_METHOD=Error
 INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
 INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
+INVALID_ANNOTATION=Warning
 INVALID_JAVADOC_TAG=Warning
 INVALID_REFERENCE_IN_SYSTEM_LIBRARIES=Error
 LEAK_EXTEND=Warning
@@ -86,10 +90,13 @@
 TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error
 UNUSED_PROBLEM_FILTERS=Ignore
 automatically_removed_unused_problem_filters=Disabled
+changed_execution_env=Error
 eclipse.preferences.version=1
 incompatible_api_component_version=Error
 incompatible_api_component_version_include_major_without_breaking_change=Disabled
 incompatible_api_component_version_include_minor_without_api_change=Disabled
+incompatible_api_component_version_report_major_without_breaking_change=Ignore
+incompatible_api_component_version_report_minor_without_api_change=Ignore
 invalid_since_tag_version=Error
 malformed_since_tag=Error
 missing_since_tag=Error
diff --git a/bundles/org.eclipse.emf.ecp.ide.view.service/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.ide.view.service/META-INF/MANIFEST.MF
index e3d8c66..8141546 100644
--- a/bundles/org.eclipse.emf.ecp.ide.view.service/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.ide.view.service/META-INF/MANIFEST.MF
@@ -2,18 +2,18 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: IDE ViewModel Service
 Bundle-SymbolicName: org.eclipse.emf.ecp.ide.view.service
-Bundle-Version: 1.21.0.qualifier
+Bundle-Version: 1.22.0.qualifier
 Bundle-Activator: org.eclipse.emf.ecp.ide.view.service.Activator
 Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emf.ecp.ide.view.internal.service;version="1.21.0";x-friends:="org.eclipse.emf.ecp.ui.view.editor.controls",
- org.eclipse.emf.ecp.ide.view.service;version="1.21.0";
+Export-Package: org.eclipse.emf.ecp.ide.view.internal.service;version="1.22.0";x-friends:="org.eclipse.emf.ecp.ui.view.editor.controls",
+ org.eclipse.emf.ecp.ide.view.service;version="1.22.0";
   x-friends:="org.eclipse.emf.ecp.ide.editor.view,
    org.eclipse.emf.ecp.ui.view.editor.controls,
    org.eclipse.emf.ecp.view.model.editor,
    org.eclipse.emf.ecp.view.model.project.installer"
-Require-Bundle: org.eclipse.emf.ecp.view.model;bundle-version="[1.21.0,1.22.0)",
+Require-Bundle: org.eclipse.emf.ecp.view.model;bundle-version="[1.22.0,1.23.0)",
  org.eclipse.core.resources;bundle-version="[3.7.0,4.0.0)",
- org.eclipse.emf.ecp.ide.util;bundle-version="[1.21.0,1.22.0)",
+ org.eclipse.emf.ecp.ide.util;bundle-version="[1.22.0,1.23.0)",
  org.eclipse.core.runtime;bundle-version="[3.4.0,4.0.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Service-Component: OSGI-INF/ideviewmdoelregistry.xml
diff --git a/bundles/org.eclipse.emf.ecp.ide.view.service/pom.xml b/bundles/org.eclipse.emf.ecp.ide.view.service/pom.xml
index 49d4519..00a8017 100644
--- a/bundles/org.eclipse.emf.ecp.ide.view.service/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.ide.view.service/pom.xml
@@ -5,11 +5,11 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.21.0-SNAPSHOT</version>
+    <version>1.22.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emf.ecp.ide.view.service</artifactId>
-  <version>1.21.0-SNAPSHOT</version>
+  <version>1.22.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
 </project>
diff --git a/bundles/org.eclipse.emf.ecp.quickfix.ui.e4/.settings/org.eclipse.pde.api.tools.prefs b/bundles/org.eclipse.emf.ecp.quickfix.ui.e4/.settings/org.eclipse.pde.api.tools.prefs
index e4e3c00..cfb400b 100644
--- a/bundles/org.eclipse.emf.ecp.quickfix.ui.e4/.settings/org.eclipse.pde.api.tools.prefs
+++ b/bundles/org.eclipse.emf.ecp.quickfix.ui.e4/.settings/org.eclipse.pde.api.tools.prefs
@@ -1,3 +1,4 @@
+ANNOTATION_ELEMENT_TYPE_ADDED_FIELD=Error
 ANNOTATION_ELEMENT_TYPE_ADDED_METHOD_WITHOUT_DEFAULT_VALUE=Error
 ANNOTATION_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
 ANNOTATION_ELEMENT_TYPE_REMOVED_FIELD=Error
@@ -10,6 +11,7 @@
 API_USE_SCAN_FIELD_SEVERITY=Error
 API_USE_SCAN_METHOD_SEVERITY=Error
 API_USE_SCAN_TYPE_SEVERITY=Error
+CLASS_ELEMENT_TYPE_ADDED_FIELD=Error
 CLASS_ELEMENT_TYPE_ADDED_METHOD=Error
 CLASS_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
 CLASS_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
@@ -49,6 +51,7 @@
 ILLEGAL_INSTANTIATE=Warning
 ILLEGAL_OVERRIDE=Warning
 ILLEGAL_REFERENCE=Warning
+INTERFACE_ELEMENT_TYPE_ADDED_DEFAULT_METHOD=Ignore
 INTERFACE_ELEMENT_TYPE_ADDED_FIELD=Error
 INTERFACE_ELEMENT_TYPE_ADDED_METHOD=Error
 INTERFACE_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
@@ -60,6 +63,7 @@
 INTERFACE_ELEMENT_TYPE_REMOVED_METHOD=Error
 INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
 INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
+INVALID_ANNOTATION=Warning
 INVALID_JAVADOC_TAG=Warning
 INVALID_REFERENCE_IN_SYSTEM_LIBRARIES=Error
 LEAK_EXTEND=Warning
@@ -86,10 +90,13 @@
 TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error
 UNUSED_PROBLEM_FILTERS=Ignore
 automatically_removed_unused_problem_filters=Disabled
+changed_execution_env=Error
 eclipse.preferences.version=1
 incompatible_api_component_version=Error
 incompatible_api_component_version_include_major_without_breaking_change=Disabled
 incompatible_api_component_version_include_minor_without_api_change=Disabled
+incompatible_api_component_version_report_major_without_breaking_change=Ignore
+incompatible_api_component_version_report_minor_without_api_change=Ignore
 invalid_since_tag_version=Error
 malformed_since_tag=Error
 missing_since_tag=Error
diff --git a/bundles/org.eclipse.emf.ecp.quickfix.ui.e4/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.quickfix.ui.e4/META-INF/MANIFEST.MF
index af7c6d9..598f028 100644
--- a/bundles/org.eclipse.emf.ecp.quickfix.ui.e4/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.quickfix.ui.e4/META-INF/MANIFEST.MF
@@ -2,15 +2,15 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: ECP Quickfix UI
 Bundle-SymbolicName: org.eclipse.emf.ecp.quickfix.ui.e4;singleton:=true
-Bundle-Version: 1.21.0.qualifier
+Bundle-Version: 1.22.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emf.ecp.quickfix.ui.e4.internal;version="1.21.0";x-friends:="org.eclipse.emf.ecp.application.e4"
+Export-Package: org.eclipse.emf.ecp.quickfix.ui.e4.internal;version="1.22.0";x-friends:="org.eclipse.emf.ecp.application.e4"
 Require-Bundle: org.eclipse.e4.ui.model.workbench;bundle-version="[1.1.0,3.0.0)",
  org.eclipse.e4.ui.di;bundle-version="[1.0.0,2.0.0)",
  org.eclipse.e4.ui.services;bundle-version="[1.0.0,2.0.0)",
  org.eclipse.e4.core.di;bundle-version="[1.2.0,2.0.0)",
  org.eclipse.e4.ui.workbench;bundle-version="[1.0.2,2.0.0)",
- org.eclipse.emf.ecp.quickfix;bundle-version="[1.21.0,1.22.0)",
+ org.eclipse.emf.ecp.quickfix;bundle-version="[1.22.0,1.23.0)",
  org.eclipse.emf.ecore;bundle-version="[2.8.0,3.0.0)",
  org.eclipse.core.runtime;bundle-version="[3.4.0,4.0.0)",
  org.eclipse.jface;bundle-version="[3.7.0,4.0.0)"
diff --git a/bundles/org.eclipse.emf.ecp.quickfix.ui.e4/pom.xml b/bundles/org.eclipse.emf.ecp.quickfix.ui.e4/pom.xml
index 748c1ca..596ee79 100644
--- a/bundles/org.eclipse.emf.ecp.quickfix.ui.e4/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.quickfix.ui.e4/pom.xml
@@ -7,7 +7,7 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.21.0-SNAPSHOT</version>
+    <version>1.22.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
 
diff --git a/bundles/org.eclipse.emf.ecp.quickfix/.settings/org.eclipse.pde.api.tools.prefs b/bundles/org.eclipse.emf.ecp.quickfix/.settings/org.eclipse.pde.api.tools.prefs
index e4e3c00..cfb400b 100644
--- a/bundles/org.eclipse.emf.ecp.quickfix/.settings/org.eclipse.pde.api.tools.prefs
+++ b/bundles/org.eclipse.emf.ecp.quickfix/.settings/org.eclipse.pde.api.tools.prefs
@@ -1,3 +1,4 @@
+ANNOTATION_ELEMENT_TYPE_ADDED_FIELD=Error
 ANNOTATION_ELEMENT_TYPE_ADDED_METHOD_WITHOUT_DEFAULT_VALUE=Error
 ANNOTATION_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
 ANNOTATION_ELEMENT_TYPE_REMOVED_FIELD=Error
@@ -10,6 +11,7 @@
 API_USE_SCAN_FIELD_SEVERITY=Error
 API_USE_SCAN_METHOD_SEVERITY=Error
 API_USE_SCAN_TYPE_SEVERITY=Error
+CLASS_ELEMENT_TYPE_ADDED_FIELD=Error
 CLASS_ELEMENT_TYPE_ADDED_METHOD=Error
 CLASS_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
 CLASS_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
@@ -49,6 +51,7 @@
 ILLEGAL_INSTANTIATE=Warning
 ILLEGAL_OVERRIDE=Warning
 ILLEGAL_REFERENCE=Warning
+INTERFACE_ELEMENT_TYPE_ADDED_DEFAULT_METHOD=Ignore
 INTERFACE_ELEMENT_TYPE_ADDED_FIELD=Error
 INTERFACE_ELEMENT_TYPE_ADDED_METHOD=Error
 INTERFACE_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
@@ -60,6 +63,7 @@
 INTERFACE_ELEMENT_TYPE_REMOVED_METHOD=Error
 INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
 INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
+INVALID_ANNOTATION=Warning
 INVALID_JAVADOC_TAG=Warning
 INVALID_REFERENCE_IN_SYSTEM_LIBRARIES=Error
 LEAK_EXTEND=Warning
@@ -86,10 +90,13 @@
 TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error
 UNUSED_PROBLEM_FILTERS=Ignore
 automatically_removed_unused_problem_filters=Disabled
+changed_execution_env=Error
 eclipse.preferences.version=1
 incompatible_api_component_version=Error
 incompatible_api_component_version_include_major_without_breaking_change=Disabled
 incompatible_api_component_version_include_minor_without_api_change=Disabled
+incompatible_api_component_version_report_major_without_breaking_change=Ignore
+incompatible_api_component_version_report_minor_without_api_change=Ignore
 invalid_since_tag_version=Error
 malformed_since_tag=Error
 missing_since_tag=Error
diff --git a/bundles/org.eclipse.emf.ecp.quickfix/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.quickfix/META-INF/MANIFEST.MF
index a878091..8a3f83a 100644
--- a/bundles/org.eclipse.emf.ecp.quickfix/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.quickfix/META-INF/MANIFEST.MF
@@ -2,10 +2,10 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: ECP Quickfix Service
 Bundle-SymbolicName: org.eclipse.emf.ecp.quickfix;singleton:=true
-Bundle-Version: 1.21.0.qualifier
+Bundle-Version: 1.22.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emf.ecp.quickfix;version="1.21.0",
- org.eclipse.emf.ecp.quickfix.internal;version="1.21.0";x-internal:=true
+Export-Package: org.eclipse.emf.ecp.quickfix;version="1.22.0",
+ org.eclipse.emf.ecp.quickfix.internal;version="1.22.0";x-internal:=true
 Require-Bundle: org.eclipse.emf.common;bundle-version="[2.7.0,3.0.0)",
  org.eclipse.emf.ecore;bundle-version="[2.5.0,3.0.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
diff --git a/bundles/org.eclipse.emf.ecp.quickfix/pom.xml b/bundles/org.eclipse.emf.ecp.quickfix/pom.xml
index be58a27..d3b6927 100644
--- a/bundles/org.eclipse.emf.ecp.quickfix/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.quickfix/pom.xml
@@ -7,7 +7,7 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.21.0-SNAPSHOT</version>
+    <version>1.22.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
 
diff --git a/bundles/org.eclipse.emf.ecp.rap.util/.settings/org.eclipse.pde.api.tools.prefs b/bundles/org.eclipse.emf.ecp.rap.util/.settings/org.eclipse.pde.api.tools.prefs
index e4e3c00..cfb400b 100644
--- a/bundles/org.eclipse.emf.ecp.rap.util/.settings/org.eclipse.pde.api.tools.prefs
+++ b/bundles/org.eclipse.emf.ecp.rap.util/.settings/org.eclipse.pde.api.tools.prefs
@@ -1,3 +1,4 @@
+ANNOTATION_ELEMENT_TYPE_ADDED_FIELD=Error
 ANNOTATION_ELEMENT_TYPE_ADDED_METHOD_WITHOUT_DEFAULT_VALUE=Error
 ANNOTATION_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
 ANNOTATION_ELEMENT_TYPE_REMOVED_FIELD=Error
@@ -10,6 +11,7 @@
 API_USE_SCAN_FIELD_SEVERITY=Error
 API_USE_SCAN_METHOD_SEVERITY=Error
 API_USE_SCAN_TYPE_SEVERITY=Error
+CLASS_ELEMENT_TYPE_ADDED_FIELD=Error
 CLASS_ELEMENT_TYPE_ADDED_METHOD=Error
 CLASS_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
 CLASS_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
@@ -49,6 +51,7 @@
 ILLEGAL_INSTANTIATE=Warning
 ILLEGAL_OVERRIDE=Warning
 ILLEGAL_REFERENCE=Warning
+INTERFACE_ELEMENT_TYPE_ADDED_DEFAULT_METHOD=Ignore
 INTERFACE_ELEMENT_TYPE_ADDED_FIELD=Error
 INTERFACE_ELEMENT_TYPE_ADDED_METHOD=Error
 INTERFACE_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
@@ -60,6 +63,7 @@
 INTERFACE_ELEMENT_TYPE_REMOVED_METHOD=Error
 INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
 INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
+INVALID_ANNOTATION=Warning
 INVALID_JAVADOC_TAG=Warning
 INVALID_REFERENCE_IN_SYSTEM_LIBRARIES=Error
 LEAK_EXTEND=Warning
@@ -86,10 +90,13 @@
 TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error
 UNUSED_PROBLEM_FILTERS=Ignore
 automatically_removed_unused_problem_filters=Disabled
+changed_execution_env=Error
 eclipse.preferences.version=1
 incompatible_api_component_version=Error
 incompatible_api_component_version_include_major_without_breaking_change=Disabled
 incompatible_api_component_version_include_minor_without_api_change=Disabled
+incompatible_api_component_version_report_major_without_breaking_change=Ignore
+incompatible_api_component_version_report_minor_without_api_change=Ignore
 invalid_since_tag_version=Error
 malformed_since_tag=Error
 missing_since_tag=Error
diff --git a/bundles/org.eclipse.emf.ecp.rap.util/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.rap.util/META-INF/MANIFEST.MF
index b6354b7..58fac8a 100644
--- a/bundles/org.eclipse.emf.ecp.rap.util/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.rap.util/META-INF/MANIFEST.MF
@@ -2,10 +2,10 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: RAP Util
 Bundle-SymbolicName: org.eclipse.emf.ecp.rap.util;singleton:=true
-Bundle-Version: 1.21.0.qualifier
+Bundle-Version: 1.22.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emf.ecp.rap.spi.util;version="1.21.0"
-Require-Bundle: org.eclipse.emf.ecp.edit.swt;bundle-version="[1.21.0,1.22.0)"
+Export-Package: org.eclipse.emf.ecp.rap.spi.util;version="1.22.0"
+Require-Bundle: org.eclipse.emf.ecp.edit.swt;bundle-version="[1.22.0,1.23.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Automatic-Module-Name: org.eclipse.emf.ecp.rap.util
 Import-Package: org.eclipse.jface.dialogs;version="0.0.0",
diff --git a/bundles/org.eclipse.emf.ecp.rap.util/pom.xml b/bundles/org.eclipse.emf.ecp.rap.util/pom.xml
index 6507c00..ae5397c 100644
--- a/bundles/org.eclipse.emf.ecp.rap.util/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.rap.util/pom.xml
@@ -5,11 +5,11 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.21.0-SNAPSHOT</version>
+    <version>1.22.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emf.ecp.rap.util</artifactId>
-  <version>1.21.0-SNAPSHOT</version>
+  <version>1.22.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
 </project>
diff --git a/bundles/org.eclipse.emf.ecp.rap/.settings/org.eclipse.pde.api.tools.prefs b/bundles/org.eclipse.emf.ecp.rap/.settings/org.eclipse.pde.api.tools.prefs
index e4e3c00..cfb400b 100644
--- a/bundles/org.eclipse.emf.ecp.rap/.settings/org.eclipse.pde.api.tools.prefs
+++ b/bundles/org.eclipse.emf.ecp.rap/.settings/org.eclipse.pde.api.tools.prefs
@@ -1,3 +1,4 @@
+ANNOTATION_ELEMENT_TYPE_ADDED_FIELD=Error
 ANNOTATION_ELEMENT_TYPE_ADDED_METHOD_WITHOUT_DEFAULT_VALUE=Error
 ANNOTATION_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
 ANNOTATION_ELEMENT_TYPE_REMOVED_FIELD=Error
@@ -10,6 +11,7 @@
 API_USE_SCAN_FIELD_SEVERITY=Error
 API_USE_SCAN_METHOD_SEVERITY=Error
 API_USE_SCAN_TYPE_SEVERITY=Error
+CLASS_ELEMENT_TYPE_ADDED_FIELD=Error
 CLASS_ELEMENT_TYPE_ADDED_METHOD=Error
 CLASS_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
 CLASS_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
@@ -49,6 +51,7 @@
 ILLEGAL_INSTANTIATE=Warning
 ILLEGAL_OVERRIDE=Warning
 ILLEGAL_REFERENCE=Warning
+INTERFACE_ELEMENT_TYPE_ADDED_DEFAULT_METHOD=Ignore
 INTERFACE_ELEMENT_TYPE_ADDED_FIELD=Error
 INTERFACE_ELEMENT_TYPE_ADDED_METHOD=Error
 INTERFACE_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
@@ -60,6 +63,7 @@
 INTERFACE_ELEMENT_TYPE_REMOVED_METHOD=Error
 INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
 INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
+INVALID_ANNOTATION=Warning
 INVALID_JAVADOC_TAG=Warning
 INVALID_REFERENCE_IN_SYSTEM_LIBRARIES=Error
 LEAK_EXTEND=Warning
@@ -86,10 +90,13 @@
 TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error
 UNUSED_PROBLEM_FILTERS=Ignore
 automatically_removed_unused_problem_filters=Disabled
+changed_execution_env=Error
 eclipse.preferences.version=1
 incompatible_api_component_version=Error
 incompatible_api_component_version_include_major_without_breaking_change=Disabled
 incompatible_api_component_version_include_minor_without_api_change=Disabled
+incompatible_api_component_version_report_major_without_breaking_change=Ignore
+incompatible_api_component_version_report_minor_without_api_change=Ignore
 invalid_since_tag_version=Error
 malformed_since_tag=Error
 missing_since_tag=Error
diff --git a/bundles/org.eclipse.emf.ecp.rap/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.rap/META-INF/MANIFEST.MF
index 2da5d17..925b0c0 100644
--- a/bundles/org.eclipse.emf.ecp.rap/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.rap/META-INF/MANIFEST.MF
@@ -2,11 +2,11 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: ECP RAP
 Bundle-SymbolicName: org.eclipse.emf.ecp.rap;singleton:=true
-Bundle-Version: 1.21.0.qualifier
+Bundle-Version: 1.22.0.qualifier
 Bundle-Activator: org.eclipse.emf.ecp.rap.Activator
 Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emf.ecp.rap;version="1.21.0";x-internal:=true
-Require-Bundle: org.eclipse.emf.ecp.ui;bundle-version="[1.21.0,1.22.0)",
+Export-Package: org.eclipse.emf.ecp.rap;version="1.22.0";x-internal:=true
+Require-Bundle: org.eclipse.emf.ecp.ui;bundle-version="[1.22.0,1.23.0)",
  org.eclipse.core.runtime;bundle-version="3.8.0",
  org.eclipse.rap.ui;bundle-version="2.0.0"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
diff --git a/bundles/org.eclipse.emf.ecp.rap/pom.xml b/bundles/org.eclipse.emf.ecp.rap/pom.xml
index 0164b53..846bf0b 100644
--- a/bundles/org.eclipse.emf.ecp.rap/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.rap/pom.xml
@@ -5,11 +5,11 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.21.0-SNAPSHOT</version>
+    <version>1.22.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emf.ecp.rap</artifactId>
-  <version>1.21.0-SNAPSHOT</version>
+  <version>1.22.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
 </project>
diff --git a/bundles/org.eclipse.emf.ecp.test.common/.settings/org.eclipse.pde.api.tools.prefs b/bundles/org.eclipse.emf.ecp.test.common/.settings/org.eclipse.pde.api.tools.prefs
index e4e3c00..cfb400b 100644
--- a/bundles/org.eclipse.emf.ecp.test.common/.settings/org.eclipse.pde.api.tools.prefs
+++ b/bundles/org.eclipse.emf.ecp.test.common/.settings/org.eclipse.pde.api.tools.prefs
@@ -1,3 +1,4 @@
+ANNOTATION_ELEMENT_TYPE_ADDED_FIELD=Error
 ANNOTATION_ELEMENT_TYPE_ADDED_METHOD_WITHOUT_DEFAULT_VALUE=Error
 ANNOTATION_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
 ANNOTATION_ELEMENT_TYPE_REMOVED_FIELD=Error
@@ -10,6 +11,7 @@
 API_USE_SCAN_FIELD_SEVERITY=Error
 API_USE_SCAN_METHOD_SEVERITY=Error
 API_USE_SCAN_TYPE_SEVERITY=Error
+CLASS_ELEMENT_TYPE_ADDED_FIELD=Error
 CLASS_ELEMENT_TYPE_ADDED_METHOD=Error
 CLASS_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
 CLASS_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
@@ -49,6 +51,7 @@
 ILLEGAL_INSTANTIATE=Warning
 ILLEGAL_OVERRIDE=Warning
 ILLEGAL_REFERENCE=Warning
+INTERFACE_ELEMENT_TYPE_ADDED_DEFAULT_METHOD=Ignore
 INTERFACE_ELEMENT_TYPE_ADDED_FIELD=Error
 INTERFACE_ELEMENT_TYPE_ADDED_METHOD=Error
 INTERFACE_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
@@ -60,6 +63,7 @@
 INTERFACE_ELEMENT_TYPE_REMOVED_METHOD=Error
 INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
 INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
+INVALID_ANNOTATION=Warning
 INVALID_JAVADOC_TAG=Warning
 INVALID_REFERENCE_IN_SYSTEM_LIBRARIES=Error
 LEAK_EXTEND=Warning
@@ -86,10 +90,13 @@
 TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error
 UNUSED_PROBLEM_FILTERS=Ignore
 automatically_removed_unused_problem_filters=Disabled
+changed_execution_env=Error
 eclipse.preferences.version=1
 incompatible_api_component_version=Error
 incompatible_api_component_version_include_major_without_breaking_change=Disabled
 incompatible_api_component_version_include_minor_without_api_change=Disabled
+incompatible_api_component_version_report_major_without_breaking_change=Ignore
+incompatible_api_component_version_report_minor_without_api_change=Ignore
 invalid_since_tag_version=Error
 malformed_since_tag=Error
 missing_since_tag=Error
diff --git a/bundles/org.eclipse.emf.ecp.test.common/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.test.common/META-INF/MANIFEST.MF
index c52d3b5..7c6c416 100644
--- a/bundles/org.eclipse.emf.ecp.test.common/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.test.common/META-INF/MANIFEST.MF
@@ -2,9 +2,9 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: Common Test Helpers
 Bundle-SymbolicName: org.eclipse.emf.ecp.test.common
-Bundle-Version: 1.21.0.qualifier
+Bundle-Version: 1.22.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emf.ecp.test.common;version="1.21.0"
+Export-Package: org.eclipse.emf.ecp.test.common;version="1.22.0"
 Require-Bundle: org.eclipse.core.databinding.observable;bundle-version="[1.3.0,2.0.0)",
  org.junit;bundle-version="[4.12.0,5.0.0)",
  org.eclipse.emf.ecore;bundle-version="[2.8.0,3.0.0)",
diff --git a/bundles/org.eclipse.emf.ecp.test.common/pom.xml b/bundles/org.eclipse.emf.ecp.test.common/pom.xml
index f7ea462..b13a4d9 100644
--- a/bundles/org.eclipse.emf.ecp.test.common/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.test.common/pom.xml
@@ -6,11 +6,11 @@
 	<parent>
 		<groupId>org.eclipse.emf.ecp</groupId>
 		<artifactId>ecp-tests-parent</artifactId>
-		<version>1.21.0-SNAPSHOT</version>
+		<version>1.22.0-SNAPSHOT</version>
 		<relativePath>../../releng/org.eclipse.emf.ecp.releng.tests/</relativePath>
 	</parent>
 
 	<artifactId>org.eclipse.emf.ecp.test.common</artifactId>
 	<packaging>eclipse-plugin</packaging>
-	<version>1.21.0-SNAPSHOT</version>
+	<version>1.22.0-SNAPSHOT</version>
 </project>
diff --git a/bundles/org.eclipse.emf.ecp.test.common/src/org/eclipse/emf/ecp/test/common/DefaultRealm.java b/bundles/org.eclipse.emf.ecp.test.common/src/org/eclipse/emf/ecp/test/common/DefaultRealm.java
index 7a38fcf..9645dcb 100644
--- a/bundles/org.eclipse.emf.ecp.test.common/src/org/eclipse/emf/ecp/test/common/DefaultRealm.java
+++ b/bundles/org.eclipse.emf.ecp.test.common/src/org/eclipse/emf/ecp/test/common/DefaultRealm.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH and others.
+ * Copyright (c) 2011-2019 EclipseSource Muenchen GmbH and others.
  *
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License 2.0
@@ -11,10 +11,14 @@
  * Contributors:
  * http://wiki.eclipse.org/JFace_Data_Binding/Realm
  * Lucas Koehler - initial API and implementation
+ * Christian W. Damus - bug 548592
  ******************************************************************************/
 package org.eclipse.emf.ecp.test.common;
 
 import org.eclipse.core.databinding.observable.Realm;
+import org.junit.rules.TestRule;
+import org.junit.rules.TestWatcher;
+import org.junit.runner.Description;
 
 /**
  * Simple realm implementation that will set itself as default when constructed. Invoke {@link #dispose()} to remove the
@@ -62,4 +66,29 @@
 			setDefault(previousRealm);
 		}
 	}
+
+	/**
+	 * Obtain a JUnit rule that ensures a {@link DefaultRealm} during its execution.
+	 *
+	 * @return a default realm rule
+	 *
+	 * @since 1.22
+	 */
+	public static TestRule rule() {
+		return new TestWatcher() {
+			private DefaultRealm realm;
+
+			@Override
+			protected void starting(Description description) {
+				realm = new DefaultRealm();
+			}
+
+			@Override
+			protected void finished(Description description) {
+				realm.dispose();
+				realm = null;
+			}
+		};
+	}
+
 }
diff --git a/bundles/org.eclipse.emf.ecp.ui.e3/.settings/org.eclipse.pde.api.tools.prefs b/bundles/org.eclipse.emf.ecp.ui.e3/.settings/org.eclipse.pde.api.tools.prefs
index e4e3c00..cfb400b 100644
--- a/bundles/org.eclipse.emf.ecp.ui.e3/.settings/org.eclipse.pde.api.tools.prefs
+++ b/bundles/org.eclipse.emf.ecp.ui.e3/.settings/org.eclipse.pde.api.tools.prefs
@@ -1,3 +1,4 @@
+ANNOTATION_ELEMENT_TYPE_ADDED_FIELD=Error
 ANNOTATION_ELEMENT_TYPE_ADDED_METHOD_WITHOUT_DEFAULT_VALUE=Error
 ANNOTATION_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
 ANNOTATION_ELEMENT_TYPE_REMOVED_FIELD=Error
@@ -10,6 +11,7 @@
 API_USE_SCAN_FIELD_SEVERITY=Error
 API_USE_SCAN_METHOD_SEVERITY=Error
 API_USE_SCAN_TYPE_SEVERITY=Error
+CLASS_ELEMENT_TYPE_ADDED_FIELD=Error
 CLASS_ELEMENT_TYPE_ADDED_METHOD=Error
 CLASS_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
 CLASS_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
@@ -49,6 +51,7 @@
 ILLEGAL_INSTANTIATE=Warning
 ILLEGAL_OVERRIDE=Warning
 ILLEGAL_REFERENCE=Warning
+INTERFACE_ELEMENT_TYPE_ADDED_DEFAULT_METHOD=Ignore
 INTERFACE_ELEMENT_TYPE_ADDED_FIELD=Error
 INTERFACE_ELEMENT_TYPE_ADDED_METHOD=Error
 INTERFACE_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
@@ -60,6 +63,7 @@
 INTERFACE_ELEMENT_TYPE_REMOVED_METHOD=Error
 INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
 INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
+INVALID_ANNOTATION=Warning
 INVALID_JAVADOC_TAG=Warning
 INVALID_REFERENCE_IN_SYSTEM_LIBRARIES=Error
 LEAK_EXTEND=Warning
@@ -86,10 +90,13 @@
 TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error
 UNUSED_PROBLEM_FILTERS=Ignore
 automatically_removed_unused_problem_filters=Disabled
+changed_execution_env=Error
 eclipse.preferences.version=1
 incompatible_api_component_version=Error
 incompatible_api_component_version_include_major_without_breaking_change=Disabled
 incompatible_api_component_version_include_minor_without_api_change=Disabled
+incompatible_api_component_version_report_major_without_breaking_change=Ignore
+incompatible_api_component_version_report_minor_without_api_change=Ignore
 invalid_since_tag_version=Error
 malformed_since_tag=Error
 missing_since_tag=Error
diff --git a/bundles/org.eclipse.emf.ecp.ui.e3/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.ui.e3/META-INF/MANIFEST.MF
index f823554..8c8d819 100644
--- a/bundles/org.eclipse.emf.ecp.ui.e3/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.ui.e3/META-INF/MANIFEST.MF
@@ -2,23 +2,23 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: ECP Eclipse 3.x Integration
 Bundle-SymbolicName: org.eclipse.emf.ecp.ui.e3;singleton:=true
-Bundle-Version: 1.21.0.qualifier
+Bundle-Version: 1.22.0.qualifier
 Bundle-Activator: org.eclipse.emf.ecp.ui.platform.Activator
 Bundle-Vendor: Eclipse Modeling Project
 Bundle-Localization: OSGI-INF/l10n/bundle
-Export-Package: org.eclipse.emf.ecp.ui.actions;version="1.21.0";x-internal:=true,
- org.eclipse.emf.ecp.ui.commands;version="1.21.0";x-internal:=true,
- org.eclipse.emf.ecp.ui.e3;version="1.21.0";x-internal:=true,
- org.eclipse.emf.ecp.ui.linkedView;version="1.21.0";x-internal:=true,
- org.eclipse.emf.ecp.ui.perspective;version="1.21.0";x-internal:=true,
- org.eclipse.emf.ecp.ui.platform;version="1.21.0";x-friends:="org.eclipse.emf.ecp.emfstore.ui",
- org.eclipse.emf.ecp.ui.tester;version="1.21.0";x-internal:=true,
- org.eclipse.emf.ecp.ui.views;version="1.21.0";x-internal:=true
+Export-Package: org.eclipse.emf.ecp.ui.actions;version="1.22.0";x-internal:=true,
+ org.eclipse.emf.ecp.ui.commands;version="1.22.0";x-internal:=true,
+ org.eclipse.emf.ecp.ui.e3;version="1.22.0";x-internal:=true,
+ org.eclipse.emf.ecp.ui.linkedView;version="1.22.0";x-internal:=true,
+ org.eclipse.emf.ecp.ui.perspective;version="1.22.0";x-internal:=true,
+ org.eclipse.emf.ecp.ui.platform;version="1.22.0";x-friends:="org.eclipse.emf.ecp.emfstore.ui",
+ org.eclipse.emf.ecp.ui.tester;version="1.22.0";x-internal:=true,
+ org.eclipse.emf.ecp.ui.views;version="1.22.0";x-internal:=true
 Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.4.0,4.0.0)",
- org.eclipse.emf.ecp.ui;bundle-version="[1.21.0,1.22.0)",
+ org.eclipse.emf.ecp.ui;bundle-version="[1.22.0,1.23.0)",
  org.eclipse.core.expressions;bundle-version="[3.4.0,4.0.0)",
- org.eclipse.emf.ecp.core;bundle-version="[1.21.0,1.22.0)",
- org.eclipse.emf.ecp.common.ui;bundle-version="[1.21.0,1.22.0)"
+ org.eclipse.emf.ecp.core;bundle-version="[1.22.0,1.23.0)",
+ org.eclipse.emf.ecp.common.ui;bundle-version="[1.22.0,1.23.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Bundle-ActivationPolicy: lazy
 Automatic-Module-Name: org.eclipse.emf.ecp.ui.e3
diff --git a/bundles/org.eclipse.emf.ecp.ui.e3/pom.xml b/bundles/org.eclipse.emf.ecp.ui.e3/pom.xml
index 27d689c..e5678b0 100644
--- a/bundles/org.eclipse.emf.ecp.ui.e3/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.ui.e3/pom.xml
@@ -5,12 +5,12 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.21.0-SNAPSHOT</version>
+    <version>1.22.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emf.ecp.ui.e3</artifactId>
-  <version>1.21.0-SNAPSHOT</version>
+  <version>1.22.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
   
   <properties>
diff --git a/bundles/org.eclipse.emf.ecp.ui.e4/.settings/org.eclipse.pde.api.tools.prefs b/bundles/org.eclipse.emf.ecp.ui.e4/.settings/org.eclipse.pde.api.tools.prefs
index e4e3c00..cfb400b 100644
--- a/bundles/org.eclipse.emf.ecp.ui.e4/.settings/org.eclipse.pde.api.tools.prefs
+++ b/bundles/org.eclipse.emf.ecp.ui.e4/.settings/org.eclipse.pde.api.tools.prefs
@@ -1,3 +1,4 @@
+ANNOTATION_ELEMENT_TYPE_ADDED_FIELD=Error
 ANNOTATION_ELEMENT_TYPE_ADDED_METHOD_WITHOUT_DEFAULT_VALUE=Error
 ANNOTATION_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
 ANNOTATION_ELEMENT_TYPE_REMOVED_FIELD=Error
@@ -10,6 +11,7 @@
 API_USE_SCAN_FIELD_SEVERITY=Error
 API_USE_SCAN_METHOD_SEVERITY=Error
 API_USE_SCAN_TYPE_SEVERITY=Error
+CLASS_ELEMENT_TYPE_ADDED_FIELD=Error
 CLASS_ELEMENT_TYPE_ADDED_METHOD=Error
 CLASS_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
 CLASS_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
@@ -49,6 +51,7 @@
 ILLEGAL_INSTANTIATE=Warning
 ILLEGAL_OVERRIDE=Warning
 ILLEGAL_REFERENCE=Warning
+INTERFACE_ELEMENT_TYPE_ADDED_DEFAULT_METHOD=Ignore
 INTERFACE_ELEMENT_TYPE_ADDED_FIELD=Error
 INTERFACE_ELEMENT_TYPE_ADDED_METHOD=Error
 INTERFACE_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
@@ -60,6 +63,7 @@
 INTERFACE_ELEMENT_TYPE_REMOVED_METHOD=Error
 INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
 INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
+INVALID_ANNOTATION=Warning
 INVALID_JAVADOC_TAG=Warning
 INVALID_REFERENCE_IN_SYSTEM_LIBRARIES=Error
 LEAK_EXTEND=Warning
@@ -86,10 +90,13 @@
 TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error
 UNUSED_PROBLEM_FILTERS=Ignore
 automatically_removed_unused_problem_filters=Disabled
+changed_execution_env=Error
 eclipse.preferences.version=1
 incompatible_api_component_version=Error
 incompatible_api_component_version_include_major_without_breaking_change=Disabled
 incompatible_api_component_version_include_minor_without_api_change=Disabled
+incompatible_api_component_version_report_major_without_breaking_change=Ignore
+incompatible_api_component_version_report_minor_without_api_change=Ignore
 invalid_since_tag_version=Error
 malformed_since_tag=Error
 missing_since_tag=Error
diff --git a/bundles/org.eclipse.emf.ecp.ui.e4/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.ui.e4/META-INF/MANIFEST.MF
index 640605d..ec42284 100644
--- a/bundles/org.eclipse.emf.ecp.ui.e4/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.ui.e4/META-INF/MANIFEST.MF
@@ -2,34 +2,34 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: ECP E4 UI
 Bundle-SymbolicName: org.eclipse.emf.ecp.ui.e4;singleton:=true
-Bundle-Version: 1.21.0.qualifier
+Bundle-Version: 1.22.0.qualifier
 Bundle-Activator: org.eclipse.emf.ecp.ui.internal.e4.Activator
 Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emf.ecp.ui.e4.editor;version="1.21.0";x-friends:="org.eclipse.emf.ecp.application.e4",
- org.eclipse.emf.ecp.ui.e4.handlers;version="1.21.0";x-internal:=true,
- org.eclipse.emf.ecp.ui.e4.util;version="1.21.0";x-friends:="org.eclipse.emf.ecp.application.e4",
- org.eclipse.emf.ecp.ui.e4.view;version="1.21.0";x-internal:=true,
- org.eclipse.emf.ecp.ui.internal.e4;version="1.21.0";x-internal:=true
+Export-Package: org.eclipse.emf.ecp.ui.e4.editor;version="1.22.0";x-friends:="org.eclipse.emf.ecp.application.e4",
+ org.eclipse.emf.ecp.ui.e4.handlers;version="1.22.0";x-internal:=true,
+ org.eclipse.emf.ecp.ui.e4.util;version="1.22.0";x-friends:="org.eclipse.emf.ecp.application.e4",
+ org.eclipse.emf.ecp.ui.e4.view;version="1.22.0";x-internal:=true,
+ org.eclipse.emf.ecp.ui.internal.e4;version="1.22.0";x-internal:=true
 Require-Bundle: org.eclipse.osgi;bundle-version="[3.7.0,4.0.0)",
  org.eclipse.e4.core.contexts;bundle-version="[1.2.0,2.0.0)",
  org.eclipse.e4.ui.workbench;bundle-version="[0.10.0,2.0.0)",
  org.eclipse.e4.ui.model.workbench;bundle-version="[0.10.0,3.0.0)",
- org.eclipse.emf.ecp.ui;bundle-version="[1.21.0,1.22.0)",
+ org.eclipse.emf.ecp.ui;bundle-version="[1.22.0,1.23.0)",
  org.eclipse.e4.ui.workbench.swt;bundle-version="[0.10.0,1.0.0)",
  javax.inject;bundle-version="[1.0.0,2.0.0)",
  org.eclipse.e4.core.di;bundle-version="[1.2.0,2.0.0)",
- org.eclipse.emf.ecp.ui.view.swt;bundle-version="[1.21.0,1.22.0)",
+ org.eclipse.emf.ecp.ui.view.swt;bundle-version="[1.22.0,1.23.0)",
  org.eclipse.e4.ui.di;bundle-version="[0.10.0,2.0.0)",
  org.eclipse.e4.ui.services;bundle-version="[1.0.0,2.0.0)",
  org.eclipse.emf.edit.ui;bundle-version="[2.7.0,3.0.0)",
- org.eclipse.emf.ecp.common;bundle-version="[1.21.0,1.22.0)",
- org.eclipse.emf.ecp.edit;bundle-version="[1.21.0,1.22.0)",
+ org.eclipse.emf.ecp.common;bundle-version="[1.22.0,1.23.0)",
+ org.eclipse.emf.ecp.edit;bundle-version="[1.22.0,1.23.0)",
  org.eclipse.e4.core.services;bundle-version="[1.0.0,3.0.0)",
- org.eclipse.emfforms.core.services;bundle-version="[1.21.0,1.22.0)"
+ org.eclipse.emfforms.core.services;bundle-version="[1.22.0,1.23.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Bundle-ActivationPolicy: lazy
 Import-Package: javax.annotation;version="1.1.0",
  javax.inject;version="1.0.0",
- org.eclipse.emfforms.spi.common.report;version="[1.21.0,1.22.0)",
+ org.eclipse.emfforms.spi.common.report;version="[1.22.0,1.23.0)",
  org.osgi.service.event;version="1.3.0"
 Automatic-Module-Name: org.eclipse.emf.ecp.ui.e4
diff --git a/bundles/org.eclipse.emf.ecp.ui.e4/pom.xml b/bundles/org.eclipse.emf.ecp.ui.e4/pom.xml
index 1afe0a5..63fb749 100644
--- a/bundles/org.eclipse.emf.ecp.ui.e4/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.ui.e4/pom.xml
@@ -5,12 +5,12 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.21.0-SNAPSHOT</version>
+    <version>1.22.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emf.ecp.ui.e4</artifactId>
-  <version>1.21.0-SNAPSHOT</version>
+  <version>1.22.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
   
   <properties>
diff --git a/bundles/org.eclipse.emf.ecp.ui.rap/.settings/org.eclipse.pde.api.tools.prefs b/bundles/org.eclipse.emf.ecp.ui.rap/.settings/org.eclipse.pde.api.tools.prefs
index e4e3c00..cfb400b 100644
--- a/bundles/org.eclipse.emf.ecp.ui.rap/.settings/org.eclipse.pde.api.tools.prefs
+++ b/bundles/org.eclipse.emf.ecp.ui.rap/.settings/org.eclipse.pde.api.tools.prefs
@@ -1,3 +1,4 @@
+ANNOTATION_ELEMENT_TYPE_ADDED_FIELD=Error
 ANNOTATION_ELEMENT_TYPE_ADDED_METHOD_WITHOUT_DEFAULT_VALUE=Error
 ANNOTATION_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
 ANNOTATION_ELEMENT_TYPE_REMOVED_FIELD=Error
@@ -10,6 +11,7 @@
 API_USE_SCAN_FIELD_SEVERITY=Error
 API_USE_SCAN_METHOD_SEVERITY=Error
 API_USE_SCAN_TYPE_SEVERITY=Error
+CLASS_ELEMENT_TYPE_ADDED_FIELD=Error
 CLASS_ELEMENT_TYPE_ADDED_METHOD=Error
 CLASS_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
 CLASS_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
@@ -49,6 +51,7 @@
 ILLEGAL_INSTANTIATE=Warning
 ILLEGAL_OVERRIDE=Warning
 ILLEGAL_REFERENCE=Warning
+INTERFACE_ELEMENT_TYPE_ADDED_DEFAULT_METHOD=Ignore
 INTERFACE_ELEMENT_TYPE_ADDED_FIELD=Error
 INTERFACE_ELEMENT_TYPE_ADDED_METHOD=Error
 INTERFACE_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
@@ -60,6 +63,7 @@
 INTERFACE_ELEMENT_TYPE_REMOVED_METHOD=Error
 INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
 INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
+INVALID_ANNOTATION=Warning
 INVALID_JAVADOC_TAG=Warning
 INVALID_REFERENCE_IN_SYSTEM_LIBRARIES=Error
 LEAK_EXTEND=Warning
@@ -86,10 +90,13 @@
 TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error
 UNUSED_PROBLEM_FILTERS=Ignore
 automatically_removed_unused_problem_filters=Disabled
+changed_execution_env=Error
 eclipse.preferences.version=1
 incompatible_api_component_version=Error
 incompatible_api_component_version_include_major_without_breaking_change=Disabled
 incompatible_api_component_version_include_minor_without_api_change=Disabled
+incompatible_api_component_version_report_major_without_breaking_change=Ignore
+incompatible_api_component_version_report_minor_without_api_change=Ignore
 invalid_since_tag_version=Error
 malformed_since_tag=Error
 missing_since_tag=Error
diff --git a/bundles/org.eclipse.emf.ecp.ui.rap/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.ui.rap/META-INF/MANIFEST.MF
index 85ccbb4..133d9da 100644
--- a/bundles/org.eclipse.emf.ecp.ui.rap/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.ui.rap/META-INF/MANIFEST.MF
@@ -2,12 +2,12 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: ECP UI RWT
 Bundle-SymbolicName: org.eclipse.emf.ecp.ui.rap
-Bundle-Version: 1.21.0.qualifier
+Bundle-Version: 1.22.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emf.ecp.internal.ui.util;version="1.21.0";x-internal:=true
+Export-Package: org.eclipse.emf.ecp.internal.ui.util;version="1.22.0";x-internal:=true
 Require-Bundle: org.eclipse.rap.filedialog;bundle-version="[3.0.0,4.0.0)",
  org.eclipse.rap.rwt;bundle-version="[3.0.0,4.0.0)",
- org.eclipse.emf.ecp.ui;bundle-version="[1.21.0,1.22.0)"
+ org.eclipse.emf.ecp.ui;bundle-version="[1.22.0,1.23.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Service-Component: OSGI-INF/org.eclipse.emf.ecp.internal.ui.util.ECPFileDialogHelperImpl.xml
 Bundle-ActivationPolicy: lazy
diff --git a/bundles/org.eclipse.emf.ecp.ui.rap/pom.xml b/bundles/org.eclipse.emf.ecp.ui.rap/pom.xml
index 77b5782..2284c9b 100644
--- a/bundles/org.eclipse.emf.ecp.ui.rap/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.ui.rap/pom.xml
@@ -5,11 +5,11 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.21.0-SNAPSHOT</version>
+    <version>1.22.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emf.ecp.ui.rap</artifactId>
-  <version>1.21.0-SNAPSHOT</version>
+  <version>1.22.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
 </project>
diff --git a/bundles/org.eclipse.emf.ecp.ui.rcp/.settings/org.eclipse.pde.api.tools.prefs b/bundles/org.eclipse.emf.ecp.ui.rcp/.settings/org.eclipse.pde.api.tools.prefs
index e4e3c00..cfb400b 100644
--- a/bundles/org.eclipse.emf.ecp.ui.rcp/.settings/org.eclipse.pde.api.tools.prefs
+++ b/bundles/org.eclipse.emf.ecp.ui.rcp/.settings/org.eclipse.pde.api.tools.prefs
@@ -1,3 +1,4 @@
+ANNOTATION_ELEMENT_TYPE_ADDED_FIELD=Error
 ANNOTATION_ELEMENT_TYPE_ADDED_METHOD_WITHOUT_DEFAULT_VALUE=Error
 ANNOTATION_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
 ANNOTATION_ELEMENT_TYPE_REMOVED_FIELD=Error
@@ -10,6 +11,7 @@
 API_USE_SCAN_FIELD_SEVERITY=Error
 API_USE_SCAN_METHOD_SEVERITY=Error
 API_USE_SCAN_TYPE_SEVERITY=Error
+CLASS_ELEMENT_TYPE_ADDED_FIELD=Error
 CLASS_ELEMENT_TYPE_ADDED_METHOD=Error
 CLASS_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
 CLASS_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
@@ -49,6 +51,7 @@
 ILLEGAL_INSTANTIATE=Warning
 ILLEGAL_OVERRIDE=Warning
 ILLEGAL_REFERENCE=Warning
+INTERFACE_ELEMENT_TYPE_ADDED_DEFAULT_METHOD=Ignore
 INTERFACE_ELEMENT_TYPE_ADDED_FIELD=Error
 INTERFACE_ELEMENT_TYPE_ADDED_METHOD=Error
 INTERFACE_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
@@ -60,6 +63,7 @@
 INTERFACE_ELEMENT_TYPE_REMOVED_METHOD=Error
 INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
 INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
+INVALID_ANNOTATION=Warning
 INVALID_JAVADOC_TAG=Warning
 INVALID_REFERENCE_IN_SYSTEM_LIBRARIES=Error
 LEAK_EXTEND=Warning
@@ -86,10 +90,13 @@
 TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error
 UNUSED_PROBLEM_FILTERS=Ignore
 automatically_removed_unused_problem_filters=Disabled
+changed_execution_env=Error
 eclipse.preferences.version=1
 incompatible_api_component_version=Error
 incompatible_api_component_version_include_major_without_breaking_change=Disabled
 incompatible_api_component_version_include_minor_without_api_change=Disabled
+incompatible_api_component_version_report_major_without_breaking_change=Ignore
+incompatible_api_component_version_report_minor_without_api_change=Ignore
 invalid_since_tag_version=Error
 malformed_since_tag=Error
 missing_since_tag=Error
diff --git a/bundles/org.eclipse.emf.ecp.ui.rcp/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.ui.rcp/META-INF/MANIFEST.MF
index 6f02d6e..438fd71 100644
--- a/bundles/org.eclipse.emf.ecp.ui.rcp/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.ui.rcp/META-INF/MANIFEST.MF
@@ -2,11 +2,11 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: ECP UI SWT
 Bundle-SymbolicName: org.eclipse.emf.ecp.ui.rcp
-Bundle-Version: 1.21.0.qualifier
+Bundle-Version: 1.22.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emf.ecp.internal.ui.util;version="1.21.0";x-internal:=true
+Export-Package: org.eclipse.emf.ecp.internal.ui.util;version="1.22.0";x-internal:=true
 Require-Bundle: org.eclipse.swt;bundle-version="[3.7.0,4.0.0)",
- org.eclipse.emf.ecp.ui;bundle-version="[1.21.0,1.22.0)"
+ org.eclipse.emf.ecp.ui;bundle-version="[1.22.0,1.23.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Service-Component: OSGI-INF/org.eclipse.emf.ecp.internal.ui.util.ECPFileDialogHelperImpl.xml
 Bundle-ActivationPolicy: lazy
diff --git a/bundles/org.eclipse.emf.ecp.ui.rcp/pom.xml b/bundles/org.eclipse.emf.ecp.ui.rcp/pom.xml
index d4525e2..e818b88 100644
--- a/bundles/org.eclipse.emf.ecp.ui.rcp/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.ui.rcp/pom.xml
@@ -5,12 +5,12 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.21.0-SNAPSHOT</version>
+    <version>1.22.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emf.ecp.ui.rcp</artifactId>
-  <version>1.21.0-SNAPSHOT</version>
+  <version>1.22.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
 
   <properties>
diff --git a/bundles/org.eclipse.emf.ecp.ui.transaction/.settings/org.eclipse.pde.api.tools.prefs b/bundles/org.eclipse.emf.ecp.ui.transaction/.settings/org.eclipse.pde.api.tools.prefs
index e4e3c00..cfb400b 100644
--- a/bundles/org.eclipse.emf.ecp.ui.transaction/.settings/org.eclipse.pde.api.tools.prefs
+++ b/bundles/org.eclipse.emf.ecp.ui.transaction/.settings/org.eclipse.pde.api.tools.prefs
@@ -1,3 +1,4 @@
+ANNOTATION_ELEMENT_TYPE_ADDED_FIELD=Error
 ANNOTATION_ELEMENT_TYPE_ADDED_METHOD_WITHOUT_DEFAULT_VALUE=Error
 ANNOTATION_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
 ANNOTATION_ELEMENT_TYPE_REMOVED_FIELD=Error
@@ -10,6 +11,7 @@
 API_USE_SCAN_FIELD_SEVERITY=Error
 API_USE_SCAN_METHOD_SEVERITY=Error
 API_USE_SCAN_TYPE_SEVERITY=Error
+CLASS_ELEMENT_TYPE_ADDED_FIELD=Error
 CLASS_ELEMENT_TYPE_ADDED_METHOD=Error
 CLASS_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
 CLASS_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
@@ -49,6 +51,7 @@
 ILLEGAL_INSTANTIATE=Warning
 ILLEGAL_OVERRIDE=Warning
 ILLEGAL_REFERENCE=Warning
+INTERFACE_ELEMENT_TYPE_ADDED_DEFAULT_METHOD=Ignore
 INTERFACE_ELEMENT_TYPE_ADDED_FIELD=Error
 INTERFACE_ELEMENT_TYPE_ADDED_METHOD=Error
 INTERFACE_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
@@ -60,6 +63,7 @@
 INTERFACE_ELEMENT_TYPE_REMOVED_METHOD=Error
 INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
 INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
+INVALID_ANNOTATION=Warning
 INVALID_JAVADOC_TAG=Warning
 INVALID_REFERENCE_IN_SYSTEM_LIBRARIES=Error
 LEAK_EXTEND=Warning
@@ -86,10 +90,13 @@
 TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error
 UNUSED_PROBLEM_FILTERS=Ignore
 automatically_removed_unused_problem_filters=Disabled
+changed_execution_env=Error
 eclipse.preferences.version=1
 incompatible_api_component_version=Error
 incompatible_api_component_version_include_major_without_breaking_change=Disabled
 incompatible_api_component_version_include_minor_without_api_change=Disabled
+incompatible_api_component_version_report_major_without_breaking_change=Ignore
+incompatible_api_component_version_report_minor_without_api_change=Ignore
 invalid_since_tag_version=Error
 malformed_since_tag=Error
 missing_since_tag=Error
diff --git a/bundles/org.eclipse.emf.ecp.ui.transaction/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.ui.transaction/META-INF/MANIFEST.MF
index 5a560a0..347959c 100644
--- a/bundles/org.eclipse.emf.ecp.ui.transaction/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.ui.transaction/META-INF/MANIFEST.MF
@@ -2,12 +2,12 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: ECP Transactional UI
 Bundle-SymbolicName: org.eclipse.emf.ecp.ui.transaction;singleton:=true
-Bundle-Version: 1.21.0.qualifier
+Bundle-Version: 1.22.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emf.ecp.ui.transaction;version="1.21.0";x-internal:=true
+Export-Package: org.eclipse.emf.ecp.ui.transaction;version="1.22.0";x-internal:=true
 Require-Bundle: org.eclipse.emf.transaction;bundle-version="1.4.0",
- org.eclipse.emf.ecp.ui;bundle-version="[1.21.0,1.22.0)",
- org.eclipse.emf.ecp.emfstore.core;bundle-version="[1.21.0,1.22.0)"
+ org.eclipse.emf.ecp.ui;bundle-version="[1.22.0,1.23.0)",
+ org.eclipse.emf.ecp.emfstore.core;bundle-version="[1.22.0,1.23.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Automatic-Module-Name: org.eclipse.emf.ecp.ui.transaction
 Import-Package: org.eclipse.core.commands;version="0.0.0",
diff --git a/bundles/org.eclipse.emf.ecp.ui.transaction/pom.xml b/bundles/org.eclipse.emf.ecp.ui.transaction/pom.xml
index 443e5b7..4de605c 100644
--- a/bundles/org.eclipse.emf.ecp.ui.transaction/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.ui.transaction/pom.xml
@@ -5,11 +5,11 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.21.0-SNAPSHOT</version>
+    <version>1.22.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emf.ecp.ui.transaction</artifactId>
-  <version>1.21.0-SNAPSHOT</version>
+  <version>1.22.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
 </project>
diff --git a/bundles/org.eclipse.emf.ecp.ui.validation.e4/.settings/org.eclipse.pde.api.tools.prefs b/bundles/org.eclipse.emf.ecp.ui.validation.e4/.settings/org.eclipse.pde.api.tools.prefs
index e4e3c00..cfb400b 100644
--- a/bundles/org.eclipse.emf.ecp.ui.validation.e4/.settings/org.eclipse.pde.api.tools.prefs
+++ b/bundles/org.eclipse.emf.ecp.ui.validation.e4/.settings/org.eclipse.pde.api.tools.prefs
@@ -1,3 +1,4 @@
+ANNOTATION_ELEMENT_TYPE_ADDED_FIELD=Error
 ANNOTATION_ELEMENT_TYPE_ADDED_METHOD_WITHOUT_DEFAULT_VALUE=Error
 ANNOTATION_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
 ANNOTATION_ELEMENT_TYPE_REMOVED_FIELD=Error
@@ -10,6 +11,7 @@
 API_USE_SCAN_FIELD_SEVERITY=Error
 API_USE_SCAN_METHOD_SEVERITY=Error
 API_USE_SCAN_TYPE_SEVERITY=Error
+CLASS_ELEMENT_TYPE_ADDED_FIELD=Error
 CLASS_ELEMENT_TYPE_ADDED_METHOD=Error
 CLASS_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
 CLASS_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
@@ -49,6 +51,7 @@
 ILLEGAL_INSTANTIATE=Warning
 ILLEGAL_OVERRIDE=Warning
 ILLEGAL_REFERENCE=Warning
+INTERFACE_ELEMENT_TYPE_ADDED_DEFAULT_METHOD=Ignore
 INTERFACE_ELEMENT_TYPE_ADDED_FIELD=Error
 INTERFACE_ELEMENT_TYPE_ADDED_METHOD=Error
 INTERFACE_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
@@ -60,6 +63,7 @@
 INTERFACE_ELEMENT_TYPE_REMOVED_METHOD=Error
 INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
 INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
+INVALID_ANNOTATION=Warning
 INVALID_JAVADOC_TAG=Warning
 INVALID_REFERENCE_IN_SYSTEM_LIBRARIES=Error
 LEAK_EXTEND=Warning
@@ -86,10 +90,13 @@
 TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error
 UNUSED_PROBLEM_FILTERS=Ignore
 automatically_removed_unused_problem_filters=Disabled
+changed_execution_env=Error
 eclipse.preferences.version=1
 incompatible_api_component_version=Error
 incompatible_api_component_version_include_major_without_breaking_change=Disabled
 incompatible_api_component_version_include_minor_without_api_change=Disabled
+incompatible_api_component_version_report_major_without_breaking_change=Ignore
+incompatible_api_component_version_report_minor_without_api_change=Ignore
 invalid_since_tag_version=Error
 malformed_since_tag=Error
 missing_since_tag=Error
diff --git a/bundles/org.eclipse.emf.ecp.ui.validation.e4/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.ui.validation.e4/META-INF/MANIFEST.MF
index d231035..8903da8 100644
--- a/bundles/org.eclipse.emf.ecp.ui.validation.e4/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.ui.validation.e4/META-INF/MANIFEST.MF
@@ -2,16 +2,16 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: ECP UI Validation E4
 Bundle-SymbolicName: org.eclipse.emf.ecp.ui.validation.e4;singleton:=true
-Bundle-Version: 1.21.0.qualifier
+Bundle-Version: 1.22.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emf.ecp.ui.validation.e4.handler;version="1.21.0";x-internal:=true,
- org.eclipse.emf.ecp.ui.validation.e4.view;version="1.21.0";x-internal:=true
+Export-Package: org.eclipse.emf.ecp.ui.validation.e4.handler;version="1.22.0";x-internal:=true,
+ org.eclipse.emf.ecp.ui.validation.e4.view;version="1.22.0";x-internal:=true
 Require-Bundle: org.eclipse.e4.ui.workbench.swt;bundle-version="[0.10.0,1.0.0)",
  org.eclipse.e4.ui.workbench;bundle-version="[0.10.0,2.0.0)",
- org.eclipse.emf.ecp.ui.validation;bundle-version="[1.21.0,1.22.0)",
+ org.eclipse.emf.ecp.ui.validation;bundle-version="[1.22.0,1.23.0)",
  org.eclipse.e4.ui.di;bundle-version="[0.10.0,2.0.0)",
  org.eclipse.jface;bundle-version="[3.9.1,4.0.0)",
- org.eclipse.emf.ecp.validation.diagnostician;bundle-version="[1.21.0,1.22.0)",
+ org.eclipse.emf.ecp.validation.diagnostician;bundle-version="[1.22.0,1.23.0)",
  org.eclipse.emf.ecore;bundle-version="[2.5.0,3.0.0)",
  org.eclipse.e4.ui.services;bundle-version="[0.1.0,2.0.0)",
  org.eclipse.e4.ui.model.workbench;bundle-version="[1.0.1,3.0.0)",
diff --git a/bundles/org.eclipse.emf.ecp.ui.validation.e4/pom.xml b/bundles/org.eclipse.emf.ecp.ui.validation.e4/pom.xml
index 15c21d1..4628c41 100644
--- a/bundles/org.eclipse.emf.ecp.ui.validation.e4/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.ui.validation.e4/pom.xml
@@ -5,11 +5,11 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.21.0-SNAPSHOT</version>
+    <version>1.22.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emf.ecp.ui.validation.e4</artifactId>
-  <version>1.21.0-SNAPSHOT</version>
+  <version>1.22.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
 </project>
diff --git a/bundles/org.eclipse.emf.ecp.ui.validation/.settings/org.eclipse.pde.api.tools.prefs b/bundles/org.eclipse.emf.ecp.ui.validation/.settings/org.eclipse.pde.api.tools.prefs
index e4e3c00..cfb400b 100644
--- a/bundles/org.eclipse.emf.ecp.ui.validation/.settings/org.eclipse.pde.api.tools.prefs
+++ b/bundles/org.eclipse.emf.ecp.ui.validation/.settings/org.eclipse.pde.api.tools.prefs
@@ -1,3 +1,4 @@
+ANNOTATION_ELEMENT_TYPE_ADDED_FIELD=Error
 ANNOTATION_ELEMENT_TYPE_ADDED_METHOD_WITHOUT_DEFAULT_VALUE=Error
 ANNOTATION_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
 ANNOTATION_ELEMENT_TYPE_REMOVED_FIELD=Error
@@ -10,6 +11,7 @@
 API_USE_SCAN_FIELD_SEVERITY=Error
 API_USE_SCAN_METHOD_SEVERITY=Error
 API_USE_SCAN_TYPE_SEVERITY=Error
+CLASS_ELEMENT_TYPE_ADDED_FIELD=Error
 CLASS_ELEMENT_TYPE_ADDED_METHOD=Error
 CLASS_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
 CLASS_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
@@ -49,6 +51,7 @@
 ILLEGAL_INSTANTIATE=Warning
 ILLEGAL_OVERRIDE=Warning
 ILLEGAL_REFERENCE=Warning
+INTERFACE_ELEMENT_TYPE_ADDED_DEFAULT_METHOD=Ignore
 INTERFACE_ELEMENT_TYPE_ADDED_FIELD=Error
 INTERFACE_ELEMENT_TYPE_ADDED_METHOD=Error
 INTERFACE_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
@@ -60,6 +63,7 @@
 INTERFACE_ELEMENT_TYPE_REMOVED_METHOD=Error
 INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
 INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
+INVALID_ANNOTATION=Warning
 INVALID_JAVADOC_TAG=Warning
 INVALID_REFERENCE_IN_SYSTEM_LIBRARIES=Error
 LEAK_EXTEND=Warning
@@ -86,10 +90,13 @@
 TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error
 UNUSED_PROBLEM_FILTERS=Ignore
 automatically_removed_unused_problem_filters=Disabled
+changed_execution_env=Error
 eclipse.preferences.version=1
 incompatible_api_component_version=Error
 incompatible_api_component_version_include_major_without_breaking_change=Disabled
 incompatible_api_component_version_include_minor_without_api_change=Disabled
+incompatible_api_component_version_report_major_without_breaking_change=Ignore
+incompatible_api_component_version_report_minor_without_api_change=Ignore
 invalid_since_tag_version=Error
 malformed_since_tag=Error
 missing_since_tag=Error
diff --git a/bundles/org.eclipse.emf.ecp.ui.validation/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.ui.validation/META-INF/MANIFEST.MF
index 5204149..01181a0 100644
--- a/bundles/org.eclipse.emf.ecp.ui.validation/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.ui.validation/META-INF/MANIFEST.MF
@@ -2,15 +2,16 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: ECP Validation View
 Bundle-SymbolicName: org.eclipse.emf.ecp.ui.validation;singleton:=true
-Bundle-Version: 1.21.0.qualifier
+Bundle-Version: 1.22.0.qualifier
 Bundle-Activator: org.eclipse.emf.ecp.internal.ui.validation.Activator
 Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emf.ecp.internal.ui.validation;version="1.21.0";x-friends:="org.eclipse.emf.ecp.ui.validation.e4,org.eclipse.emf.ecp.ide.migration",
- org.eclipse.emf.ecp.ui.validation;version="1.21.0";x-friends:="org.eclipse.emf.ecp.ui.validation.e4"
+Export-Package: org.eclipse.emf.ecp.internal.ui.validation;version="1.22.0";x-friends:="org.eclipse.emf.ecp.ui.validation.e4,org.eclipse.emf.ecp.ide.migration",
+ org.eclipse.emf.ecp.ui.validation;version="1.22.0";x-friends:="org.eclipse.emf.ecp.ui.validation.e4"
 Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.4.0,4.0.0)",
  org.eclipse.emf.edit;bundle-version="[2.8.0,3.0.0)",
- org.eclipse.emf.ecp.ui.view.swt;bundle-version="[1.21.0,1.22.0)"
-Import-Package: org.eclipse.e4.core.di.annotations;version="[1.6.0,2.0.0)",
+ org.eclipse.emf.ecp.ui.view.swt;bundle-version="[1.22.0,1.23.0)"
+Import-Package: javax.inject;version="1.0.0",
+ org.eclipse.e4.core.di.annotations;version="[1.3.0,2.0.0)",
  org.eclipse.emf.edit.ui.provider;version="0.0.0",
  org.eclipse.jface.resource;version="0.0.0",
  org.eclipse.jface.viewers;version="0.0.0",
diff --git a/bundles/org.eclipse.emf.ecp.ui.validation/pom.xml b/bundles/org.eclipse.emf.ecp.ui.validation/pom.xml
index 55b3bdb..a00a98b 100644
--- a/bundles/org.eclipse.emf.ecp.ui.validation/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.ui.validation/pom.xml
@@ -5,11 +5,11 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.21.0-SNAPSHOT</version>
+    <version>1.22.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
   <groupId>org.eclipse.emf.ecp</groupId>
   <artifactId>org.eclipse.emf.ecp.ui.validation</artifactId>
-  <version>1.21.0-SNAPSHOT</version>
+  <version>1.22.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
 </project>
diff --git a/bundles/org.eclipse.emf.ecp.ui.view.editor.controls.legacy/.settings/org.eclipse.pde.api.tools.prefs b/bundles/org.eclipse.emf.ecp.ui.view.editor.controls.legacy/.settings/org.eclipse.pde.api.tools.prefs
index e4e3c00..cfb400b 100644
--- a/bundles/org.eclipse.emf.ecp.ui.view.editor.controls.legacy/.settings/org.eclipse.pde.api.tools.prefs
+++ b/bundles/org.eclipse.emf.ecp.ui.view.editor.controls.legacy/.settings/org.eclipse.pde.api.tools.prefs
@@ -1,3 +1,4 @@
+ANNOTATION_ELEMENT_TYPE_ADDED_FIELD=Error
 ANNOTATION_ELEMENT_TYPE_ADDED_METHOD_WITHOUT_DEFAULT_VALUE=Error
 ANNOTATION_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
 ANNOTATION_ELEMENT_TYPE_REMOVED_FIELD=Error
@@ -10,6 +11,7 @@
 API_USE_SCAN_FIELD_SEVERITY=Error
 API_USE_SCAN_METHOD_SEVERITY=Error
 API_USE_SCAN_TYPE_SEVERITY=Error
+CLASS_ELEMENT_TYPE_ADDED_FIELD=Error
 CLASS_ELEMENT_TYPE_ADDED_METHOD=Error
 CLASS_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
 CLASS_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
@@ -49,6 +51,7 @@
 ILLEGAL_INSTANTIATE=Warning
 ILLEGAL_OVERRIDE=Warning
 ILLEGAL_REFERENCE=Warning
+INTERFACE_ELEMENT_TYPE_ADDED_DEFAULT_METHOD=Ignore
 INTERFACE_ELEMENT_TYPE_ADDED_FIELD=Error
 INTERFACE_ELEMENT_TYPE_ADDED_METHOD=Error
 INTERFACE_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
@@ -60,6 +63,7 @@
 INTERFACE_ELEMENT_TYPE_REMOVED_METHOD=Error
 INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
 INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
+INVALID_ANNOTATION=Warning
 INVALID_JAVADOC_TAG=Warning
 INVALID_REFERENCE_IN_SYSTEM_LIBRARIES=Error
 LEAK_EXTEND=Warning
@@ -86,10 +90,13 @@
 TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error
 UNUSED_PROBLEM_FILTERS=Ignore
 automatically_removed_unused_problem_filters=Disabled
+changed_execution_env=Error
 eclipse.preferences.version=1
 incompatible_api_component_version=Error
 incompatible_api_component_version_include_major_without_breaking_change=Disabled
 incompatible_api_component_version_include_minor_without_api_change=Disabled
+incompatible_api_component_version_report_major_without_breaking_change=Ignore
+incompatible_api_component_version_report_minor_without_api_change=Ignore
 invalid_since_tag_version=Error
 malformed_since_tag=Error
 missing_since_tag=Error
diff --git a/bundles/org.eclipse.emf.ecp.ui.view.editor.controls.legacy/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.ui.view.editor.controls.legacy/META-INF/MANIFEST.MF
index d227290..7ebf3e1 100644
--- a/bundles/org.eclipse.emf.ecp.ui.view.editor.controls.legacy/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.ui.view.editor.controls.legacy/META-INF/MANIFEST.MF
@@ -2,20 +2,20 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: Legacy View Model Editor Controls
 Bundle-SymbolicName: org.eclipse.emf.ecp.ui.view.editor.controls.legacy;singleton:=true
-Bundle-Version: 1.21.0.qualifier
+Bundle-Version: 1.22.0.qualifier
+Bundle-Activator: org.eclipse.emf.ecp.ui.view.internal.editor.controls.legacy.Activator
 Bundle-Vendor: Eclipse Modeling Project
-Automatic-Module-Name: org.eclipse.emf.ecp.ui.view.editor.controls.legacy
-Bundle-RequiredExecutionEnvironment: JavaSE-1.8
+Export-Package: org.eclipse.emf.ecp.ui.view.internal.editor.controls.legacy;version="1.22.0";x-internal:=true,
+ org.eclipse.emf.ecp.ui.view.internal.editor.controls.legacy.handler;version="1.22.0";x-internal:=true
 Require-Bundle: org.eclipse.core.commands;bundle-version="[3.5.0,4.0.0)",
- org.eclipse.emf.ecp.view.model;bundle-version="[1.21.0,1.22.0)",
- org.eclipse.emf.ecp.core;bundle-version="[1.21.0,1.22.0)",
+ org.eclipse.emf.ecp.view.model;bundle-version="[1.22.0,1.23.0)",
+ org.eclipse.emf.ecp.core;bundle-version="[1.22.0,1.23.0)",
  org.eclipse.ui.workbench;bundle-version="[3.7.0,4.0.0)",
- org.eclipse.emf.ecp.ui;bundle-version="[1.21.0,1.22.0)",
+ org.eclipse.emf.ecp.ui;bundle-version="[1.22.0,1.23.0)",
  org.eclipse.emf.edit.ui;bundle-version="[2.7.0,3.0.0)",
  org.eclipse.core.runtime;bundle-version="[3.4.0,4.0.0)",
- org.eclipse.emf.ecp.workspace.core;bundle-version="[1.21.0,1.22.0)",
- org.eclipse.emf.ecp.view.model.provider.xmi;bundle-version="[1.21.0,1.22.0)"
-Bundle-Activator: org.eclipse.emf.ecp.ui.view.internal.editor.controls.legacy.Activator
-Export-Package: org.eclipse.emf.ecp.ui.view.internal.editor.controls.legacy;version="1.21.0";x-internal:=true,
- org.eclipse.emf.ecp.ui.view.internal.editor.controls.legacy.handler;version="1.21.0";x-internal:=true
+ org.eclipse.emf.ecp.workspace.core;bundle-version="[1.22.0,1.23.0)",
+ org.eclipse.emf.ecp.view.model.provider.xmi;bundle-version="[1.22.0,1.23.0)"
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
+Automatic-Module-Name: org.eclipse.emf.ecp.ui.view.editor.controls.legacy
 Bundle-ActivationPolicy: lazy
diff --git a/bundles/org.eclipse.emf.ecp.ui.view.editor.controls.legacy/pom.xml b/bundles/org.eclipse.emf.ecp.ui.view.editor.controls.legacy/pom.xml
index 7bfd692..5163af4 100644
--- a/bundles/org.eclipse.emf.ecp.ui.view.editor.controls.legacy/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.ui.view.editor.controls.legacy/pom.xml
@@ -7,7 +7,7 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.21.0-SNAPSHOT</version>
+    <version>1.22.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
 
diff --git a/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/.project b/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/.project
index 3199e90..3b33eea 100644
--- a/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/.project
+++ b/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/.project
@@ -41,6 +41,5 @@
 		<nature>org.eclipse.jdt.core.javanature</nature>
 		<nature>net.sf.eclipsecs.core.CheckstyleNature</nature>
 		<nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature>
-		<nature>com.wuetherich.osgi.ds.annotations.dsAnnotationNature</nature>
 	</natures>
 </projectDescription>
diff --git a/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/.settings/org.eclipse.pde.api.tools.prefs b/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/.settings/org.eclipse.pde.api.tools.prefs
index e4e3c00..cfb400b 100644
--- a/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/.settings/org.eclipse.pde.api.tools.prefs
+++ b/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/.settings/org.eclipse.pde.api.tools.prefs
@@ -1,3 +1,4 @@
+ANNOTATION_ELEMENT_TYPE_ADDED_FIELD=Error
 ANNOTATION_ELEMENT_TYPE_ADDED_METHOD_WITHOUT_DEFAULT_VALUE=Error
 ANNOTATION_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
 ANNOTATION_ELEMENT_TYPE_REMOVED_FIELD=Error
@@ -10,6 +11,7 @@
 API_USE_SCAN_FIELD_SEVERITY=Error
 API_USE_SCAN_METHOD_SEVERITY=Error
 API_USE_SCAN_TYPE_SEVERITY=Error
+CLASS_ELEMENT_TYPE_ADDED_FIELD=Error
 CLASS_ELEMENT_TYPE_ADDED_METHOD=Error
 CLASS_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
 CLASS_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
@@ -49,6 +51,7 @@
 ILLEGAL_INSTANTIATE=Warning
 ILLEGAL_OVERRIDE=Warning
 ILLEGAL_REFERENCE=Warning
+INTERFACE_ELEMENT_TYPE_ADDED_DEFAULT_METHOD=Ignore
 INTERFACE_ELEMENT_TYPE_ADDED_FIELD=Error
 INTERFACE_ELEMENT_TYPE_ADDED_METHOD=Error
 INTERFACE_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
@@ -60,6 +63,7 @@
 INTERFACE_ELEMENT_TYPE_REMOVED_METHOD=Error
 INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
 INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
+INVALID_ANNOTATION=Warning
 INVALID_JAVADOC_TAG=Warning
 INVALID_REFERENCE_IN_SYSTEM_LIBRARIES=Error
 LEAK_EXTEND=Warning
@@ -86,10 +90,13 @@
 TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error
 UNUSED_PROBLEM_FILTERS=Ignore
 automatically_removed_unused_problem_filters=Disabled
+changed_execution_env=Error
 eclipse.preferences.version=1
 incompatible_api_component_version=Error
 incompatible_api_component_version_include_major_without_breaking_change=Disabled
 incompatible_api_component_version_include_minor_without_api_change=Disabled
+incompatible_api_component_version_report_major_without_breaking_change=Ignore
+incompatible_api_component_version_report_minor_without_api_change=Ignore
 invalid_since_tag_version=Error
 malformed_since_tag=Error
 missing_since_tag=Error
diff --git a/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/META-INF/MANIFEST.MF
index 8d25bff..551e2cd 100644
--- a/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/META-INF/MANIFEST.MF
@@ -2,51 +2,55 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: Controls
 Bundle-SymbolicName: org.eclipse.emf.ecp.ui.view.editor.controls;singleton:=true
-Bundle-Version: 1.21.0.qualifier
+Bundle-Version: 1.22.0.qualifier
 Bundle-Activator: org.eclipse.emf.ecp.view.internal.editor.controls.Activator
 Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emf.ecp.view.internal.editor.controls;version="1.21.0";x-friends:="org.eclipse.emfforms.ide.view.multisegment,org.eclipse.emfforms.ide.view.mappingsegment,org.eclipse.emf.ecp.view.template.tooling",
- org.eclipse.emf.ecp.view.internal.editor.handler;version="1.21.0";
+Export-Package: org.eclipse.emf.ecp.view.internal.editor.controls;version="1.22.0";x-friends:="org.eclipse.emfforms.ide.view.multisegment,org.eclipse.emfforms.ide.view.mappingsegment,org.eclipse.emf.ecp.view.template.tooling",
+ org.eclipse.emf.ecp.view.internal.editor.handler;version="1.22.0";
   x-friends:="org.eclipse.emf.ecp.view.model.project.installer,
    org.eclipse.emf.ecp.view.model.editor,
    org.eclipse.emf.ecp.view.treemasterdetail.ui.swt,
    org.eclipse.emfforms.ide.view.multisegment,
    org.eclipse.emf.ecp.view.template.tooling",
- org.eclipse.emf.ecp.view.spi.editor.controls;version="1.21.0"
+ org.eclipse.emf.ecp.view.spi.editor.controls;version="1.22.0"
 Require-Bundle: org.eclipse.core.runtime;bundle-version="3.7.0",
- org.eclipse.emf.ecp.edit.swt;bundle-version="[1.21.0,1.22.0)",
+ org.eclipse.emf.ecp.edit.swt;bundle-version="[1.22.0,1.23.0)",
  org.eclipse.emf.edit.ui;bundle-version="2.8.0",
- org.eclipse.emf.ecp.view.rule.model;bundle-version="[1.21.0,1.22.0)",
- org.eclipse.emf.ecp.view.model.provider.xmi;bundle-version="[1.21.0,1.22.0)",
- org.eclipse.emf.ecp.view.table.model;bundle-version="[1.21.0,1.22.0)",
- org.eclipse.emf.ecp.ide.view.service;bundle-version="[1.21.0,1.22.0)",
+ org.eclipse.emf.ecp.view.rule.model;bundle-version="[1.22.0,1.23.0)",
+ org.eclipse.emf.ecp.view.model.provider.xmi;bundle-version="[1.22.0,1.23.0)",
+ org.eclipse.emf.ecp.view.table.model;bundle-version="[1.22.0,1.23.0)",
+ org.eclipse.emf.ecp.ide.view.service;bundle-version="[1.22.0,1.23.0)",
  org.eclipse.emf.ecore.xmi;bundle-version="[2.7.0,3.0.0)",
- org.eclipse.emf.ecp.view.treemasterdetail.ui.swt;bundle-version="[1.21.0,1.22.0)",
- org.eclipse.emf.ecp.view.core.swt;bundle-version="[1.21.0,1.22.0)",
- org.eclipse.emf.ecp.ui.view.swt;bundle-version="[1.21.0,1.22.0)",
- org.eclipse.emf.ecp.view.template.model;bundle-version="[1.21.0,1.22.0)",
- org.eclipse.emf.ecp.view.stack.model;bundle-version="[1.21.0,1.22.0)",
+ org.eclipse.emf.ecp.view.treemasterdetail.ui.swt;bundle-version="[1.22.0,1.23.0)",
+ org.eclipse.emf.ecp.view.core.swt;bundle-version="[1.22.0,1.23.0)",
+ org.eclipse.emf.ecp.ui.view.swt;bundle-version="[1.22.0,1.23.0)",
+ org.eclipse.emf.ecp.view.template.model;bundle-version="[1.22.0,1.23.0)",
+ org.eclipse.emf.ecp.view.stack.model;bundle-version="[1.22.0,1.23.0)",
  org.eclipse.emf.ecore.edit;bundle-version="[2.7.0,3.0.0)",
- org.eclipse.emf.ecp.view.label.model;bundle-version="[1.21.0,1.22.0)",
- org.eclipse.emf.ecp.common.ui;bundle-version="[1.21.0,1.22.0)",
- org.eclipse.emf.ecp.view.custom.model;bundle-version="[1.21.0,1.22.0)",
+ org.eclipse.emf.ecp.view.label.model;bundle-version="[1.22.0,1.23.0)",
+ org.eclipse.emf.ecp.common.ui;bundle-version="[1.22.0,1.23.0)",
+ org.eclipse.emf.ecp.view.custom.model;bundle-version="[1.22.0,1.23.0)",
  org.eclipse.emf.databinding.edit;bundle-version="[1.3.0,2.0.0)",
  org.eclipse.core.databinding.property;bundle-version="[1.4.0,2.0.0)",
- org.eclipse.emfforms.localization;bundle-version="[1.21.0,1.22.0)",
- org.eclipse.emfforms.core.services;bundle-version="[1.21.0,1.22.0)",
- org.eclipse.emfforms.core.services.editsupport;bundle-version="[1.21.0,1.22.0)",
- org.eclipse.emfforms.swt.core.di;bundle-version="[1.21.0,1.22.0)",
- org.eclipse.emf.ecp.view.util.swt;bundle-version="[1.21.0,1.22.0)",
- org.eclipse.emfforms.swt.control.multiattribute;bundle-version="[1.21.0,1.22.0)",
- org.eclipse.emf.ecp.ide.util;bundle-version="[1.21.0,1.22.0)",
- org.eclipse.emfforms.common.validation;bundle-version="[1.21.0,1.22.0)",
- org.eclipse.emfforms.core.bazaar;bundle-version="[1.21.0,1.22.0)",
- org.eclipse.emfforms.view.annotation.model;bundle-version="[1.21.0,1.22.0)",
- org.eclipse.emf.ecp.view.rule;bundle-version="[1.21.0,1.22.0)",
- org.eclipse.emfforms.view.multisegment.model;bundle-version="[1.21.0,1.22.0)"
-Import-Package: org.eclipse.core.resources;version="0.0.0",
- org.eclipse.emfforms.spi.common.report;version="[1.21.0,1.22.0)",
- org.eclipse.emfforms.spi.core.services.databinding.emf;version="[1.21.0,1.22.0)",
+ org.eclipse.emfforms.localization;bundle-version="[1.22.0,1.23.0)",
+ org.eclipse.emfforms.core.services;bundle-version="[1.22.0,1.23.0)",
+ org.eclipse.emfforms.core.services.editsupport;bundle-version="[1.22.0,1.23.0)",
+ org.eclipse.emfforms.swt.core.di;bundle-version="[1.22.0,1.23.0)",
+ org.eclipse.emf.ecp.view.util.swt;bundle-version="[1.22.0,1.23.0)",
+ org.eclipse.emfforms.swt.control.multiattribute;bundle-version="[1.22.0,1.23.0)",
+ org.eclipse.emf.ecp.ide.util;bundle-version="[1.22.0,1.23.0)",
+ org.eclipse.emfforms.common.validation;bundle-version="[1.22.0,1.23.0)",
+ org.eclipse.emfforms.core.bazaar;bundle-version="[1.22.0,1.23.0)",
+ org.eclipse.emfforms.view.annotation.model;bundle-version="[1.22.0,1.23.0)",
+ org.eclipse.emf.ecp.view.rule;bundle-version="[1.22.0,1.23.0)",
+ org.eclipse.emfforms.view.multisegment.model;bundle-version="[1.22.0,1.23.0)",
+ org.eclipse.emfforms.ide.view.segments;bundle-version="[1.22.0,1.23.0)",
+ org.eclipse.emf.ecp.view.control.multireference;bundle-version="[1.22.0,1.23.0)"
+Import-Package: javax.inject;version="1.0.0",
+ org.eclipse.core.resources;version="0.0.0",
+ org.eclipse.emf.ecp.view.model.common.di.annotations;version="[1.22.0,1.23.0)",
+ org.eclipse.emfforms.spi.common.report;version="[1.22.0,1.23.0)",
+ org.eclipse.emfforms.spi.core.services.databinding.emf;version="[1.22.0,1.23.0)",
  org.eclipse.jface.databinding.swt;version="0.0.0",
  org.eclipse.jface.databinding.viewers;version="0.0.0",
  org.eclipse.jface.resource;version="0.0.0",
@@ -78,6 +82,8 @@
  OSGI-INF/IterateConditionDmrOpenInNewContextStrategyProvider.xml,
  OSGI-INF/RuleConditionDmrOpenInNewContextStrategyProvider.xml,
  OSGI-INF/IterateConditionDmrNewModelElementStrategyProvider.xml,
- OSGI-INF/RuleConditionDmrControlSWTRendererService.xml
+ OSGI-INF/RuleConditionDmrControlSWTRendererService.xml,
+ OSGI-INF/ReadOnlyConfigurationSWTRendererService.xml,
+ OSGI-INF/tableColumnsRevealProvider.xml
 Bundle-ActivationPolicy: lazy
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
diff --git a/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/OSGI-INF/IterateConditionDmrNewModelElementStrategyProvider.xml b/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/OSGI-INF/IterateConditionDmrNewModelElementStrategyProvider.xml
index cd89b0e..f34eb7d 100644
--- a/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/OSGI-INF/IterateConditionDmrNewModelElementStrategyProvider.xml
+++ b/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/OSGI-INF/IterateConditionDmrNewModelElementStrategyProvider.xml
@@ -4,5 +4,7 @@
    <service>
       <provide interface="org.eclipse.emf.ecp.ui.view.swt.reference.CreateNewModelElementStrategy$Provider"/>
    </service>
+   <reference bind="setEMFFormsDatabindingEMF" interface="org.eclipse.emfforms.spi.core.services.databinding.emf.EMFFormsDatabindingEMF" name="EMFFormsDatabindingEMF"/>
+   <reference bind="setReportService" interface="org.eclipse.emfforms.spi.common.report.ReportService" name="ReportService"/>
    <implementation class="org.eclipse.emf.ecp.view.internal.editor.handler.IterateConditionDmrNewModelElementStrategyProvider"/>
 </scr:component>
\ No newline at end of file
diff --git a/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/OSGI-INF/IterateConditionDmrOpenInNewContextStrategyProvider.xml b/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/OSGI-INF/IterateConditionDmrOpenInNewContextStrategyProvider.xml
index 50d1fb6..f7fb64f 100644
--- a/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/OSGI-INF/IterateConditionDmrOpenInNewContextStrategyProvider.xml
+++ b/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/OSGI-INF/IterateConditionDmrOpenInNewContextStrategyProvider.xml
@@ -4,5 +4,7 @@
    <service>
       <provide interface="org.eclipse.emf.ecp.ui.view.swt.reference.OpenInNewContextStrategy$Provider"/>
    </service>
+   <reference bind="setEMFFormsDatabindingEMF" interface="org.eclipse.emfforms.spi.core.services.databinding.emf.EMFFormsDatabindingEMF" name="EMFFormsDatabindingEMF"/>
+   <reference bind="setReportService" interface="org.eclipse.emfforms.spi.common.report.ReportService" name="ReportService"/>
    <implementation class="org.eclipse.emf.ecp.view.internal.editor.handler.IterateConditionDmrOpenInNewContextStrategyProvider"/>
 </scr:component>
\ No newline at end of file
diff --git a/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/OSGI-INF/LeafConditionDmrNewModelElementStrategyProvider.xml b/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/OSGI-INF/LeafConditionDmrNewModelElementStrategyProvider.xml
index 7a08fd3..c9ad41f 100644
--- a/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/OSGI-INF/LeafConditionDmrNewModelElementStrategyProvider.xml
+++ b/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/OSGI-INF/LeafConditionDmrNewModelElementStrategyProvider.xml
@@ -4,5 +4,7 @@
    <service>
       <provide interface="org.eclipse.emf.ecp.ui.view.swt.reference.CreateNewModelElementStrategy$Provider"/>
    </service>
+   <reference bind="setEMFFormsDatabindingEMF" interface="org.eclipse.emfforms.spi.core.services.databinding.emf.EMFFormsDatabindingEMF" name="EMFFormsDatabindingEMF"/>
+   <reference bind="setReportService" interface="org.eclipse.emfforms.spi.common.report.ReportService" name="ReportService"/>
    <implementation class="org.eclipse.emf.ecp.view.internal.editor.handler.LeafConditionDmrNewModelElementStrategyProvider"/>
 </scr:component>
\ No newline at end of file
diff --git a/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/OSGI-INF/LeafConditionDmrOpenInNewContextStrategyProvider.xml b/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/OSGI-INF/LeafConditionDmrOpenInNewContextStrategyProvider.xml
index dfaa23e..86e3a8e 100644
--- a/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/OSGI-INF/LeafConditionDmrOpenInNewContextStrategyProvider.xml
+++ b/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/OSGI-INF/LeafConditionDmrOpenInNewContextStrategyProvider.xml
@@ -4,5 +4,7 @@
    <service>
       <provide interface="org.eclipse.emf.ecp.ui.view.swt.reference.OpenInNewContextStrategy$Provider"/>
    </service>
+   <reference bind="setEMFFormsDatabindingEMF" interface="org.eclipse.emfforms.spi.core.services.databinding.emf.EMFFormsDatabindingEMF" name="EMFFormsDatabindingEMF"/>
+   <reference bind="setReportService" interface="org.eclipse.emfforms.spi.common.report.ReportService" name="ReportService"/>
    <implementation class="org.eclipse.emf.ecp.view.internal.editor.handler.LeafConditionDmrOpenInNewContextStrategyProvider"/>
 </scr:component>
\ No newline at end of file
diff --git a/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/OSGI-INF/ReadOnlyConfigurationSWTRendererService.xml b/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/OSGI-INF/ReadOnlyConfigurationSWTRendererService.xml
new file mode 100644
index 0000000..8dc3114
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/OSGI-INF/ReadOnlyConfigurationSWTRendererService.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="ReadOnlyConfigurationSWTRendererService">
+   <service>
+      <provide interface="org.eclipse.emfforms.spi.swt.core.di.EMFFormsDIRendererService"/>
+   </service>
+   <reference bind="setEMFFormsDatabindingEMF" cardinality="1..1" interface="org.eclipse.emfforms.spi.core.services.databinding.emf.EMFFormsDatabindingEMF" name="EMFFormsDatabindingEMF"/>
+   <reference bind="setreportService" cardinality="1..1" interface="org.eclipse.emfforms.spi.common.report.ReportService" name="reportService"/>
+   <implementation class="org.eclipse.emf.ecp.view.internal.editor.controls.ReadOnlyConfigurationSWTRendererService"/>
+</scr:component>
\ No newline at end of file
diff --git a/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/OSGI-INF/tableColumnsRevealProvider.xml b/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/OSGI-INF/tableColumnsRevealProvider.xml
new file mode 100644
index 0000000..e177a58
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/OSGI-INF/tableColumnsRevealProvider.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="tableColumnsRevealProvider">
+   <service>
+      <provide interface="org.eclipse.emfforms.spi.core.services.reveal.EMFFormsRevealProvider"/>
+   </service>
+   <implementation class="org.eclipse.emf.ecp.view.internal.editor.controls.TableColumnsRevealProvider"/>
+</scr:component>
\ No newline at end of file
diff --git a/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/pom.xml b/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/pom.xml
index aada12d..8744e6d 100644
--- a/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/pom.xml
@@ -7,7 +7,7 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.21.0-SNAPSHOT</version>
+    <version>1.22.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
 
diff --git a/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/controls/ColumnConfigurationDMRRendererReferenceService.java b/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/controls/ColumnConfigurationDMRRendererReferenceService.java
index b8e8948..cfe76db 100644
--- a/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/controls/ColumnConfigurationDMRRendererReferenceService.java
+++ b/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/controls/ColumnConfigurationDMRRendererReferenceService.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2017 EclipseSource Muenchen GmbH and others.
+ * Copyright (c) 2017-2019 EclipseSource Muenchen GmbH and others.
  *
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License 2.0
@@ -10,41 +10,47 @@
  *
  * Contributors:
  * Johannes Faltermeier - initial API and implementation
+ * Lucas Koehler - adapt to work with segments, too
  ******************************************************************************/
 package org.eclipse.emf.ecp.view.internal.editor.controls;
 
+import java.util.HashSet;
 import java.util.LinkedHashSet;
+import java.util.Optional;
 import java.util.Set;
 
+import org.eclipse.emf.common.util.EList;
 import org.eclipse.emf.ecore.EObject;
 import org.eclipse.emf.ecore.EReference;
 import org.eclipse.emf.ecp.edit.spi.ReferenceService;
 import org.eclipse.emf.ecp.spi.common.ui.SelectModelElementWizardFactory;
 import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
-import org.eclipse.emf.ecp.view.spi.table.model.VSingleColumnConfiguration;
+import org.eclipse.emf.ecp.view.spi.model.VDomainModelReference;
 import org.eclipse.emf.ecp.view.spi.table.model.VTableColumnConfiguration;
 import org.eclipse.emf.ecp.view.spi.table.model.VTableControl;
 import org.eclipse.emf.ecp.view.spi.table.model.VTableDomainModelReference;
 import org.eclipse.emf.edit.domain.AdapterFactoryEditingDomain;
-import org.eclipse.emfforms.common.Optional;
+import org.eclipse.emfforms.view.spi.multisegment.model.MultiSegmentUtil;
+import org.eclipse.emfforms.view.spi.multisegment.model.VMultiDomainModelReferenceSegment;
 
 /**
- * Special {@link ReferenceService} allowing stream lined DMR selection for the width configuration.
+ * Special {@link ReferenceService} allowing stream lined DMR selection for {@link VTableColumnConfiguration
+ * VTableColumnConfigurations}.
  *
  * @author Johannes Faltermeier
  *
  */
 public class ColumnConfigurationDMRRendererReferenceService implements ReferenceService {
 
-	private final Class<? extends VSingleColumnConfiguration> columnConfigClass;
+	private final Class<? extends VTableColumnConfiguration> columnConfigClass;
 
 	/**
 	 * Constructor.
 	 *
-	 * @param columnConfigClass the {@link VSingleColumnConfiguration} based class to be filtered
+	 * @param columnConfigClass the {@link VTableColumnConfiguration} based class to be filtered
 	 */
 	public ColumnConfigurationDMRRendererReferenceService(
-		Class<? extends VSingleColumnConfiguration> columnConfigClass) {
+		Class<? extends VTableColumnConfiguration> columnConfigClass) {
 		this.columnConfigClass = columnConfigClass;
 	}
 
@@ -71,9 +77,10 @@
 	}
 
 	@Override
-	public Optional<EObject> addNewModelElements(EObject eObject, EReference eReference, boolean openInNewContext) {
+	public org.eclipse.emfforms.common.Optional<EObject> addNewModelElements(EObject eObject, EReference eReference,
+		boolean openInNewContext) {
 		/* no-op */
-		return Optional.empty();
+		return org.eclipse.emfforms.common.Optional.empty();
 	}
 
 	@SuppressWarnings("restriction")
@@ -83,24 +90,17 @@
 			return;
 		}
 		final VTableControl tableControl = VTableControl.class.cast(eObject.eContainer());
-		if (!VTableDomainModelReference.class.isInstance(tableControl.getDomainModelReference())) {
+		final Optional<Set<EObject>> unconfiguredColumns = getUnconfiguredColumns(
+			tableControl.getDomainModelReference());
+		if (!unconfiguredColumns.isPresent()) {
 			return;
 		}
-		final VTableDomainModelReference tableDMR = VTableDomainModelReference.class
-			.cast(tableControl.getDomainModelReference());
-		final Set<EObject> unconfiguredColumns = new LinkedHashSet<EObject>(
-			tableDMR.getColumnDomainModelReferences());
-		for (final VTableColumnConfiguration columnConfiguration : tableControl.getColumnConfigurations()) {
-			if (!columnConfigClass.isInstance(columnConfiguration)) {
-				continue;
-			}
-			unconfiguredColumns
-				.remove(columnConfigClass.cast(columnConfiguration).getColumnDomainReference());
-		}
+
+		unconfiguredColumns.get().removeAll(getConfiguredColumns(tableControl, eReference));
 
 		final Set<EObject> selectedColumns = SelectModelElementWizardFactory
 			.openModelElementSelectionDialog(
-				unconfiguredColumns,
+				unconfiguredColumns.get(),
 				eReference.isMany());
 
 		org.eclipse.emf.ecp.internal.edit.ECPControlHelper.addModelElementsInReference(
@@ -110,6 +110,46 @@
 			AdapterFactoryEditingDomain.getEditingDomainFor(eObject));
 	}
 
+	/**
+	 * @param dmr The DMR defining the table
+	 * @return The set of all column dmrs which are not configured by a configuration of this service's
+	 *         <code>columnConfigClass</code>. Returns nothing if the list of column dmrs cannot be retrieved from the
+	 *         given dmr.
+	 */
+	private Optional<Set<EObject>> getUnconfiguredColumns(VDomainModelReference dmr) {
+		Set<EObject> result = null;
+		if (!dmr.getSegments().isEmpty()) {
+			final Optional<VMultiDomainModelReferenceSegment> multiSegment = MultiSegmentUtil.getMultiSegment(dmr);
+			if (multiSegment.isPresent()) {
+				result = new LinkedHashSet<>(multiSegment.get().getChildDomainModelReferences());
+			}
+		} else if (dmr instanceof VTableDomainModelReference) {
+			final VTableDomainModelReference tableDmr = (VTableDomainModelReference) dmr;
+			result = new LinkedHashSet<>(tableDmr.getColumnDomainModelReferences());
+		}
+		return Optional.ofNullable(result);
+	}
+
+	/**
+	 * @return The set of all column dmrs which are already configured by a configuration of this service's
+	 *         <code>columnConfigClass</code>. May return an empty set but never <code>null</code>.
+	 */
+	@SuppressWarnings("unchecked")
+	private Set<EObject> getConfiguredColumns(VTableControl tableControl, EReference eReference) {
+		final Set<EObject> result = new HashSet<>();
+		for (final VTableColumnConfiguration columnConfiguration : tableControl.getColumnConfigurations()) {
+			if (!columnConfigClass.isInstance(columnConfiguration)) {
+				continue;
+			}
+			if (eReference.isMany()) {
+				result.addAll((EList<EObject>) columnConfiguration.eGet(eReference));
+			} else {
+				result.add((EObject) columnConfiguration.eGet(eReference));
+			}
+		}
+		return result;
+	}
+
 	@Override
 	public void openInNewContext(EObject eObject) {
 		/* no-op */
diff --git a/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/controls/ColumnEnablementConfigurationDMRRenderer.java b/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/controls/ColumnEnablementConfigurationDMRRenderer.java
index bd46ae2..80a4221 100644
--- a/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/controls/ColumnEnablementConfigurationDMRRenderer.java
+++ b/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/controls/ColumnEnablementConfigurationDMRRenderer.java
@@ -24,7 +24,6 @@
 import org.eclipse.emf.ecp.view.template.model.VTViewTemplateProvider;
 import org.eclipse.emfforms.spi.common.report.ReportService;
 import org.eclipse.emfforms.spi.core.services.databinding.EMFFormsDatabinding;
-import org.eclipse.emfforms.spi.core.services.editsupport.EMFFormsEditSupport;
 import org.eclipse.emfforms.spi.core.services.label.EMFFormsLabelProvider;
 import org.eclipse.emfforms.spi.localization.EMFFormsLocalizationService;
 import org.eclipse.swt.widgets.Composite;
@@ -48,7 +47,6 @@
 	 * @param vtViewTemplateProvider the view template provider
 	 * @param localizationService the localization service
 	 * @param imageRegistryService the image registry service
-	 * @param emfFormsEditSuppport the edit support
 	 */
 	@Inject
 	// CHECKSTYLE.OFF: ParameterNumber
@@ -60,8 +58,7 @@
 		EMFFormsLabelProvider emfFormsLabelProvider,
 		VTViewTemplateProvider vtViewTemplateProvider,
 		EMFFormsLocalizationService localizationService,
-		ImageRegistryService imageRegistryService,
-		EMFFormsEditSupport emfFormsEditSuppport) {
+		ImageRegistryService imageRegistryService) {
 		// CHECKSTYLE.ON: ParameterNumber
 		super(
 			vElement,
@@ -71,8 +68,7 @@
 			emfFormsLabelProvider,
 			vtViewTemplateProvider,
 			localizationService,
-			imageRegistryService,
-			emfFormsEditSuppport);
+			imageRegistryService);
 	}
 
 	@Override
diff --git a/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/controls/DomainModelReferenceControlSWTRenderer.java b/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/controls/DomainModelReferenceControlSWTRenderer.java
index 0a379b7..110f85d 100644
--- a/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/controls/DomainModelReferenceControlSWTRenderer.java
+++ b/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/controls/DomainModelReferenceControlSWTRenderer.java
@@ -11,6 +11,7 @@
  * Contributors:
  * Alexandra Buzila - initial API and implementation
  * Lucas Koehler - Also support DMR segments (Bug 542669)
+ * Christian W. Damus - bugs 527686, 548592
  ******************************************************************************/
 package org.eclipse.emf.ecp.view.internal.editor.controls;
 
@@ -48,12 +49,12 @@
 import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
 import org.eclipse.emf.ecp.view.spi.core.swt.SimpleControlSWTControlSWTRenderer;
 import org.eclipse.emf.ecp.view.spi.editor.controls.Helper;
-import org.eclipse.emf.ecp.view.spi.editor.controls.ToolingModeUtil;
 import org.eclipse.emf.ecp.view.spi.label.model.VLabel;
 import org.eclipse.emf.ecp.view.spi.model.VControl;
 import org.eclipse.emf.ecp.view.spi.model.VDomainModelReference;
 import org.eclipse.emf.ecp.view.spi.model.VDomainModelReferenceSegment;
 import org.eclipse.emf.ecp.view.spi.model.VFeaturePathDomainModelReference;
+import org.eclipse.emf.ecp.view.spi.model.VViewPackage;
 import org.eclipse.emf.ecp.view.spi.model.util.VViewResourceImpl;
 import org.eclipse.emf.ecp.view.spi.rule.model.LeafCondition;
 import org.eclipse.emf.ecp.view.spi.table.model.VTableDomainModelReference;
@@ -69,6 +70,7 @@
 import org.eclipse.emfforms.spi.core.services.databinding.emf.EMFFormsDatabindingEMF;
 import org.eclipse.emfforms.spi.core.services.editsupport.EMFFormsEditSupport;
 import org.eclipse.emfforms.spi.core.services.label.EMFFormsLabelProvider;
+import org.eclipse.emfforms.spi.ide.view.segments.ToolingModeUtil;
 import org.eclipse.emfforms.spi.localization.LocalizationServiceHelper;
 import org.eclipse.jface.action.Action;
 import org.eclipse.jface.databinding.swt.ISWTObservableValue;
@@ -134,6 +136,7 @@
 	private Label setLabel;
 	private Label imageLabel;
 	private Composite contentSetComposite;
+	private Button setBtn;
 
 	@Override
 	protected Binding[] createBindings(Control control) throws DatabindingFailedException {
@@ -315,7 +318,7 @@
 
 	@Override
 	protected Control createSWTControl(Composite parent) throws DatabindingFailedException {
-		final IObservableValue observableValue = getEMFFormsDatabinding()
+		final IObservableValue<?> observableValue = getEMFFormsDatabinding()
 			.getObservableValue(getVElement().getDomainModelReference(), getViewModelContext().getDomainModel());
 		eObject = (EObject) ((IObserving) observableValue).getObserved();
 		structuralFeature = (EStructuralFeature) observableValue.getValueType();
@@ -396,7 +399,7 @@
 			}
 		});
 
-		final Button setBtn = createButtonForAction(new NewReferenceAction(getEditingDomain(eObject), eObject,
+		setBtn = createButtonForAction(new NewReferenceAction(getEditingDomain(eObject), eObject,
 			structuralFeature, emfFormsEditSupport, getEMFFormsLabelProvider(), null, getReportService(), getVElement()
 				.getDomainModelReference(),
 			getViewModelContext().getDomainModel()), composite); // getViewModelContext().getService(ReferenceService.class)
@@ -459,6 +462,28 @@
 		return Helper.getRootEClass(getViewModelContext().getDomainModel());
 	}
 
+	@Override
+	protected void rootDomainModelChanged() throws DatabindingFailedException {
+		final IObservableValue<?> observableValue = getEMFFormsDatabinding()
+			.getObservableValue(getVElement().getDomainModelReference(), getViewModelContext().getDomainModel());
+		try {
+			eObject = (EObject) ((IObserving) observableValue).getObserved();
+		} finally {
+			observableValue.dispose();
+		}
+
+		super.rootDomainModelChanged();
+	}
+
+	@Override
+	public void scrollToReveal() {
+		if (canReveal(setBtn) && setBtn.isEnabled()) {
+			scrollToReveal(setBtn);
+		} else {
+			super.scrollToReveal();
+		}
+	}
+
 	/** SelectionAdapter for the set button. */
 	private class SelectionAdapterExtension extends SelectionAdapter {
 
@@ -471,8 +496,6 @@
 
 		@Override
 		public void widgetSelected(SelectionEvent e) {
-			final Collection<EClass> classes = EMFUtils.getSubClasses(eReference.getEReferenceType());
-
 			final EClass eclass = getDmrRootEClass();
 
 			VDomainModelReference reference = null;
@@ -491,6 +514,10 @@
 					editSegmentDmr(eObject, eReference, reference);
 				}
 			} else {
+				final Collection<EClass> classes = EMFUtils.getSubClasses(eReference.getEReferenceType());
+				// Don't allow to create a plain DMR legacy mode
+				classes.remove(VViewPackage.Literals.DOMAIN_MODEL_REFERENCE);
+
 				final CreateDomainModelReferenceWizard wizard = new CreateDomainModelReferenceWizard(
 					eObject, structuralFeature, getEditingDomain(eObject), eclass,
 					reference == null ? "New Reference Element" : "Configure " + reference.eClass().getName(), //$NON-NLS-1$ //$NON-NLS-2$
diff --git a/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/controls/LeafConditionControlRenderer.java b/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/controls/LeafConditionControlRenderer.java
index c6f5509..ac5b046 100644
--- a/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/controls/LeafConditionControlRenderer.java
+++ b/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/controls/LeafConditionControlRenderer.java
@@ -101,6 +101,8 @@
 			final EClass referenceType = reference.getEReferenceType();
 			final Collection<EClass> dmrEClasses = EMFUtils.getSubClasses(VViewPackage.eINSTANCE
 				.getDomainModelReference());
+			// Don't allow to create a plain DMR legacy mode
+			dmrEClasses.remove(VViewPackage.Literals.DOMAIN_MODEL_REFERENCE);
 			final Setting valueDMRSeting = ((LeafConditionImpl) condition).eSetting(RulePackage.eINSTANCE
 				.getLeafCondition_ValueDomainModelReference());
 			final CreateDomainModelReferenceWizard dmrWizard = new CreateDomainModelReferenceWizard(valueDMRSeting,
diff --git a/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/controls/LeafConditionControlRendererService.java b/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/controls/LeafConditionControlRendererService.java
index 204567d..f51dd69 100644
--- a/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/controls/LeafConditionControlRendererService.java
+++ b/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/controls/LeafConditionControlRendererService.java
@@ -17,7 +17,6 @@
 import org.eclipse.emf.ecore.EAttribute;
 import org.eclipse.emf.ecore.EStructuralFeature;
 import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
-import org.eclipse.emf.ecp.view.spi.editor.controls.ToolingModeUtil;
 import org.eclipse.emf.ecp.view.spi.model.VControl;
 import org.eclipse.emf.ecp.view.spi.model.VElement;
 import org.eclipse.emf.ecp.view.spi.rule.model.RulePackage;
@@ -25,6 +24,7 @@
 import org.eclipse.emfforms.spi.core.services.databinding.DatabindingFailedException;
 import org.eclipse.emfforms.spi.core.services.databinding.DatabindingFailedReport;
 import org.eclipse.emfforms.spi.core.services.databinding.EMFFormsDatabinding;
+import org.eclipse.emfforms.spi.ide.view.segments.ToolingModeUtil;
 import org.eclipse.emfforms.spi.swt.core.AbstractSWTRenderer;
 import org.eclipse.emfforms.spi.swt.core.di.EMFFormsDIRendererService;
 import org.osgi.service.component.annotations.Component;
diff --git a/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/controls/LeafConditionSegmentControlRendererService.java b/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/controls/LeafConditionSegmentControlRendererService.java
index 4f10da6..d2934c0 100644
--- a/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/controls/LeafConditionSegmentControlRendererService.java
+++ b/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/controls/LeafConditionSegmentControlRendererService.java
@@ -15,7 +15,6 @@
 
 import org.eclipse.core.databinding.property.value.IValueProperty;
 import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
-import org.eclipse.emf.ecp.view.spi.editor.controls.ToolingModeUtil;
 import org.eclipse.emf.ecp.view.spi.model.VControl;
 import org.eclipse.emf.ecp.view.spi.model.VElement;
 import org.eclipse.emf.ecp.view.spi.rule.model.RulePackage;
@@ -23,6 +22,7 @@
 import org.eclipse.emfforms.spi.core.services.databinding.DatabindingFailedException;
 import org.eclipse.emfforms.spi.core.services.databinding.DatabindingFailedReport;
 import org.eclipse.emfforms.spi.core.services.databinding.EMFFormsDatabinding;
+import org.eclipse.emfforms.spi.ide.view.segments.ToolingModeUtil;
 import org.eclipse.emfforms.spi.swt.core.AbstractSWTRenderer;
 import org.eclipse.emfforms.spi.swt.core.di.EMFFormsDIRendererService;
 import org.osgi.service.component.annotations.Component;
diff --git a/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/controls/ReadOnlyConfigurationSWTRenderer.java b/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/controls/ReadOnlyConfigurationSWTRenderer.java
new file mode 100644
index 0000000..bc83ce5
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/controls/ReadOnlyConfigurationSWTRenderer.java
@@ -0,0 +1,67 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2019 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Lucas Koehler - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emf.ecp.view.internal.editor.controls;
+
+import javax.inject.Inject;
+
+import org.eclipse.emf.ecp.edit.spi.ReferenceService;
+import org.eclipse.emf.ecp.view.internal.control.multireference.LinkOnlyMultiReferenceRenderer;
+import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
+import org.eclipse.emf.ecp.view.spi.model.VControl;
+import org.eclipse.emf.ecp.view.spi.table.model.VReadOnlyColumnConfiguration;
+import org.eclipse.emf.ecp.view.spi.util.swt.ImageRegistryService;
+import org.eclipse.emf.ecp.view.template.model.VTViewTemplateProvider;
+import org.eclipse.emfforms.spi.common.report.ReportService;
+import org.eclipse.emfforms.spi.core.services.databinding.EMFFormsDatabinding;
+import org.eclipse.emfforms.spi.core.services.label.EMFFormsLabelProvider;
+
+/**
+ * Renderer to configure the linked column DMRs for {@link VReadOnlyColumnConfiguration ReadOnlyColumnConfigurations}.
+ * Uses a custom reference service to only show suitable column dmrs for linking.
+ *
+ * @author Lucas Koehler
+ *
+ */
+public class ReadOnlyConfigurationSWTRenderer extends LinkOnlyMultiReferenceRenderer {
+
+	private ReferenceService referenceService;
+
+	/**
+	 * Default constructor.
+	 *
+	 * @param vElement the view model element to be rendered
+	 * @param viewContext the view context
+	 * @param emfFormsDatabinding The {@link EMFFormsDatabinding}
+	 * @param emfFormsLabelProvider The {@link EMFFormsLabelProvider}
+	 * @param reportService The {@link ReportService}
+	 * @param vtViewTemplateProvider The {@link VTViewTemplateProvider}
+	 * @param imageRegistryService The {@link ImageRegistryService}
+	 */
+	@Inject
+	public ReadOnlyConfigurationSWTRenderer(VControl vElement, ViewModelContext viewContext,
+		ReportService reportService, EMFFormsDatabinding emfFormsDatabinding,
+		EMFFormsLabelProvider emfFormsLabelProvider, VTViewTemplateProvider vtViewTemplateProvider,
+		ImageRegistryService imageRegistryService) {
+		super(vElement, viewContext, reportService, emfFormsDatabinding, emfFormsLabelProvider, vtViewTemplateProvider,
+			imageRegistryService);
+	}
+
+	@Override
+	protected ReferenceService getReferenceService() {
+		if (referenceService == null) {
+			referenceService = new ColumnConfigurationDMRRendererReferenceService(VReadOnlyColumnConfiguration.class);
+		}
+		return referenceService;
+	}
+}
diff --git a/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/controls/ReadOnlyConfigurationSWTRendererService.java b/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/controls/ReadOnlyConfigurationSWTRendererService.java
new file mode 100644
index 0000000..a23e298
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/controls/ReadOnlyConfigurationSWTRendererService.java
@@ -0,0 +1,90 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2019 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Lucas Koehler - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emf.ecp.view.internal.editor.controls;
+
+import org.eclipse.emf.databinding.IEMFValueProperty;
+import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
+import org.eclipse.emf.ecp.view.spi.model.VControl;
+import org.eclipse.emf.ecp.view.spi.model.VDomainModelReference;
+import org.eclipse.emf.ecp.view.spi.model.VElement;
+import org.eclipse.emf.ecp.view.spi.table.model.VReadOnlyColumnConfiguration;
+import org.eclipse.emf.ecp.view.spi.table.model.VTablePackage;
+import org.eclipse.emfforms.spi.common.report.AbstractReport;
+import org.eclipse.emfforms.spi.common.report.ReportService;
+import org.eclipse.emfforms.spi.core.services.databinding.DatabindingFailedException;
+import org.eclipse.emfforms.spi.core.services.databinding.emf.EMFFormsDatabindingEMF;
+import org.eclipse.emfforms.spi.swt.core.AbstractSWTRenderer;
+import org.eclipse.emfforms.spi.swt.core.di.EMFFormsDIRendererService;
+import org.osgi.service.component.annotations.Component;
+import org.osgi.service.component.annotations.Reference;
+import org.osgi.service.component.annotations.ReferenceCardinality;
+
+/**
+ * Renderer service for {@link ReadOnlyConfigurationSWTRenderer}.
+ *
+ * @author Lucas Koehler
+ *
+ */
+@Component(name = "ReadOnlyConfigurationSWTRendererService")
+public class ReadOnlyConfigurationSWTRendererService implements EMFFormsDIRendererService<VControl> {
+
+	private EMFFormsDatabindingEMF databinding;
+	private ReportService reportService;
+
+	/**
+	 * @param databinding {@link EMFFormsDatabindingEMF}
+	 */
+	@Reference(cardinality = ReferenceCardinality.MANDATORY, unbind = "-")
+	public void setEMFFormsDatabindingEMF(EMFFormsDatabindingEMF databinding) {
+		this.databinding = databinding;
+	}
+
+	/**
+	 * @param reportService {@link ReportService}
+	 */
+	@Reference(cardinality = ReferenceCardinality.MANDATORY, unbind = "-")
+	public void setreportService(ReportService reportService) {
+		this.reportService = reportService;
+	}
+
+	@Override
+	public double isApplicable(VElement vElement, ViewModelContext viewModelContext) {
+		if (!VControl.class.isInstance(vElement)) {
+			return NOT_APPLICABLE;
+		}
+		final VDomainModelReference domainModelReference = VControl.class.cast(vElement).getDomainModelReference();
+		if (domainModelReference == null) {
+			return NOT_APPLICABLE;
+		}
+		try {
+			final IEMFValueProperty valueProperty = databinding.getValueProperty(
+				domainModelReference, viewModelContext.getDomainModel());
+			if (viewModelContext.getDomainModel() instanceof VReadOnlyColumnConfiguration
+				&& valueProperty
+					.getStructuralFeature() == VTablePackage.Literals.READ_ONLY_COLUMN_CONFIGURATION__COLUMN_DOMAIN_REFERENCES) {
+				return 10d;
+			}
+		} catch (final DatabindingFailedException ex) {
+			reportService.report(new AbstractReport(ex));
+		}
+
+		return NOT_APPLICABLE;
+	}
+
+	@Override
+	public Class<? extends AbstractSWTRenderer<VControl>> getRendererClass() {
+		return ReadOnlyConfigurationSWTRenderer.class;
+	}
+
+}
diff --git a/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/controls/TableColumnsDMRTableControl.java b/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/controls/TableColumnsDMRTableControl.java
index 5a2cc35..bf3363c 100644
--- a/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/controls/TableColumnsDMRTableControl.java
+++ b/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/controls/TableColumnsDMRTableControl.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2011-2014 EclipseSource Muenchen GmbH and others.
+ * Copyright (c) 2011-2019 EclipseSource Muenchen GmbH and others.
  *
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License 2.0
@@ -11,6 +11,7 @@
  * Contributors:
  * Eugen - initial API and implementation
  * Johannes Faltermeier - sorting + drag&drop
+ * Christian W. Damus - bug 548592
  *
  ******************************************************************************/
 package org.eclipse.emf.ecp.view.internal.editor.controls;
@@ -81,6 +82,7 @@
 import org.eclipse.jface.layout.TableColumnLayout;
 import org.eclipse.jface.viewers.ColumnWeightData;
 import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.jface.viewers.StructuredSelection;
 import org.eclipse.jface.viewers.TableViewer;
 import org.eclipse.jface.viewers.TableViewerColumn;
 import org.eclipse.jface.viewers.TreeViewer;
@@ -298,6 +300,21 @@
 	}
 
 	/**
+	 * Select and reveal an {@code object} in my table.
+	 *
+	 * @param object an object to reveal
+	 *
+	 * @since 1.22
+	 */
+	void reveal(Object object) {
+		checkRenderer();
+
+		if (viewer != null) {
+			viewer.setSelection(new StructuredSelection(object), true);
+		}
+	}
+
+	/**
 	 * Adapter set on the {@link VTableControl}.
 	 *
 	 */
@@ -442,6 +459,8 @@
 
 			final Collection<EClass> classes = EMFUtils.getSubClasses(VViewPackage.eINSTANCE
 				.getDomainModelReference());
+			// Don't allow to create a plain DMR legacy mode
+			classes.remove(VViewPackage.Literals.DOMAIN_MODEL_REFERENCE);
 
 			final CreateDomainModelReferenceWizard wizard = new CreateDomainModelReferenceWizard(
 				eObject, structuralFeature, getEditingDomain(eObject), eclass, "New Reference Element", //$NON-NLS-1$
diff --git a/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/controls/TableColumnsDMRTableControlService.java b/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/controls/TableColumnsDMRTableControlService.java
index 8ed98ce..b9b29a6 100644
--- a/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/controls/TableColumnsDMRTableControlService.java
+++ b/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/controls/TableColumnsDMRTableControlService.java
@@ -16,7 +16,6 @@
 import org.eclipse.core.databinding.property.value.IValueProperty;
 import org.eclipse.emf.ecore.EStructuralFeature;
 import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
-import org.eclipse.emf.ecp.view.spi.editor.controls.ToolingModeUtil;
 import org.eclipse.emf.ecp.view.spi.model.VAttachment;
 import org.eclipse.emf.ecp.view.spi.model.VControl;
 import org.eclipse.emf.ecp.view.spi.model.VElement;
@@ -27,6 +26,7 @@
 import org.eclipse.emfforms.spi.core.services.databinding.DatabindingFailedException;
 import org.eclipse.emfforms.spi.core.services.databinding.DatabindingFailedReport;
 import org.eclipse.emfforms.spi.core.services.databinding.EMFFormsDatabinding;
+import org.eclipse.emfforms.spi.ide.view.segments.ToolingModeUtil;
 import org.eclipse.emfforms.spi.swt.core.AbstractSWTRenderer;
 import org.eclipse.emfforms.spi.swt.core.di.EMFFormsDIRendererService;
 import org.osgi.service.component.annotations.Component;
diff --git a/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/controls/TableColumnsRevealProvider.java b/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/controls/TableColumnsRevealProvider.java
new file mode 100644
index 0000000..cbe595d
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/controls/TableColumnsRevealProvider.java
@@ -0,0 +1,109 @@
+/*******************************************************************************
+ * Copyright (c) 2019 Christian W. Damus and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Christian W. Damus - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emf.ecp.view.internal.editor.controls;
+
+import org.eclipse.core.databinding.property.value.IValueProperty;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecp.view.model.common.di.annotations.Renderer;
+import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
+import org.eclipse.emf.ecp.view.spi.model.VControl;
+import org.eclipse.emf.ecp.view.spi.model.VViewPackage;
+import org.eclipse.emf.ecp.view.spi.table.model.VTableControl;
+import org.eclipse.emf.ecp.view.spi.table.model.VTableDomainModelReference;
+import org.eclipse.emf.ecp.view.spi.table.model.VTablePackage;
+import org.eclipse.emfforms.bazaar.Bid;
+import org.eclipse.emfforms.bazaar.Create;
+import org.eclipse.emfforms.spi.core.services.databinding.DatabindingFailedException;
+import org.eclipse.emfforms.spi.core.services.databinding.EMFFormsDatabinding;
+import org.eclipse.emfforms.spi.core.services.reveal.EMFFormsRevealProvider;
+import org.eclipse.emfforms.spi.core.services.reveal.Reveal;
+import org.eclipse.emfforms.spi.core.services.reveal.RevealHelper;
+import org.eclipse.emfforms.spi.core.services.reveal.RevealStep;
+import org.osgi.service.component.annotations.Component;
+
+/**
+ * A reveal provider for the Table DMR columns control.
+ */
+@Component(name = "tableColumnsRevealProvider")
+public class TableColumnsRevealProvider implements EMFFormsRevealProvider {
+
+	private final Double tableDMRColumnsBid = 10.0;
+
+	/**
+	 * I bid on the {@code element} if it is a simple {@link VControl} specified by
+	 * a DMR that resolves to the
+	 * {@link VTablePackage#TABLE_DOMAIN_MODEL_REFERENCE__COLUMN_DOMAIN_MODEL_REFERENCES}
+	 * reference.
+	 *
+	 * @param context the view model context in which to resolve the DMR
+	 * @param control the control to bid on
+	 * @param databinding the databinding service in which to resolve the DMR
+	 * @return my bid
+	 * @throws DatabindingFailedException on failure to resolve the DMR
+	 */
+	@Bid
+	public Double canReveal(ViewModelContext context, VControl control, EMFFormsDatabinding databinding)
+		throws DatabindingFailedException {
+
+		Double result = null;
+
+		// Not a specialization like TableControl
+		if (control.eClass() == VViewPackage.Literals.CONTROL) {
+			final IValueProperty<?, ?> property = databinding.getValueProperty(control.getDomainModelReference(),
+				context.getDomainModel());
+			final Object propertyType = property.getValueType();
+			if (propertyType == VTablePackage.Literals.TABLE_DOMAIN_MODEL_REFERENCE__COLUMN_DOMAIN_MODEL_REFERENCES) {
+				result = tableDMRColumnsBid;
+			}
+		}
+
+		return result;
+	}
+
+	/**
+	 * Create a terminal reveal step to select and reveal the {@code object} in the
+	 * rendered {@code element}.
+	 *
+	 * @param context the view model context in which to find a renderer for the tree
+	 * @param helper a helper for deferred revealing
+	 * @param control the table columns view model
+	 * @param object the object to reveal
+	 * @param databinding the databinding service in which to resolve the DMR
+	 * @return the drill-down reveal step
+	 * @throws DatabindingFailedException on failure to resolve the DMR
+	 */
+	@Create
+	public RevealStep reveal(ViewModelContext context, RevealHelper helper, VControl control, EObject object,
+		EMFFormsDatabinding databinding) throws DatabindingFailedException {
+
+		RevealStep result = RevealStep.FAILED;
+
+		// The domain model is the table control in the view model that is being edited
+		final VTableControl tableControl = (VTableControl) context.getDomainModel();
+		final VTableDomainModelReference tableDMR = (VTableDomainModelReference) tableControl.getDomainModelReference();
+
+		if (tableDMR.getColumnDomainModelReferences().contains(object)) {
+			result = helper.defer(this);
+		}
+
+		return result;
+	}
+
+	@Reveal
+	private RevealStep doReveal(@Renderer TableColumnsDMRTableControl renderer, EObject object) {
+		final VControl control = renderer.getVElement();
+		return RevealStep.reveal(control, object, () -> renderer.reveal(object));
+	}
+
+}
diff --git a/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/controls/WidthConfigurationDMRRenderer.java b/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/controls/WidthConfigurationDMRRenderer.java
index b002f32..c62007c 100644
--- a/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/controls/WidthConfigurationDMRRenderer.java
+++ b/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/controls/WidthConfigurationDMRRenderer.java
@@ -24,7 +24,6 @@
 import org.eclipse.emf.ecp.view.template.model.VTViewTemplateProvider;
 import org.eclipse.emfforms.spi.common.report.ReportService;
 import org.eclipse.emfforms.spi.core.services.databinding.EMFFormsDatabinding;
-import org.eclipse.emfforms.spi.core.services.editsupport.EMFFormsEditSupport;
 import org.eclipse.emfforms.spi.core.services.label.EMFFormsLabelProvider;
 import org.eclipse.emfforms.spi.localization.EMFFormsLocalizationService;
 import org.eclipse.swt.widgets.Composite;
@@ -48,7 +47,6 @@
 	 * @param vtViewTemplateProvider the view template provider
 	 * @param localizationService the localization service
 	 * @param imageRegistryService the image registry service
-	 * @param emfFormsEditSuppport the edit support
 	 */
 	@Inject
 	// CHECKSTYLE.OFF: ParameterNumber
@@ -60,8 +58,7 @@
 		EMFFormsLabelProvider emfFormsLabelProvider,
 		VTViewTemplateProvider vtViewTemplateProvider,
 		EMFFormsLocalizationService localizationService,
-		ImageRegistryService imageRegistryService,
-		EMFFormsEditSupport emfFormsEditSuppport) {
+		ImageRegistryService imageRegistryService) {
 		// CHECKSTYLE.ON: ParameterNumber
 		super(
 			vElement,
@@ -71,8 +68,7 @@
 			emfFormsLabelProvider,
 			vtViewTemplateProvider,
 			localizationService,
-			imageRegistryService,
-			emfFormsEditSuppport);
+			imageRegistryService);
 	}
 
 	@Override
diff --git a/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/handler/ControlGenerator.java b/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/handler/ControlGenerator.java
index ced8609..df8c81c 100644
--- a/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/handler/ControlGenerator.java
+++ b/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/handler/ControlGenerator.java
@@ -37,7 +37,6 @@
 import org.eclipse.emf.ecore.xmi.impl.XMIResourceFactoryImpl;
 import org.eclipse.emf.ecp.view.internal.editor.controls.Activator;
 import org.eclipse.emf.ecp.view.spi.editor.controls.Helper;
-import org.eclipse.emf.ecp.view.spi.editor.controls.ToolingModeUtil;
 import org.eclipse.emf.ecp.view.spi.model.VContainer;
 import org.eclipse.emf.ecp.view.spi.model.VControl;
 import org.eclipse.emf.ecp.view.spi.model.VDomainModelReference;
@@ -47,6 +46,7 @@
 import org.eclipse.emf.ecp.view.spi.model.VFeaturePathDomainModelReference;
 import org.eclipse.emf.ecp.view.spi.model.VView;
 import org.eclipse.emf.ecp.view.spi.model.VViewFactory;
+import org.eclipse.emfforms.spi.ide.view.segments.ToolingModeUtil;
 
 /** Generates and sets a list of controls to a {@link VView}. */
 public final class ControlGenerator {
diff --git a/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/handler/DmrNewReferenceElementStrategyProvider.java b/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/handler/DmrNewReferenceElementStrategyProvider.java
index 441d94f..9034c89 100644
--- a/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/handler/DmrNewReferenceElementStrategyProvider.java
+++ b/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/handler/DmrNewReferenceElementStrategyProvider.java
@@ -20,11 +20,11 @@
 import org.eclipse.emf.ecp.ui.view.swt.reference.CreateNewModelElementStrategy.Provider;
 import org.eclipse.emf.ecp.ui.view.swt.reference.ReferenceServiceCustomizationVendor;
 import org.eclipse.emf.ecp.view.spi.editor.controls.Helper;
-import org.eclipse.emf.ecp.view.spi.editor.controls.ToolingModeUtil;
 import org.eclipse.emf.ecp.view.spi.model.VDomainModelReference;
 import org.eclipse.emf.ecp.view.spi.model.VViewPackage;
 import org.eclipse.emfforms.bazaar.Create;
 import org.eclipse.emfforms.common.Optional;
+import org.eclipse.emfforms.spi.ide.view.segments.ToolingModeUtil;
 import org.eclipse.jface.wizard.WizardDialog;
 import org.eclipse.swt.widgets.Display;
 import org.osgi.service.component.annotations.Component;
diff --git a/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/handler/DmrOpenInNewContextStrategyProvider.java b/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/handler/DmrOpenInNewContextStrategyProvider.java
index 058d34b..b1b6621 100644
--- a/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/handler/DmrOpenInNewContextStrategyProvider.java
+++ b/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/handler/DmrOpenInNewContextStrategyProvider.java
@@ -25,7 +25,6 @@
 import org.eclipse.emf.ecp.ui.view.swt.reference.OpenInNewContextStrategy.Provider;
 import org.eclipse.emf.ecp.ui.view.swt.reference.ReferenceServiceCustomizationVendor;
 import org.eclipse.emf.ecp.view.spi.editor.controls.Helper;
-import org.eclipse.emf.ecp.view.spi.editor.controls.ToolingModeUtil;
 import org.eclipse.emf.ecp.view.spi.model.VDomainModelReference;
 import org.eclipse.emf.ecp.view.spi.model.VViewPackage;
 import org.eclipse.emf.edit.command.ReplaceCommand;
@@ -33,6 +32,7 @@
 import org.eclipse.emf.edit.domain.AdapterFactoryEditingDomain;
 import org.eclipse.emf.edit.domain.EditingDomain;
 import org.eclipse.emfforms.bazaar.Create;
+import org.eclipse.emfforms.spi.ide.view.segments.ToolingModeUtil;
 import org.eclipse.jface.wizard.WizardDialog;
 import org.eclipse.swt.widgets.Display;
 import org.osgi.service.component.annotations.Component;
diff --git a/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/handler/GenerateControlsHandler.java b/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/handler/GenerateControlsHandler.java
index a756a3c..bae3f85 100644
--- a/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/handler/GenerateControlsHandler.java
+++ b/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/handler/GenerateControlsHandler.java
@@ -15,32 +15,22 @@
 package org.eclipse.emf.ecp.view.internal.editor.handler;
 
 import java.util.Collections;
-import java.util.LinkedHashSet;
 import java.util.Set;
 
 import org.eclipse.core.commands.ExecutionEvent;
 import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.core.runtime.ILog;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.emf.common.notify.AdapterFactory;
 import org.eclipse.emf.ecore.EClass;
 import org.eclipse.emf.ecore.EObject;
 import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.emf.ecore.util.EcoreUtil;
-import org.eclipse.emf.ecp.view.internal.editor.controls.Activator;
-import org.eclipse.emf.ecp.view.model.common.edit.provider.CustomReflectiveItemProviderAdapterFactory;
 import org.eclipse.emf.ecp.view.spi.model.VContainer;
 import org.eclipse.emf.ecp.view.spi.model.VElement;
 import org.eclipse.emf.ecp.view.spi.model.VView;
 import org.eclipse.emf.ecp.view.spi.treemasterdetail.ui.swt.MasterDetailAction;
 import org.eclipse.emf.edit.command.ChangeCommand;
 import org.eclipse.emf.edit.domain.AdapterFactoryEditingDomain;
-import org.eclipse.emf.edit.provider.AdapterFactoryItemDelegator;
-import org.eclipse.emf.edit.provider.ComposedAdapterFactory;
-import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
 import org.eclipse.jface.viewers.IStructuredSelection;
 import org.eclipse.jface.window.Window;
+import org.eclipse.jface.wizard.WizardDialog;
 import org.eclipse.swt.widgets.Shell;
 import org.eclipse.ui.PlatformUI;
 import org.eclipse.ui.handlers.HandlerUtil;
@@ -54,45 +44,6 @@
  */
 public class GenerateControlsHandler extends MasterDetailAction {
 
-	private Set<EStructuralFeature> getFeaturesToCreate(final SelectAttributesDialog sad) {
-		final Set<EStructuralFeature> features = sad.getSelectedFeatures();
-		final ComposedAdapterFactory composedAdapterFactory = new ComposedAdapterFactory(new AdapterFactory[] {
-			new CustomReflectiveItemProviderAdapterFactory(),
-			new ComposedAdapterFactory(ComposedAdapterFactory.Descriptor.Registry.INSTANCE) });
-		final AdapterFactoryItemDelegator adapterFactoryItemDelegator = new AdapterFactoryItemDelegator(
-			composedAdapterFactory);
-		final Set<EStructuralFeature> featuresToAdd = new LinkedHashSet<EStructuralFeature>();
-		IItemPropertyDescriptor propertyDescriptor = null;
-		final EClass rootClass = sad.getRootClass();
-		for (final EStructuralFeature feature : features) {
-			if (rootClass.isAbstract() || rootClass.isInterface()) {
-				featuresToAdd.add(feature);
-				continue;
-			}
-			propertyDescriptor = adapterFactoryItemDelegator
-				.getPropertyDescriptor(EcoreUtil.create(rootClass), feature);
-			if (propertyDescriptor != null) {
-				featuresToAdd.add(feature);
-			} else {
-				logInvalidFeature(feature.getName(), sad.getRootClass().getName());
-			}
-		}
-		composedAdapterFactory.dispose();
-		return featuresToAdd;
-	}
-
-	private void logInvalidFeature(String featureName, String eClassName) {
-		final String infoMessage = "Feature " + featureName //$NON-NLS-1$
-			+ " of the class " + eClassName + "could not be rendered because it has no property descriptor."; //$NON-NLS-1$ //$NON-NLS-2$
-		final ILog log = Activator
-			.getDefault()
-			.getLog();
-		log.log(
-			new Status(
-				IStatus.INFO,
-				Activator.PLUGIN_ID, infoMessage));
-	}
-
 	@Override
 	public void execute(final EObject object) {
 		final CallbackFeatureSupplier callBack = new CallbackFeatureSupplier() {
@@ -100,12 +51,11 @@
 			@Override
 			public Set<EStructuralFeature> get(VView view) {
 				final Shell shell = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell();
-				final SelectAttributesDialog sad = new SelectAttributesDialog(new SelectAttributesWizard(), view,
-					view.getRootEClass(),
-					shell);
+				final SelectAttributesWizard selectAttributesWizard = new SelectAttributesWizard(view);
+				final WizardDialog sad = new WizardDialog(shell, selectAttributesWizard);
 				final int result = sad.open();
 				if (result == Window.OK) {
-					return getFeaturesToCreate(sad);
+					return selectAttributesWizard.getSelectedFeatures();
 				}
 				return Collections.emptySet();
 			}
diff --git a/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/handler/GenerateTableColumnSegmentDmrsHandler.java b/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/handler/GenerateTableColumnSegmentDmrsHandler.java
index e26b8fa..b9c74d8 100644
--- a/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/handler/GenerateTableColumnSegmentDmrsHandler.java
+++ b/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/handler/GenerateTableColumnSegmentDmrsHandler.java
@@ -28,7 +28,6 @@
 import org.eclipse.emf.ecore.EStructuralFeature;
 import org.eclipse.emf.ecp.view.internal.editor.controls.Activator;
 import org.eclipse.emf.ecp.view.spi.editor.controls.Helper;
-import org.eclipse.emf.ecp.view.spi.editor.controls.ToolingModeUtil;
 import org.eclipse.emf.ecp.view.spi.model.VDomainModelReference;
 import org.eclipse.emf.ecp.view.spi.model.VDomainModelReferenceSegment;
 import org.eclipse.emf.ecp.view.spi.model.VFeatureDomainModelReferenceSegment;
@@ -42,6 +41,7 @@
 import org.eclipse.emfforms.spi.common.report.ReportService;
 import org.eclipse.emfforms.spi.core.services.databinding.DatabindingFailedException;
 import org.eclipse.emfforms.spi.core.services.databinding.emf.EMFFormsDatabindingEMF;
+import org.eclipse.emfforms.spi.ide.view.segments.ToolingModeUtil;
 import org.eclipse.emfforms.view.spi.multisegment.model.MultiSegmentUtil;
 import org.eclipse.emfforms.view.spi.multisegment.model.VMultiDomainModelReferenceSegment;
 import org.eclipse.emfforms.view.spi.multisegment.model.VMultisegmentPackage;
diff --git a/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/handler/GenerateTableColumnsForSubclassesHandler.java b/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/handler/GenerateTableColumnsForSubclassesHandler.java
index e142934..d14dd23 100644
--- a/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/handler/GenerateTableColumnsForSubclassesHandler.java
+++ b/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/handler/GenerateTableColumnsForSubclassesHandler.java
@@ -27,7 +27,6 @@
 import org.eclipse.emf.ecore.EStructuralFeature;
 import org.eclipse.emf.ecp.view.internal.editor.controls.Activator;
 import org.eclipse.emf.ecp.view.spi.editor.controls.Helper;
-import org.eclipse.emf.ecp.view.spi.editor.controls.ToolingModeUtil;
 import org.eclipse.emf.ecp.view.spi.model.VDomainModelReference;
 import org.eclipse.emf.ecp.view.spi.model.VFeaturePathDomainModelReference;
 import org.eclipse.emf.ecp.view.spi.model.VViewFactory;
@@ -40,6 +39,7 @@
 import org.eclipse.emf.edit.domain.EditingDomain;
 import org.eclipse.emfforms.spi.core.services.databinding.DatabindingFailedException;
 import org.eclipse.emfforms.spi.core.services.databinding.DatabindingFailedReport;
+import org.eclipse.emfforms.spi.ide.view.segments.ToolingModeUtil;
 import org.eclipse.jface.viewers.IStructuredSelection;
 import org.eclipse.ui.handlers.HandlerUtil;
 
diff --git a/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/handler/GenerateTableColumnsHandler.java b/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/handler/GenerateTableColumnsHandler.java
index 0154718..b07d7b2 100644
--- a/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/handler/GenerateTableColumnsHandler.java
+++ b/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/handler/GenerateTableColumnsHandler.java
@@ -27,7 +27,6 @@
 import org.eclipse.emf.ecore.EStructuralFeature;
 import org.eclipse.emf.ecp.view.internal.editor.controls.Activator;
 import org.eclipse.emf.ecp.view.spi.editor.controls.Helper;
-import org.eclipse.emf.ecp.view.spi.editor.controls.ToolingModeUtil;
 import org.eclipse.emf.ecp.view.spi.model.VDomainModelReference;
 import org.eclipse.emf.ecp.view.spi.model.VFeaturePathDomainModelReference;
 import org.eclipse.emf.ecp.view.spi.model.VViewFactory;
@@ -40,6 +39,7 @@
 import org.eclipse.emf.edit.domain.EditingDomain;
 import org.eclipse.emfforms.spi.core.services.databinding.DatabindingFailedException;
 import org.eclipse.emfforms.spi.core.services.databinding.DatabindingFailedReport;
+import org.eclipse.emfforms.spi.ide.view.segments.ToolingModeUtil;
 import org.eclipse.jface.viewers.IStructuredSelection;
 import org.eclipse.ui.handlers.HandlerUtil;
 
diff --git a/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/handler/IterateConditionDmrNewModelElementStrategyProvider.java b/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/handler/IterateConditionDmrNewModelElementStrategyProvider.java
index bcf24cb..9b66453 100644
--- a/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/handler/IterateConditionDmrNewModelElementStrategyProvider.java
+++ b/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/handler/IterateConditionDmrNewModelElementStrategyProvider.java
@@ -19,7 +19,10 @@
 import org.eclipse.emf.ecp.view.spi.editor.controls.EStructuralFeatureSelectionValidator;
 import org.eclipse.emf.ecp.view.spi.rule.model.IterateCondition;
 import org.eclipse.emf.ecp.view.spi.rule.model.RulePackage;
+import org.eclipse.emfforms.spi.common.report.ReportService;
+import org.eclipse.emfforms.spi.core.services.databinding.emf.EMFFormsDatabindingEMF;
 import org.osgi.service.component.annotations.Component;
+import org.osgi.service.component.annotations.Reference;
 
 /**
  * Edits segment based item domain model references for {@link IterateCondition IterateConditions}.
@@ -33,6 +36,18 @@
 	extends RuleConditionDmrNewModelElementStrategyProvider {
 
 	@Override
+	@Reference(unbind = "-")
+	protected void setEMFFormsDatabindingEMF(EMFFormsDatabindingEMF databinding) {
+		super.setEMFFormsDatabindingEMF(databinding);
+	}
+
+	@Override
+	@Reference(unbind = "-")
+	protected void setReportService(ReportService reportService) {
+		super.setReportService(reportService);
+	}
+
+	@Override
 	protected boolean handles(EObject owner, EReference reference) {
 		return isSegmentToolingEnabled()
 			&& owner instanceof IterateCondition
diff --git a/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/handler/IterateConditionDmrOpenInNewContextStrategyProvider.java b/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/handler/IterateConditionDmrOpenInNewContextStrategyProvider.java
index 8b6f5f0..abf2362 100644
--- a/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/handler/IterateConditionDmrOpenInNewContextStrategyProvider.java
+++ b/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/handler/IterateConditionDmrOpenInNewContextStrategyProvider.java
@@ -19,7 +19,10 @@
 import org.eclipse.emf.ecp.view.spi.editor.controls.EStructuralFeatureSelectionValidator;
 import org.eclipse.emf.ecp.view.spi.rule.model.IterateCondition;
 import org.eclipse.emf.ecp.view.spi.rule.model.RulePackage;
+import org.eclipse.emfforms.spi.common.report.ReportService;
+import org.eclipse.emfforms.spi.core.services.databinding.emf.EMFFormsDatabindingEMF;
 import org.osgi.service.component.annotations.Component;
+import org.osgi.service.component.annotations.Reference;
 
 /**
  * Creates segment based item domain model references for {@link IterateCondition IterateConditions}.
@@ -33,6 +36,18 @@
 	extends RuleConditionDmrOpenInNewContextStrategyProvider {
 
 	@Override
+	@Reference(unbind = "-")
+	protected void setEMFFormsDatabindingEMF(EMFFormsDatabindingEMF databinding) {
+		super.setEMFFormsDatabindingEMF(databinding);
+	}
+
+	@Override
+	@Reference(unbind = "-")
+	protected void setReportService(ReportService reportService) {
+		super.setReportService(reportService);
+	}
+
+	@Override
 	protected boolean handles(EObject owner, EReference reference) {
 		return isSegmentToolingEnabled()
 			&& owner instanceof IterateCondition
diff --git a/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/handler/LeafConditionDmrNewModelElementStrategyProvider.java b/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/handler/LeafConditionDmrNewModelElementStrategyProvider.java
index 48ab6ae..c4f6a7a 100644
--- a/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/handler/LeafConditionDmrNewModelElementStrategyProvider.java
+++ b/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/handler/LeafConditionDmrNewModelElementStrategyProvider.java
@@ -21,7 +21,10 @@
 import org.eclipse.emf.ecp.view.spi.editor.controls.EStructuralFeatureSelectionValidator;
 import org.eclipse.emf.ecp.view.spi.rule.model.LeafCondition;
 import org.eclipse.emf.ecp.view.spi.rule.model.RulePackage;
+import org.eclipse.emfforms.spi.common.report.ReportService;
+import org.eclipse.emfforms.spi.core.services.databinding.emf.EMFFormsDatabindingEMF;
 import org.osgi.service.component.annotations.Component;
+import org.osgi.service.component.annotations.Reference;
 
 /**
  * This provider registers a {@link CreateNewModelElementStrategy} to create <strong>segment based</strong> domain model
@@ -35,6 +38,18 @@
 	extends RuleConditionDmrNewModelElementStrategyProvider {
 
 	@Override
+	@Reference(unbind = "-")
+	protected void setEMFFormsDatabindingEMF(EMFFormsDatabindingEMF databinding) {
+		super.setEMFFormsDatabindingEMF(databinding);
+	}
+
+	@Override
+	@Reference(unbind = "-")
+	protected void setReportService(ReportService reportService) {
+		super.setReportService(reportService);
+	}
+
+	@Override
 	protected boolean handles(EObject owner, EReference reference) {
 		return isSegmentToolingEnabled()
 			&& owner instanceof LeafCondition
diff --git a/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/handler/LeafConditionDmrOpenInNewContextStrategyProvider.java b/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/handler/LeafConditionDmrOpenInNewContextStrategyProvider.java
index a79796f..2d15d48 100644
--- a/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/handler/LeafConditionDmrOpenInNewContextStrategyProvider.java
+++ b/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/handler/LeafConditionDmrOpenInNewContextStrategyProvider.java
@@ -20,7 +20,10 @@
 import org.eclipse.emf.ecp.view.spi.editor.controls.EStructuralFeatureSelectionValidator;
 import org.eclipse.emf.ecp.view.spi.rule.model.LeafCondition;
 import org.eclipse.emf.ecp.view.spi.rule.model.RulePackage;
+import org.eclipse.emfforms.spi.common.report.ReportService;
+import org.eclipse.emfforms.spi.core.services.databinding.emf.EMFFormsDatabindingEMF;
 import org.osgi.service.component.annotations.Component;
+import org.osgi.service.component.annotations.Reference;
 
 /**
  * This provider registers a {@link org.eclipse.emf.ecp.ui.view.swt.reference.OpenInNewContextStrategy
@@ -34,6 +37,18 @@
 public class LeafConditionDmrOpenInNewContextStrategyProvider extends RuleConditionDmrOpenInNewContextStrategyProvider {
 
 	@Override
+	@Reference(unbind = "-")
+	protected void setEMFFormsDatabindingEMF(EMFFormsDatabindingEMF databinding) {
+		super.setEMFFormsDatabindingEMF(databinding);
+	}
+
+	@Override
+	@Reference(unbind = "-")
+	protected void setReportService(ReportService reportService) {
+		super.setReportService(reportService);
+	}
+
+	@Override
 	protected boolean handles(EObject owner, EReference reference) {
 		return isSegmentToolingEnabled()
 			&& owner instanceof LeafCondition
diff --git a/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/handler/RuleConditionDmrNewModelElementStrategyProvider.java b/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/handler/RuleConditionDmrNewModelElementStrategyProvider.java
index a85ddab..bb30d52 100644
--- a/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/handler/RuleConditionDmrNewModelElementStrategyProvider.java
+++ b/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/handler/RuleConditionDmrNewModelElementStrategyProvider.java
@@ -23,7 +23,6 @@
 import org.eclipse.emf.ecp.ui.view.swt.reference.CreateNewModelElementStrategy.Provider;
 import org.eclipse.emf.ecp.ui.view.swt.reference.ReferenceServiceCustomizationVendor;
 import org.eclipse.emf.ecp.view.spi.editor.controls.EStructuralFeatureSelectionValidator;
-import org.eclipse.emf.ecp.view.spi.editor.controls.ToolingModeUtil;
 import org.eclipse.emf.ecp.view.spi.model.VDomainModelReference;
 import org.eclipse.emf.ecp.view.spi.model.VViewPackage;
 import org.eclipse.emf.ecp.view.spi.rule.RuleConditionDmrUtil;
@@ -33,6 +32,7 @@
 import org.eclipse.emfforms.spi.common.report.AbstractReport;
 import org.eclipse.emfforms.spi.common.report.ReportService;
 import org.eclipse.emfforms.spi.core.services.databinding.emf.EMFFormsDatabindingEMF;
+import org.eclipse.emfforms.spi.ide.view.segments.ToolingModeUtil;
 import org.eclipse.jface.wizard.WizardDialog;
 import org.eclipse.swt.widgets.Display;
 import org.osgi.service.component.annotations.Component;
@@ -60,7 +60,7 @@
 	 * @param databinding The {@link EMFFormsDatabindingEMF}
 	 */
 	@Reference(unbind = "-")
-	void setEMFFormsDatabindingEMF(EMFFormsDatabindingEMF databinding) {
+	protected void setEMFFormsDatabindingEMF(EMFFormsDatabindingEMF databinding) {
 		this.databinding = databinding;
 	}
 
@@ -70,7 +70,7 @@
 	 * @param reportService The {@link ReportService}
 	 */
 	@Reference(unbind = "-")
-	void setReportService(ReportService reportService) {
+	protected void setReportService(ReportService reportService) {
 		this.reportService = reportService;
 	}
 
diff --git a/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/handler/RuleConditionDmrOpenInNewContextStrategyProvider.java b/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/handler/RuleConditionDmrOpenInNewContextStrategyProvider.java
index 1ef31ea..ead30e5 100644
--- a/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/handler/RuleConditionDmrOpenInNewContextStrategyProvider.java
+++ b/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/handler/RuleConditionDmrOpenInNewContextStrategyProvider.java
@@ -25,7 +25,6 @@
 import org.eclipse.emf.ecp.ui.view.swt.reference.OpenInNewContextStrategy.Provider;
 import org.eclipse.emf.ecp.ui.view.swt.reference.ReferenceServiceCustomizationVendor;
 import org.eclipse.emf.ecp.view.spi.editor.controls.EStructuralFeatureSelectionValidator;
-import org.eclipse.emf.ecp.view.spi.editor.controls.ToolingModeUtil;
 import org.eclipse.emf.ecp.view.spi.model.VDomainModelReference;
 import org.eclipse.emf.ecp.view.spi.model.VViewPackage;
 import org.eclipse.emf.ecp.view.spi.rule.RuleConditionDmrUtil;
@@ -37,6 +36,7 @@
 import org.eclipse.emfforms.spi.common.report.AbstractReport;
 import org.eclipse.emfforms.spi.common.report.ReportService;
 import org.eclipse.emfforms.spi.core.services.databinding.emf.EMFFormsDatabindingEMF;
+import org.eclipse.emfforms.spi.ide.view.segments.ToolingModeUtil;
 import org.eclipse.jface.wizard.WizardDialog;
 import org.eclipse.swt.widgets.Display;
 import org.osgi.service.component.annotations.Component;
diff --git a/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/handler/SelectAttributesDialog.java b/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/handler/SelectAttributesDialog.java
deleted file mode 100644
index 8f24b18..0000000
--- a/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/handler/SelectAttributesDialog.java
+++ /dev/null
@@ -1,95 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011-2013 EclipseSource Muenchen GmbH and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License 2.0
- * which accompanies this distribution, and is available at
- * https://www.eclipse.org/legal/epl-2.0/
- *
- * SPDX-License-Identifier: EPL-2.0
- *
- * Contributors:
- * Eugen Neufeld - initial API and implementation
- *
- *******************************************************************************/
-package org.eclipse.emf.ecp.view.internal.editor.handler;
-
-import java.util.LinkedHashSet;
-import java.util.Set;
-
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.emf.ecp.view.spi.model.VView;
-import org.eclipse.emf.edit.provider.ComposedAdapterFactory;
-import org.eclipse.emf.edit.ui.provider.AdapterFactoryLabelProvider;
-import org.eclipse.jface.wizard.WizardDialog;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.Shell;
-
-/**
- * Dialog for selecting the attributes for which controls should be generated.
- *
- * @author Eugen Neufeld
- * @author Alexandra Buzila
- */
-public class SelectAttributesDialog extends WizardDialog {
-
-	private ComposedAdapterFactory composedAdapterFactory;
-	private AdapterFactoryLabelProvider labelProvider;
-	private final VView view;
-	private final Set<EStructuralFeature> selectedFeatures = new LinkedHashSet<EStructuralFeature>();
-	private final EClass rootClass;
-	private static SelectAttributesWizard wizard;
-
-	/**
-	 * Constructor.
-	 *
-	 * @param view for identifying the attributes which are not referenced yet
-	 * @param rootClass the rootClass of the view
-	 * @param parentShell the shell for creating the dialog
-	 */
-	public SelectAttributesDialog(SelectAttributesWizard wiz, VView view, EClass rootClass, Shell parentShell) {
-		super(parentShell, wiz);
-		wizard = wiz;
-		this.view = view;
-		this.rootClass = rootClass;
-		wizard.setRootEClass(rootClass);
-		wizard.setView(view);
-
-		setShellStyle(getShellStyle() | SWT.RESIZE);
-	}
-
-	@Override
-	public boolean close() {
-		if (labelProvider != null) {
-			labelProvider.dispose();
-		}
-		if (composedAdapterFactory != null) {
-			composedAdapterFactory.dispose();
-		}
-		return super.close();
-	}
-
-	/** @return the set of features selected in the dialog, for which controls should be generated. */
-	public Set<EStructuralFeature> getSelectedFeatures() {
-		return wizard.getSelectedFeatures();
-	}
-
-	/** @return the rootEClass the dialog is displaying the attributes for. */
-	public EClass getRootClass() {
-		return wizard.getRootEClass();
-	}
-
-	/**
-	 * {@inheritDoc}
-	 *
-	 * @see org.eclipse.jface.wizard.WizardDialog#backPressed()
-	 */
-	@Override
-	protected void backPressed() {
-
-		wizard.backPressed();
-		super.backPressed();
-	}
-
-}
diff --git a/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/handler/SelectAttributesWizard.java b/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/handler/SelectAttributesWizard.java
index a2178b2..14b6c50 100644
--- a/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/handler/SelectAttributesWizard.java
+++ b/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/handler/SelectAttributesWizard.java
@@ -18,7 +18,6 @@
 import org.eclipse.emf.ecore.EClass;
 import org.eclipse.emf.ecore.EStructuralFeature;
 import org.eclipse.emf.ecp.view.spi.model.VView;
-import org.eclipse.jface.wizard.IWizardPage;
 import org.eclipse.jface.wizard.Wizard;
 
 /**
@@ -27,69 +26,39 @@
  */
 public class SelectAttributesWizard extends Wizard {
 
-	private SelectDataSegmentWizardPage selectDataSegmentWizardPage;
 	private SelectAttributesWizardPage selectAttributesWizardPage;
-	private EClass rootClass;
-	private VView view;
+	private final EClass rootClass;
+	private final VView view;
 	private Set<EStructuralFeature> selectedFeatures;
 
+	/**
+	 * Constructor.
+	 * 
+	 * @param view The {@link VView} the Controls are generated for.
+	 */
+	public SelectAttributesWizard(VView view) {
+		this.view = view;
+		rootClass = view.getRootEClass();
+	}
+
 	@Override
 	public void addPages() {
-		selectDataSegmentWizardPage = new SelectDataSegmentWizardPage();
-		selectDataSegmentWizardPage.setTitle("Select Data Segment"); //$NON-NLS-1$
-		selectDataSegmentWizardPage.setDescription("Select an EClass."); //$NON-NLS-1$
-		selectDataSegmentWizardPage.setView(view);
-		addPage(selectDataSegmentWizardPage);
-
 		selectAttributesWizardPage = new SelectAttributesWizardPage();
 		selectAttributesWizardPage
 			.setDescription("Select the attributes for which controls should be generated."); //$NON-NLS-1$
 		selectAttributesWizardPage.setTitle("Select Attributes"); //$NON-NLS-1$
+
+		selectAttributesWizardPage.setRootClass(rootClass);
+		selectAttributesWizardPage.setView(view);
 		addPage(selectAttributesWizardPage);
 
 	}
 
-	/**
-	 * {@inheritDoc}
-	 *
-	 * @see org.eclipse.jface.wizard.Wizard#getNextPage(org.eclipse.jface.wizard.IWizardPage)
-	 */
-	@Override
-	public IWizardPage getNextPage(IWizardPage page) {
-		if (SelectDataSegmentWizardPage.class.isInstance(page)) {
-			final SelectDataSegmentWizardPage selectPage = (SelectDataSegmentWizardPage) page;
-			if (selectPage != null) {
-				if (selectAttributesWizardPage == null) {
-					selectAttributesWizardPage = new SelectAttributesWizardPage();
-					selectAttributesWizardPage
-						.setDescription("Select the attributes for which controls should be generated."); //$NON-NLS-1$
-					selectAttributesWizardPage.setTitle("Select Attributes"); //$NON-NLS-1$
-					addPage(selectAttributesWizardPage);
-				}
-				rootClass = selectPage.getSelectedDataSegment();
-				selectAttributesWizardPage.setRootClass(rootClass);
-				selectAttributesWizardPage.setView(view);
-			}
-			return selectAttributesWizardPage;
-		}
-		return null;
-	}
-
-	/**
-	 * {@inheritDoc}
-	 *
-	 * @see org.eclipse.jface.wizard.Wizard#canFinish()
-	 */
 	@Override
 	public boolean canFinish() {
-		return selectAttributesWizardPage != null && !selectAttributesWizardPage.getSelectedFeatures().isEmpty();
+		return !selectAttributesWizardPage.getSelectedFeatures().isEmpty();
 	}
 
-	/**
-	 * {@inheritDoc}
-	 *
-	 * @see org.eclipse.jface.wizard.Wizard#performFinish()
-	 */
 	@Override
 	public boolean performFinish() {
 		selectedFeatures = selectAttributesWizardPage.getSelectedFeatures();
@@ -103,37 +72,4 @@
 	public Set<EStructuralFeature> getSelectedFeatures() {
 		return selectedFeatures;
 	}
-
-	/**
-	 * @param rootClass the {@link EClass} to select attributes from
-	 */
-	protected void setRootEClass(EClass rootClass) {
-		this.rootClass = rootClass;
-
-	}
-
-	/**
-	 * @return rootClass
-	 */
-	protected EClass getRootEClass() {
-		return rootClass;
-
-	}
-
-	/**
-	 * @param view The VView to use
-	 */
-	protected void setView(VView view) {
-		this.view = view;
-
-	}
-
-	/**
-	 *
-	 */
-	public void backPressed() {
-		if (selectAttributesWizardPage != null && selectAttributesWizardPage.isCurrentPage()) {
-			selectAttributesWizardPage.clearSelection();
-		}
-	}
 }
diff --git a/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/handler/SelectDataSegmentWizardPage.java b/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/handler/SelectDataSegmentWizardPage.java
deleted file mode 100644
index 6b16c3e..0000000
--- a/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/handler/SelectDataSegmentWizardPage.java
+++ /dev/null
@@ -1,224 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011-2014 EclipseSource Muenchen GmbH and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License 2.0
- * which accompanies this distribution, and is available at
- * https://www.eclipse.org/legal/epl-2.0/
- *
- * SPDX-License-Identifier: EPL-2.0
- *
- * Contributors:
- * Alexandra Buzila - initial API and implementation
- ******************************************************************************/
-package org.eclipse.emf.ecp.view.internal.editor.handler;
-
-import java.util.LinkedHashSet;
-import java.util.Set;
-
-import org.eclipse.emf.common.notify.AdapterFactory;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EClassifier;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.EPackage;
-import org.eclipse.emf.ecore.EReference;
-import org.eclipse.emf.ecp.view.model.common.edit.provider.CustomReflectiveItemProviderAdapterFactory;
-import org.eclipse.emf.ecp.view.spi.model.VView;
-import org.eclipse.emf.edit.provider.ComposedAdapterFactory;
-import org.eclipse.emf.edit.ui.provider.AdapterFactoryLabelProvider;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.ITreeContentProvider;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.jface.viewers.TreeViewer;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.jface.wizard.WizardPage;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.Composite;
-
-/**
- * @author Alexandra Buzila
- *
- */
-public class SelectDataSegmentWizardPage extends WizardPage {
-
-	/**
-	 * @author Jonas
-	 *
-	 */
-	private final class DataSegmentTreeContentProvider implements ITreeContentProvider {
-		@Override
-		public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
-			// TODO Auto-generated method stub
-		}
-
-		@Override
-		public void dispose() {
-			// TODO Auto-generated method stub
-		}
-
-		@Override
-		public boolean hasChildren(Object element) {
-
-			if (VView.class.isInstance(element)) {
-				return true;
-			}
-			if (EPackage.class.isInstance(element)) {
-				return true;
-			}
-			if (EClass.class.isInstance(element)) {
-				final EClass eClass = (EClass) element;
-				final boolean hasReferences = !eClass.getEAllReferences().isEmpty();
-				return hasReferences;
-
-			}
-			if (EReference.class.isInstance(element)) {
-				final EReference eReference = (EReference) element;
-				return eReference.isContainment() && !eReference.isMany()
-					&& hasChildren(eReference.getEReferenceType());
-			}
-			return false;
-		}
-
-		@Override
-		public Object getParent(Object element) {
-			// TODO Auto-generated method stub
-			return null;
-		}
-
-		@Override
-		public Object[] getElements(Object inputElement) {
-			return getChildren(inputElement);
-		}
-
-		@Override
-		public Object[] getChildren(Object parentElement) {
-
-			if (VView.class.isInstance(parentElement)) {
-				final Object[] children = new Object[] { view.getRootEClass() };
-				return children;
-			}
-			if (EPackage.class.isInstance(parentElement)) {
-				final Set<Object> children = new LinkedHashSet<Object>();
-				children.addAll(EPackage.class.cast(parentElement).getESubpackages());
-				for (final EObject obj : EPackage.class.cast(parentElement).getEClassifiers()) {
-					if (EClass.class.isInstance(obj)) {
-						children.add(obj);
-					}
-				}
-				return children.toArray();
-			}
-			if (EClass.class.isInstance(parentElement)) {
-				final EClass eClass = (EClass) parentElement;
-				final Set<Object> result = getElementsForEClass(eClass);
-				return result.toArray();
-			}
-			if (EReference.class.isInstance(parentElement)) {
-				final EReference eReference = (EReference) parentElement;
-				final Set<Object> result = getElementsForEClass(eReference.getEReferenceType());
-				return result.toArray();
-			}
-			return null;
-		}
-
-		private Set<Object> getElementsForEClass(EClass eClass) {
-			final Set<Object> result = new LinkedHashSet<Object>();
-			if (eClass.isAbstract() || eClass.isInterface()) {
-				// find eClasses which are not abstract
-				for (final EClassifier eClassifier : eClass.getEPackage().getEClassifiers()) {
-					if (eClass != eClassifier && EClass.class.isInstance(eClassifier)
-						&& eClass.isSuperTypeOf((EClass) eClassifier)) {
-						result.add(eClassifier);
-					}
-				}
-			} else {
-				for (final EReference ref : eClass.getEAllReferences()) {
-					if (!ref.isMany() && ref.isContainment()) {
-						result.add(ref);
-					}
-				}
-			}
-			return result;
-		}
-	}
-
-	private TreeViewer treeViewer;
-
-	private EClass selectedDataSegment;
-
-	/**
-	 * @return the selectedDataSegment
-	 */
-	public EClass getSelectedDataSegment() {
-		return selectedDataSegment;
-	}
-
-	private VView view;
-
-	/**
-	 * Default constructor.
-	 */
-	protected SelectDataSegmentWizardPage() {
-		super("Select Data Segment");
-	}
-
-	/**
-	 * {@inheritDoc}
-	 *
-	 * @see org.eclipse.jface.dialogs.IDialogPage#createControl(org.eclipse.swt.widgets.Composite)
-	 */
-	@Override
-	public void createControl(Composite parent) {
-
-		if (view != null) {
-
-			final ComposedAdapterFactory adapterFactory = new ComposedAdapterFactory(new AdapterFactory[] {
-				new CustomReflectiveItemProviderAdapterFactory(),
-				new ComposedAdapterFactory(ComposedAdapterFactory.Descriptor.Registry.INSTANCE) });
-			final AdapterFactoryLabelProvider labelProvider = new AdapterFactoryLabelProvider(adapterFactory);
-
-			treeViewer = new TreeViewer(parent, SWT.SINGLE | SWT.H_SCROLL | SWT.V_SCROLL);
-			treeViewer.setContentProvider(getContentProvider(adapterFactory));
-			treeViewer.setLabelProvider(labelProvider);
-			treeViewer.setInput(view);
-			treeViewer.addSelectionChangedListener(new ISelectionChangedListener() {
-				@Override
-				public void selectionChanged(SelectionChangedEvent event) {
-					selectedDataSegment = null;
-					if (((IStructuredSelection) event.getSelection()).getFirstElement() instanceof EClass) {
-						selectedDataSegment = (EClass) ((IStructuredSelection) event.getSelection()).getFirstElement();
-					} else {
-						if (((IStructuredSelection) event.getSelection()).getFirstElement() instanceof EReference) {
-							final EReference ref = (EReference) ((IStructuredSelection) event.getSelection())
-								.getFirstElement();
-							selectedDataSegment = ref.getEReferenceType();
-						}
-					}
-					setPageComplete(selectedDataSegment != null);
-				}
-			});
-			treeViewer.expandToLevel(2);
-		}
-
-		setControl(treeViewer.getControl());
-		setPageComplete(false);
-	}
-
-	private ITreeContentProvider getContentProvider(final AdapterFactory adapterFactory) {
-		return new DataSegmentTreeContentProvider();
-	}
-
-	/**
-	 * @return the view
-	 */
-	public VView getView() {
-		return view;
-	}
-
-	/**
-	 * @param view the view to set
-	 */
-	public void setView(VView view) {
-		this.view = view;
-	}
-}
diff --git a/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/handler/TableColumnsDmrViewServiceFactory.java b/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/handler/TableColumnsDmrViewServiceFactory.java
index ed42f8a..4b0ca7a 100644
--- a/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/handler/TableColumnsDmrViewServiceFactory.java
+++ b/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/internal/editor/handler/TableColumnsDmrViewServiceFactory.java
@@ -13,11 +13,11 @@
  ******************************************************************************/
 package org.eclipse.emf.ecp.view.internal.editor.handler;
 
-import org.eclipse.emf.ecp.view.spi.editor.controls.ToolingModeUtil;
 import org.eclipse.emfforms.spi.core.services.view.EMFFormsViewContext;
 import org.eclipse.emfforms.spi.core.services.view.EMFFormsViewServiceFactory;
 import org.eclipse.emfforms.spi.core.services.view.EMFFormsViewServicePolicy;
 import org.eclipse.emfforms.spi.core.services.view.EMFFormsViewServiceScope;
+import org.eclipse.emfforms.spi.ide.view.segments.ToolingModeUtil;
 import org.osgi.service.component.annotations.Component;
 
 /**
diff --git a/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/spi/editor/controls/ToolingModeUtil.java b/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/spi/editor/controls/ToolingModeUtil.java
index c1e1e80..ca8ee2b 100644
--- a/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/spi/editor/controls/ToolingModeUtil.java
+++ b/bundles/org.eclipse.emf.ecp.ui.view.editor.controls/src/org/eclipse/emf/ecp/view/spi/editor/controls/ToolingModeUtil.java
@@ -10,33 +10,25 @@
  *
  * Contributors:
  * Lucas Koehler - initial API and implementation
+ * Christian W. Damus - fix API breakage
  ******************************************************************************/
 package org.eclipse.emf.ecp.view.spi.editor.controls;
 
-import java.util.Arrays;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.emfforms.spi.common.report.AbstractReport;
-import org.eclipse.emfforms.spi.common.report.ReportService;
-import org.osgi.framework.BundleContext;
-import org.osgi.framework.FrameworkUtil;
-import org.osgi.framework.ServiceReference;
-
 /**
  * Utility class that allows to query whether segment or dmr based tooling is used.
  *
  * @author Lucas Koehler
  * @since 1.20
- *
+ * @deprecated Since the 1.22 release, use the {@link org.eclipse.emfforms.spi.ide.view.segments.ToolingModeUtil} API,
+ *             instead.
  */
+@Deprecated
 public final class ToolingModeUtil {
 
 	/**
 	 * This flag enables the automatic generation of segments from existing DMRs.
 	 */
-	public static final String ENABLE_SEGMENT_TOOLING = "-enableSegmentTooling"; //$NON-NLS-1$
-	private static Boolean isSegmentToolingEnabled;
+	public static final String ENABLE_SEGMENT_TOOLING = org.eclipse.emfforms.spi.ide.view.segments.ToolingModeUtil.ENABLE_SEGMENT_TOOLING;
 
 	// Utility classes should not be instantiated
 	private ToolingModeUtil() {
@@ -49,24 +41,7 @@
 	 *         created
 	 */
 	public static boolean isSegmentToolingEnabled() {
-		if (isSegmentToolingEnabled == null) {
-			final String[] applicationArgs = Platform.getApplicationArgs();
-			isSegmentToolingEnabled = false;
-			Arrays.stream(applicationArgs).filter(ENABLE_SEGMENT_TOOLING::equals).findFirst()
-				.ifPresent(s -> isSegmentToolingEnabled = true);
-			if (isSegmentToolingEnabled) {
-				report(new AbstractReport("Segment based view model tooling is enabled.", IStatus.INFO)); //$NON-NLS-1$
-			}
-		}
-		return isSegmentToolingEnabled;
+		return org.eclipse.emfforms.spi.ide.view.segments.ToolingModeUtil.isSegmentToolingEnabled();
 	}
 
-	private static void report(AbstractReport report) {
-		final BundleContext bundleContext = FrameworkUtil.getBundle(ToolingModeUtil.class).getBundleContext();
-		final ServiceReference<ReportService> serviceReference = bundleContext
-			.getServiceReference(ReportService.class);
-		final ReportService reportService = bundleContext.getService(serviceReference);
-		reportService.report(report);
-		bundleContext.ungetService(serviceReference);
-	}
 }
diff --git a/bundles/org.eclipse.emf.ecp.ui.view.linewrapper/.settings/org.eclipse.pde.api.tools.prefs b/bundles/org.eclipse.emf.ecp.ui.view.linewrapper/.settings/org.eclipse.pde.api.tools.prefs
index e4e3c00..cfb400b 100644
--- a/bundles/org.eclipse.emf.ecp.ui.view.linewrapper/.settings/org.eclipse.pde.api.tools.prefs
+++ b/bundles/org.eclipse.emf.ecp.ui.view.linewrapper/.settings/org.eclipse.pde.api.tools.prefs
@@ -1,3 +1,4 @@
+ANNOTATION_ELEMENT_TYPE_ADDED_FIELD=Error
 ANNOTATION_ELEMENT_TYPE_ADDED_METHOD_WITHOUT_DEFAULT_VALUE=Error
 ANNOTATION_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
 ANNOTATION_ELEMENT_TYPE_REMOVED_FIELD=Error
@@ -10,6 +11,7 @@
 API_USE_SCAN_FIELD_SEVERITY=Error
 API_USE_SCAN_METHOD_SEVERITY=Error
 API_USE_SCAN_TYPE_SEVERITY=Error
+CLASS_ELEMENT_TYPE_ADDED_FIELD=Error
 CLASS_ELEMENT_TYPE_ADDED_METHOD=Error
 CLASS_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
 CLASS_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
@@ -49,6 +51,7 @@
 ILLEGAL_INSTANTIATE=Warning
 ILLEGAL_OVERRIDE=Warning
 ILLEGAL_REFERENCE=Warning
+INTERFACE_ELEMENT_TYPE_ADDED_DEFAULT_METHOD=Ignore
 INTERFACE_ELEMENT_TYPE_ADDED_FIELD=Error
 INTERFACE_ELEMENT_TYPE_ADDED_METHOD=Error
 INTERFACE_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
@@ -60,6 +63,7 @@
 INTERFACE_ELEMENT_TYPE_REMOVED_METHOD=Error
 INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
 INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
+INVALID_ANNOTATION=Warning
 INVALID_JAVADOC_TAG=Warning
 INVALID_REFERENCE_IN_SYSTEM_LIBRARIES=Error
 LEAK_EXTEND=Warning
@@ -86,10 +90,13 @@
 TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error
 UNUSED_PROBLEM_FILTERS=Ignore
 automatically_removed_unused_problem_filters=Disabled
+changed_execution_env=Error
 eclipse.preferences.version=1
 incompatible_api_component_version=Error
 incompatible_api_component_version_include_major_without_breaking_change=Disabled
 incompatible_api_component_version_include_minor_without_api_change=Disabled
+incompatible_api_component_version_report_major_without_breaking_change=Ignore
+incompatible_api_component_version_report_minor_without_api_change=Ignore
 invalid_since_tag_version=Error
 malformed_since_tag=Error
 missing_since_tag=Error
diff --git a/bundles/org.eclipse.emf.ecp.ui.view.linewrapper/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.ui.view.linewrapper/META-INF/MANIFEST.MF
index 064cb05..5202178 100644
--- a/bundles/org.eclipse.emf.ecp.ui.view.linewrapper/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.ui.view.linewrapper/META-INF/MANIFEST.MF
@@ -2,10 +2,10 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: ECP String Modifier with Line Wrapping
 Bundle-SymbolicName: org.eclipse.emf.ecp.ui.view.linewrapper;singleton:=true
-Bundle-Version: 1.21.0.qualifier
+Bundle-Version: 1.22.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emf.ecp.internal.ui.view.linewrapper;version="1.21.0";x-internal:=true
-Require-Bundle: org.eclipse.emf.ecp.ui.view;bundle-version="[1.21.0,1.22.0)"
+Export-Package: org.eclipse.emf.ecp.internal.ui.view.linewrapper;version="1.22.0";x-internal:=true
+Require-Bundle: org.eclipse.emf.ecp.ui.view;bundle-version="[1.22.0,1.23.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Automatic-Module-Name: org.eclipse.emf.ecp.ui.view.linewrapper
 Bundle-ActivationPolicy: lazy
diff --git a/bundles/org.eclipse.emf.ecp.ui.view.linewrapper/pom.xml b/bundles/org.eclipse.emf.ecp.ui.view.linewrapper/pom.xml
index 31fba79..2dedeb9 100644
--- a/bundles/org.eclipse.emf.ecp.ui.view.linewrapper/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.ui.view.linewrapper/pom.xml
@@ -7,7 +7,7 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.21.0-SNAPSHOT</version>
+    <version>1.22.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
 
diff --git a/bundles/org.eclipse.emf.ecp.ui.view.swt.di/.settings/org.eclipse.pde.api.tools.prefs b/bundles/org.eclipse.emf.ecp.ui.view.swt.di/.settings/org.eclipse.pde.api.tools.prefs
index e4e3c00..cfb400b 100644
--- a/bundles/org.eclipse.emf.ecp.ui.view.swt.di/.settings/org.eclipse.pde.api.tools.prefs
+++ b/bundles/org.eclipse.emf.ecp.ui.view.swt.di/.settings/org.eclipse.pde.api.tools.prefs
@@ -1,3 +1,4 @@
+ANNOTATION_ELEMENT_TYPE_ADDED_FIELD=Error
 ANNOTATION_ELEMENT_TYPE_ADDED_METHOD_WITHOUT_DEFAULT_VALUE=Error
 ANNOTATION_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
 ANNOTATION_ELEMENT_TYPE_REMOVED_FIELD=Error
@@ -10,6 +11,7 @@
 API_USE_SCAN_FIELD_SEVERITY=Error
 API_USE_SCAN_METHOD_SEVERITY=Error
 API_USE_SCAN_TYPE_SEVERITY=Error
+CLASS_ELEMENT_TYPE_ADDED_FIELD=Error
 CLASS_ELEMENT_TYPE_ADDED_METHOD=Error
 CLASS_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
 CLASS_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
@@ -49,6 +51,7 @@
 ILLEGAL_INSTANTIATE=Warning
 ILLEGAL_OVERRIDE=Warning
 ILLEGAL_REFERENCE=Warning
+INTERFACE_ELEMENT_TYPE_ADDED_DEFAULT_METHOD=Ignore
 INTERFACE_ELEMENT_TYPE_ADDED_FIELD=Error
 INTERFACE_ELEMENT_TYPE_ADDED_METHOD=Error
 INTERFACE_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
@@ -60,6 +63,7 @@
 INTERFACE_ELEMENT_TYPE_REMOVED_METHOD=Error
 INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
 INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
+INVALID_ANNOTATION=Warning
 INVALID_JAVADOC_TAG=Warning
 INVALID_REFERENCE_IN_SYSTEM_LIBRARIES=Error
 LEAK_EXTEND=Warning
@@ -86,10 +90,13 @@
 TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error
 UNUSED_PROBLEM_FILTERS=Ignore
 automatically_removed_unused_problem_filters=Disabled
+changed_execution_env=Error
 eclipse.preferences.version=1
 incompatible_api_component_version=Error
 incompatible_api_component_version_include_major_without_breaking_change=Disabled
 incompatible_api_component_version_include_minor_without_api_change=Disabled
+incompatible_api_component_version_report_major_without_breaking_change=Ignore
+incompatible_api_component_version_report_minor_without_api_change=Ignore
 invalid_since_tag_version=Error
 malformed_since_tag=Error
 missing_since_tag=Error
diff --git a/bundles/org.eclipse.emf.ecp.ui.view.swt.di/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.ui.view.swt.di/META-INF/MANIFEST.MF
index fbb9fd6..2cd4e69 100644
--- a/bundles/org.eclipse.emf.ecp.ui.view.swt.di/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.ui.view.swt.di/META-INF/MANIFEST.MF
@@ -2,30 +2,30 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: Dependency Injection SWT Renderer
 Bundle-SymbolicName: org.eclipse.emf.ecp.ui.view.swt.di;singleton:=true
-Bundle-Version: 1.21.0.qualifier
+Bundle-Version: 1.22.0.qualifier
 Bundle-Vendor: Eclipse Modeling Project
-Export-Package: org.eclipse.emf.ecp.ui.view.swt.di.renderer;version="1.21.0";x-internal:=true,
- org.eclipse.emf.ecp.ui.view.swt.di.util;version="1.21.0";x-internal:=true
-Require-Bundle: org.eclipse.emf.ecp.view.model.common.di;bundle-version="[1.21.0,1.22.0)",
- org.eclipse.emf.ecp.view.model;bundle-version="[1.21.0,1.22.0)",
- org.eclipse.emf.ecp.view.core.swt;bundle-version="[1.21.0,1.22.0)",
+Export-Package: org.eclipse.emf.ecp.ui.view.swt.di.renderer;version="1.22.0";x-internal:=true,
+ org.eclipse.emf.ecp.ui.view.swt.di.util;version="1.22.0";x-internal:=true
+Require-Bundle: org.eclipse.emf.ecp.view.model.common.di;bundle-version="[1.22.0,1.23.0)",
+ org.eclipse.emf.ecp.view.model;bundle-version="[1.22.0,1.23.0)",
+ org.eclipse.emf.ecp.view.core.swt;bundle-version="[1.22.0,1.23.0)",
  org.eclipse.core.databinding.observable;bundle-version="[1.4.1,2.0.0)",
  org.eclipse.emf.edit;bundle-version="[2.8.0,3.0.0)",
  org.eclipse.core.databinding;bundle-version="[1.4.1,2.0.0)",
- org.eclipse.emf.ecp.ui.view;bundle-version="[1.21.0,1.22.0)",
- org.eclipse.emf.ecp.ui.view.swt;bundle-version="[1.21.0,1.22.0)",
+ org.eclipse.emf.ecp.ui.view;bundle-version="[1.22.0,1.23.0)",
+ org.eclipse.emf.ecp.ui.view.swt;bundle-version="[1.22.0,1.23.0)",
  org.eclipse.e4.core.contexts;bundle-version="[1.3.100,2.0.0)",
- org.eclipse.emf.ecp.view.template.model;bundle-version="[1.21.0,1.22.0)",
- org.eclipse.emfforms.swt.core;bundle-version="[1.21.0,1.22.0)",
- org.eclipse.emfforms.core.services.editsupport;bundle-version="[1.21.0,1.22.0)",
- org.eclipse.emfforms.localization;bundle-version="[1.21.0,1.22.0)",
- org.eclipse.emfforms.core.services;bundle-version="[1.21.0,1.22.0)",
+ org.eclipse.emf.ecp.view.template.model;bundle-version="[1.22.0,1.23.0)",
+ org.eclipse.emfforms.swt.core;bundle-version="[1.22.0,1.23.0)",
+ org.eclipse.emfforms.core.services.editsupport;bundle-version="[1.22.0,1.23.0)",
+ org.eclipse.emfforms.localization;bundle-version="[1.22.0,1.23.0)",
+ org.eclipse.emfforms.core.services;bundle-version="[1.22.0,1.23.0)",
  org.eclipse.emf.databinding;bundle-version="[1.3.0,2.0.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Automatic-Module-Name: org.eclipse.emf.ecp.ui.view.swt.di
-Import-Package: org.eclipse.emf.ecp.edit.spi.swt.util;version="[1.21.0,1.22.0)",
- org.eclipse.emfforms.spi.common.locale;version="[1.21.0,1.22.0)",
- org.eclipse.emfforms.spi.common.report;version="[1.21.0,1.22.0)",
+Import-Package: org.eclipse.emf.ecp.edit.spi.swt.util;version="[1.22.0,1.23.0)",
+ org.eclipse.emfforms.spi.common.locale;version="[1.22.0,1.23.0)",
+ org.eclipse.emfforms.spi.common.report;version="[1.22.0,1.23.0)",
  org.eclipse.swt.graphics;version="0.0.0",
  org.eclipse.swt.widgets;version="0.0.0",
  org.osgi.framework;version="1.8.0"
diff --git a/bundles/org.eclipse.emf.ecp.ui.view.swt.di/pom.xml b/bundles/org.eclipse.emf.ecp.ui.view.swt.di/pom.xml
index 3dd8eb8..3c8a8c0 100644
--- a/bundles/org.eclipse.emf.ecp.ui.view.swt.di/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.ui.view.swt.di/pom.xml
@@ -7,7 +7,7 @@
   <parent>
     <groupId>org.eclipse.emf.ecp</groupId>
     <artifactId>ecp-bundles-parent</artifactId>
-    <version>1.21.0-SNAPSHOT</version>
+    <version>1.22.0-SNAPSHOT</version>
     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>
   </parent>
 
diff --git a/bundles/org.eclipse.emf.ecp.ui.view.swt/.project b/bundles/org.eclipse.emf.ecp.ui.view.swt/.project
index dd80a93..4be531f 100644
--- a/bundles/org.eclipse.emf.ecp.ui.view.swt/.project
+++ b/bundles/org.eclipse.emf.ecp.ui.view.swt/.project
@@ -46,6 +46,5 @@
 		<nature>org.eclipse.jdt.core.javanature</nature>

 		<nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature>

 		<nature>net.sf.eclipsecs.core.CheckstyleNature</nature>

-		<nature>com.wuetherich.osgi.ds.annotations.dsAnnotationNature</nature>

 	</natures>

 </projectDescription>

diff --git a/bundles/org.eclipse.emf.ecp.ui.view.swt/.settings/org.eclipse.pde.api.tools.prefs b/bundles/org.eclipse.emf.ecp.ui.view.swt/.settings/org.eclipse.pde.api.tools.prefs
index e4e3c00..cfb400b 100644
--- a/bundles/org.eclipse.emf.ecp.ui.view.swt/.settings/org.eclipse.pde.api.tools.prefs
+++ b/bundles/org.eclipse.emf.ecp.ui.view.swt/.settings/org.eclipse.pde.api.tools.prefs
@@ -1,3 +1,4 @@
+ANNOTATION_ELEMENT_TYPE_ADDED_FIELD=Error
 ANNOTATION_ELEMENT_TYPE_ADDED_METHOD_WITHOUT_DEFAULT_VALUE=Error
 ANNOTATION_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
 ANNOTATION_ELEMENT_TYPE_REMOVED_FIELD=Error
@@ -10,6 +11,7 @@
 API_USE_SCAN_FIELD_SEVERITY=Error
 API_USE_SCAN_METHOD_SEVERITY=Error
 API_USE_SCAN_TYPE_SEVERITY=Error
+CLASS_ELEMENT_TYPE_ADDED_FIELD=Error
 CLASS_ELEMENT_TYPE_ADDED_METHOD=Error
 CLASS_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
 CLASS_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
@@ -49,6 +51,7 @@
 ILLEGAL_INSTANTIATE=Warning
 ILLEGAL_OVERRIDE=Warning
 ILLEGAL_REFERENCE=Warning
+INTERFACE_ELEMENT_TYPE_ADDED_DEFAULT_METHOD=Ignore
 INTERFACE_ELEMENT_TYPE_ADDED_FIELD=Error
 INTERFACE_ELEMENT_TYPE_ADDED_METHOD=Error
 INTERFACE_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
@@ -60,6 +63,7 @@
 INTERFACE_ELEMENT_TYPE_REMOVED_METHOD=Error
 INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
 INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
+INVALID_ANNOTATION=Warning
 INVALID_JAVADOC_TAG=Warning
 INVALID_REFERENCE_IN_SYSTEM_LIBRARIES=Error
 LEAK_EXTEND=Warning
@@ -86,10 +90,13 @@
 TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error
 UNUSED_PROBLEM_FILTERS=Ignore
 automatically_removed_unused_problem_filters=Disabled
+changed_execution_env=Error
 eclipse.preferences.version=1
 incompatible_api_component_version=Error
 incompatible_api_component_version_include_major_without_breaking_change=Disabled
 incompatible_api_component_version_include_minor_without_api_change=Disabled
+incompatible_api_component_version_report_major_without_breaking_change=Ignore
+incompatible_api_component_version_report_minor_without_api_change=Ignore
 invalid_since_tag_version=Error
 malformed_since_tag=Error
 missing_since_tag=Error
diff --git a/bundles/org.eclipse.emf.ecp.ui.view.swt/META-INF/MANIFEST.MF b/bundles/org.eclipse.emf.ecp.ui.view.swt/META-INF/MANIFEST.MF
index e6e28b4..bc90c4b 100644
--- a/bundles/org.eclipse.emf.ecp.ui.view.swt/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.emf.ecp.ui.view.swt/META-INF/MANIFEST.MF
@@ -2,33 +2,41 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %Bundle-Name
 Bundle-SymbolicName: org.eclipse.emf.ecp.ui.view.swt;singleton:=true
-Bundle-Version: 1.21.0.qualifier
+Bundle-Version: 1.22.0.qualifier
 Bundle-Activator: org.eclipse.emf.ecp.view.internal.swt.Activator
 Bundle-Vendor: %Bundle-Vendor
-Export-Package: org.eclipse.emf.ecp.ui.view.swt;version="1.21.0",
- org.eclipse.emf.ecp.ui.view.swt.reference;version="1.21.0",
- org.eclipse.emf.ecp.view.internal.swt;version="1.21.0";x-friends:="org.eclipse.emf.ecp.view.table.ui.swt.test,org.eclipse.emf.ecp.view.context.test",
- org.eclipse.emf.ecp.view.spi.swt;version="1.21.0",
- org.eclipse.emf.ecp.view.spi.swt.layout;version="1.21.0",
- org.eclipse.emf.ecp.view.spi.swt.reporting;version="1.21.0",
- org.eclipse.emf.ecp.view.spi.swt.selection;version="1.21.0",
- org.eclipse.emf.ecp.view.spi.swt.services;version="1.21.0"
+Export-Package: org.eclipse.emf.ecp.ui.view.swt;version="1.22.0",
+ org.eclipse.emf.ecp.ui.view.swt.reference;version="1.22.0",
+ org.eclipse.emf.ecp.view.internal.swt;version="1.22.0";x-friends:="org.eclipse.emf.ecp.view.table.ui.swt.test,org.eclipse.emf.ecp.view.context.test",
+ org.eclipse.emf.ecp.view.spi.swt;version="1.22.0",
+ org.eclipse.emf.ecp.view.spi.swt.layout;version="1.22.0",
+ org.eclipse.emf.ecp.view.spi.swt.masterdetail;version="1.22.0",
+ org.eclipse.emf.ecp.view.spi.swt.reporting;version="1.22.0",
+ org.eclipse.emf.ecp.view.spi.swt.selection;version="1.22.0",
+ org.eclipse.emf.ecp.view.spi.swt.services;version="1.22.0"
 Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.5.0,4.0.0)",
- org.eclipse.emf.ecp.ui.view;bundle-version="[1.21.0,1.22.0)";visibility:=reexport,
- org.eclipse.emf.ecp.view.model;bundle-version="[1.21.0,1.22.0)";visibility:=reexport,
- org.eclipse.emf.ecp.edit;bundle-version="[1.21.0,1.22.0)",
- org.eclipse.emf.ecp.edit.swt;bundle-version="[1.21.0,1.22.0)",
- org.eclipse.emf.ecp.view.context;bundle-version="[1.21.0,1.22.0)",
- org.eclipse.emf.ecp.view.model.common;bundle-version="[1.21.0,1.22.0)";visibility:=reexport,
- org.eclipse.emf.ecp.common.ui;bundle-version="[1.21.0,1.22.0)",
+ org.eclipse.emf.ecp.ui.view;bundle-version="[1.22.0,1.23.0)";visibility:=reexport,
+ org.eclipse.emf.ecp.view.model;bundle-version="[1.22.0,1.23.0)";visibility:=reexport,
+ org.eclipse.emf.ecp.edit;bundle-version="[1.22.0,1.23.0)",
+ org.eclipse.emf.ecp.edit.swt;bundle-version="[1.22.0,1.23.0)",
+ org.eclipse.emf.ecp.view.context;bundle-version="[1.22.0,1.23.0)",
+ org.eclipse.emf.ecp.view.model.common;bundle-version="[1.22.0,1.23.0)";visibility:=reexport,
+ org.eclipse.emf.ecp.common.ui;bundle-version="[1.22.0,1.23.0)",
  org.eclipse.emf.edit;bundle-version="[2.8.0,3.0.0)",
- org.eclipse.emfforms.core.services.editsupport;bundle-version="[1.21.0,1.22.0)",
- org.eclipse.emfforms.swt.core;bundle-version="[1.21.0,1.22.0)";visibility:=reexport,
- org.eclipse.emfforms.core.bazaar;bundle-version="[1.21.0,1.22.0)"
-Import-Package: org.eclipse.core.commands;version="0.0.0",
- org.eclipse.emf.ecp.edit.spi.swt.util;version="[1.21.0,1.22.0)",
- org.eclipse.emfforms.spi.common.report;version="[1.21.0,1.22.0)",
- org.eclipse.emfforms.spi.core.services.view;version="[1.21.0,1.22.0)",
+ org.eclipse.emfforms.core.services.editsupport;bundle-version="[1.22.0,1.23.0)",
+ org.eclipse.emfforms.swt.core;bundle-version="[1.22.0,1.23.0)";visibility:=reexport,
+ org.eclipse.emfforms.core.bazaar;bundle-version="[1.22.0,1.23.0)"
+Import-Package: javax.inject;version="1.0.0",
+ org.eclipse.core.commands;version="0.0.0",
+ org.eclipse.emf.ecp.edit.spi.swt.util;version="[1.22.0,1.23.0)",
+ org.eclipse.emf.ecp.spi.view.template.service;version="[1.22.0,1.23.0)",
+ org.eclipse.emf.ecp.view.spi.label.model;version="[1.22.0,1.23.0)",
+ org.eclipse.emf.ecp.view.template.model;version="[1.22.0,1.23.0)",
+ org.eclipse.emf.ecp.view.template.style.fontProperties.model;version="[1.22.0,1.23.0)",
+ org.eclipse.emf.emfforms.spi.view.annotation.model;version="[1.22.0,1.23.0)",
+ org.eclipse.emfforms.spi.common.report;version="[1.22.0,1.23.0)",
+ org.eclipse.emfforms.spi.core.services.view;version="[1.22.0,1.23.0)",
+ org.eclipse.emfforms.spi.localization;version="[1.22.0,1.23.0)",
  org.eclipse.jface;version="0.0.0",
  org.eclipse.jface.action;version="0.0.0",
  org.eclipse.jface.dialogs;version="0.0.0",
diff --git a/bundles/org.eclipse.emf.ecp.ui.view.swt/OSGI-INF/l10n/bundle.properties b/bundles/org.eclipse.emf.ecp.ui.view.swt/OSGI-INF/l10n/bundle.properties
index d10183f..8bfd2a7 100644
--- a/bundles/org.eclipse.emf.ecp.ui.view.swt/OSGI-INF/l10n/bundle.properties
+++ b/bundles/org.eclipse.emf.ecp.ui.view.swt/OSGI-INF/l10n/bundle.properties
@@ -1,3 +1,6 @@
 #Properties file for org.eclipse.emf.ecp.ui.view.swt
 Bundle-Vendor = Eclipse Modeling Project
-Bundle-Name = SWT Renderer
\ No newline at end of file
+Bundle-Name = SWT Renderer
+
+noDetails=No selection or no details available for selection.
+renderFailed=Failed to render the view: {0}. Please see the error log for details.
diff --git a/bundles/org.eclipse.emf.ecp.ui.view.swt/OSGI-INF/org.eclipse.emf.ecp.ui.view.swt.DefaultReferenceServiceFactory.xml b/bundles/org.eclipse.emf.ecp.ui.view.swt/OSGI-INF/org.eclipse.emf.ecp.ui.view.swt.DefaultReferenceServiceFactory.xml
index c0c3e19..fda8781 100644
--- a/bundles/org.eclipse.emf.ecp.ui.view.swt/OSGI-INF/org.eclipse.emf.ecp.ui.view.swt.DefaultReferenceServiceFactory.xml
+++ b/bundles/org.eclipse.emf.ecp.ui.view.swt/OSGI-INF/org.eclipse.emf.ecp.ui.view.swt.DefaultReferenceServiceFactory.xml
@@ -9,4 +9,5 @@
    <reference bind="addEObjectSelectionStrategyProvider" cardinality="0..n" interface="org.eclipse.emf.ecp.ui.view.swt.reference.EObjectSelectionStrategy$Provider" name="EObjectSelectionStrategyProvider" policy="dynamic" unbind="removeEObjectSelectionStrategyProvider"/>
    <reference bind="addOpenInNewContextStrategyProvider" cardinality="0..n" interface="org.eclipse.emf.ecp.ui.view.swt.reference.OpenInNewContextStrategy$Provider" name="OpenInNewContextStrategyProvider" policy="dynamic" unbind="removeOpenInNewContextStrategyProvider"/>
    <reference bind="addReferenceStrategyProvider" cardinality="0..n" interface="org.eclipse.emf.ecp.ui.view.swt.reference.ReferenceStrategy$Provider" name="ReferenceStrategyProvider" policy="dynamic" unbind="removeReferenceStrategyProvider"/>
+   <reference bind="addReferenceTableColumnStrategyProvider" cardinality="0..n" interface="org.eclipse.emf.ecp.ui.view.swt.reference.SelectionCompositeStrategy$Provider" name="ReferenceTableColumnStrategyProvider" policy="dynamic" unbind="removeReferenceTableColumnStrategyProvider"/>
 </scr:component>
\ No newline at end of file
diff --git a/bundles/org.eclipse.emf.ecp.ui.view.swt/build.properties b/bundles/org.eclipse.emf.ecp.ui.view.swt/build.properties
index 625d78f..3430ec7 100644
--- a/bundles/org.eclipse.emf.ecp.ui.view.swt/build.properties
+++ b/bundles/org.eclipse.emf.ecp.ui.view.swt/build.properties
@@ -5,5 +5,6 @@
                plugin.xml,\
                schema/,\
                OSGI-INF/,\
-               about.html
+               about.html,\
+               templates/
 src.includes = about.html
diff --git a/bundles/org.eclipse.emf.ecp.ui.view.swt/plugin.xml b/bundles/org.eclipse.emf.ecp.ui.view.swt/plugin.xml
index 60a969f..1266680 100644
--- a/bundles/org.eclipse.emf.ecp.ui.view.swt/plugin.xml
+++ b/bundles/org.eclipse.emf.ecp.ui.view.swt/plugin.xml
@@ -1,8 +1,10 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.4"?>
-<plugin>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<?eclipse version="3.4"?><plugin>
    <extension-point id="renderers" name="ECP View SWT Renderer" schema="schema/renderers.exsd"/>
    <extension-point id="additionalRenderers" name="Addition Renderers" schema="schema/additionalRenderers.exsd"/>
    <extension-point id="layoutProvider" name="Layout Provider" schema="schema/layoutProvider.exsd"/>
 
+   <extension point="org.eclipse.emf.ecp.view.template">
+      <viewTemplate xmi="templates/details.template"/>
+   </extension>
 </plugin>
diff --git a/bundles/org.eclipse.emf.ecp.ui.view.swt/pom.xml b/bundles/org.eclipse.emf.ecp.ui.view.swt/pom.xml
index 7ba4453..c7d9f26 100644
--- a/bundles/org.eclipse.emf.ecp.ui.view.swt/pom.xml
+++ b/bundles/org.eclipse.emf.ecp.ui.view.swt/pom.xml
@@ -7,7 +7,7 @@
   <parent>

     <groupId>org.eclipse.emf.ecp</groupId>

     <artifactId>ecp-bundles-parent</artifactId>

-    <version>1.21.0-SNAPSHOT</version>

+    <version>1.22.0-SNAPSHOT</version>

     <relativePath>../../releng/org.eclipse.emf.ecp.releng.bundles/</relativePath>

   </parent>

 

diff --git a/bundles/org.eclipse.emf.ecp.ui.view.swt/src/org/eclipse/emf/ecp/ui/view/swt/DefaultReferenceService.java b/bundles/org.eclipse.emf.ecp.ui.view.swt/src/org/eclipse/emf/ecp/ui/view/swt/DefaultReferenceService.java
index 8072219..449d209 100644
--- a/bundles/org.eclipse.emf.ecp.ui.view.swt/src/org/eclipse/emf/ecp/ui/view/swt/DefaultReferenceService.java
+++ b/bundles/org.eclipse.emf.ecp.ui.view.swt/src/org/eclipse/emf/ecp/ui/view/swt/DefaultReferenceService.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2011-2018 EclipseSource Muenchen GmbH and others.
+ * Copyright (c) 2011-2019 EclipseSource Muenchen GmbH and others.
  *
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License 2.0
@@ -10,7 +10,7 @@
  *
  * Contributors:
  * Eugen - initial API and implementation
- * Christian W. Damus - bug 529542
+ * Christian W. Damus - bugs 529542, 547787
  ******************************************************************************/
 package org.eclipse.emf.ecp.ui.view.swt;
 
@@ -25,15 +25,18 @@
 import org.eclipse.emf.ecp.edit.spi.ReferenceService;
 import org.eclipse.emf.ecp.internal.edit.ECPControlHelper;
 import org.eclipse.emf.ecp.spi.common.ui.SelectModelElementWizardFactory;
+import org.eclipse.emf.ecp.spi.common.ui.composites.SelectionComposite;
 import org.eclipse.emf.ecp.ui.view.swt.reference.AttachmentStrategy;
 import org.eclipse.emf.ecp.ui.view.swt.reference.CreateNewModelElementStrategy;
 import org.eclipse.emf.ecp.ui.view.swt.reference.EObjectSelectionStrategy;
 import org.eclipse.emf.ecp.ui.view.swt.reference.OpenInNewContextStrategy;
 import org.eclipse.emf.ecp.ui.view.swt.reference.ReferenceStrategy;
+import org.eclipse.emf.ecp.ui.view.swt.reference.SelectionCompositeStrategy;
 import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
 import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
 import org.eclipse.emfforms.common.Optional;
 import org.eclipse.jface.dialogs.MessageDialog;
+import org.eclipse.jface.viewers.StructuredViewer;
 import org.eclipse.swt.widgets.Display;
 
 /**
@@ -83,6 +86,7 @@
 	private AttachmentStrategy attachmentStrategy = AttachmentStrategy.DEFAULT;
 	private ReferenceStrategy referenceStrategy = ReferenceStrategy.DEFAULT;
 	private OpenInNewContextStrategy openInNewContextStrategy = OpenInNewContextStrategy.DEFAULT;
+	private SelectionCompositeStrategy selectionCompositeStrategy = SelectionCompositeStrategy.DEFAULT;
 
 	@Override
 	public void instantiate(ViewModelContext context) {
@@ -159,8 +163,15 @@
 			eobjectSelectionStrategy.collectExistingObjects(eObject, eReference, elements));
 		ECPControlHelper.removeExistingReferences(eObject, eReference, elements);
 
-		final Set<EObject> addedElements = SelectModelElementWizardFactory
-			.openModelElementSelectionDialog(elements, eReference.isMany());
+		final SelectionComposite<? extends StructuredViewer> selectionComposite = selectionCompositeStrategy
+			.getSelectionViewer(eObject, eReference, elements);
+		final Set<EObject> addedElements;
+		if (selectionComposite == null) {
+			addedElements = SelectModelElementWizardFactory
+				.openModelElementSelectionDialog(elements, eReference.isMany());
+		} else {
+			addedElements = SelectModelElementWizardFactory.openModelElementSelectionDialog(selectionComposite);
+		}
 
 		// Don't invoke the Bazaar machinery to find a strategy just to add no elements
 		if (!addedElements.isEmpty()) {
@@ -242,4 +253,19 @@
 		openInNewContextStrategy = strategy;
 	}
 
+	/**
+	 * Set the strategy for creation of the table composite to present in the selection dialog.
+	 *
+	 * @param strategy a table column strategy to set
+	 *
+	 * @since 1.22
+	 */
+	void setSelectionCompositeStrategyy(SelectionCompositeStrategy strategy) {
+		if (strategy == null) {
+			strategy = SelectionCompositeStrategy.DEFAULT;
+		}
+
+		selectionCompositeStrategy = strategy;
+	}
+
 }
diff --git a/bundles/org.eclipse.emf.ecp.ui.view.swt/src/org/eclipse/emf/ecp/ui/view/swt/DefaultReferenceServiceFactory.java b/bundles/org.eclipse.emf.ecp.ui.view.swt/src/org/eclipse/emf/ecp/ui/view/swt/DefaultReferenceServiceFactory.java
index 9a760d9..b08d55b 100644
--- a/bundles/org.eclipse.emf.ecp.ui.view.swt/src/org/eclipse/emf/ecp/ui/view/swt/DefaultReferenceServiceFactory.java
+++ b/bundles/org.eclipse.emf.ecp.ui.view.swt/src/org/eclipse/emf/ecp/ui/view/swt/DefaultReferenceServiceFactory.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2011-2018 EclipseSource Muenchen GmbH and others.
+ * Copyright (c) 2011-2019 EclipseSource Muenchen GmbH and others.
  *
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License 2.0
@@ -10,7 +10,7 @@
  *
  * Contributors:
  * Eugen - initial API and implementation
- * Christian W. Damus - bug 529542
+ * Christian W. Damus - bugs 529542, 547787
  * Lucas Koehler - refactored common bazaar functionality out
  ******************************************************************************/
 package org.eclipse.emf.ecp.ui.view.swt;
@@ -25,20 +25,24 @@
 import org.eclipse.emf.ecore.EObject;
 import org.eclipse.emf.ecore.EReference;
 import org.eclipse.emf.ecp.edit.spi.ReferenceService;
+import org.eclipse.emf.ecp.spi.common.ui.composites.SelectionComposite;
 import org.eclipse.emf.ecp.ui.view.swt.reference.AttachmentStrategy;
 import org.eclipse.emf.ecp.ui.view.swt.reference.CreateNewModelElementStrategy;
 import org.eclipse.emf.ecp.ui.view.swt.reference.EObjectSelectionStrategy;
 import org.eclipse.emf.ecp.ui.view.swt.reference.OpenInNewContextStrategy;
 import org.eclipse.emf.ecp.ui.view.swt.reference.ReferenceStrategy;
 import org.eclipse.emf.ecp.ui.view.swt.reference.ReferenceStrategyUtil;
+import org.eclipse.emf.ecp.ui.view.swt.reference.SelectionCompositeStrategy;
 import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
 import org.eclipse.emfforms.bazaar.Bazaar;
+import org.eclipse.emfforms.bazaar.BazaarContext;
 import org.eclipse.emfforms.common.Optional;
 import org.eclipse.emfforms.spi.bazaar.BazaarUtil;
 import org.eclipse.emfforms.spi.core.services.view.EMFFormsViewContext;
 import org.eclipse.emfforms.spi.core.services.view.EMFFormsViewServiceFactory;
 import org.eclipse.emfforms.spi.core.services.view.EMFFormsViewServicePolicy;
 import org.eclipse.emfforms.spi.core.services.view.EMFFormsViewServiceScope;
+import org.eclipse.jface.viewers.StructuredViewer;
 import org.osgi.service.component.ComponentContext;
 import org.osgi.service.component.annotations.Activate;
 import org.osgi.service.component.annotations.Component;
@@ -67,6 +71,8 @@
 		.createBazaar(ReferenceStrategy.DEFAULT);
 	private final Bazaar<OpenInNewContextStrategy> openInNewContextStrategyBazaar = BazaarUtil.createBazaar(
 		OpenInNewContextStrategy.DEFAULT);
+	private final Bazaar<SelectionCompositeStrategy> selectionCompositeStrategyBazaar = BazaarUtil.createBazaar(
+		SelectionCompositeStrategy.DEFAULT);
 
 	/**
 	 * Initializes me.
@@ -191,6 +197,25 @@
 	}
 
 	/**
+	 * Add a selection composite strategy provider.
+	 *
+	 * @param provider the provider to add
+	 */
+	@Reference(cardinality = MULTIPLE, policy = DYNAMIC)
+	void addReferenceTableColumnStrategyProvider(SelectionCompositeStrategy.Provider provider) {
+		selectionCompositeStrategyBazaar.addVendor(provider);
+	}
+
+	/**
+	 * Remove a selection composite strategy provider.
+	 *
+	 * @param provider the provider to remove
+	 */
+	void removeReferenceTableColumnStrategyProvider(SelectionCompositeStrategy.Provider provider) {
+		selectionCompositeStrategyBazaar.removeVendor(provider);
+	}
+
+	/**
 	 * Activates me.
 	 *
 	 * @param context my component context
@@ -223,6 +248,7 @@
 			drs.setEObjectSelectionStrategy(createDynamicEObjectSelectionStrategy());
 			drs.setOpenStrategy(createDynamicOpenInNewContextStrategy());
 			drs.setReferenceStrategy(createDynamicReferenceStrategy());
+			drs.setSelectionCompositeStrategyy(createDynamicSelectionCompositeStrategy());
 
 			drs.instantiate((ViewModelContext) emfFormsViewContext);
 
@@ -311,4 +337,24 @@
 		};
 	}
 
+	private SelectionCompositeStrategy createDynamicSelectionCompositeStrategy() {
+		return new SelectionCompositeStrategy() {
+
+			@Override
+			public SelectionComposite<? extends StructuredViewer> getSelectionViewer(EObject owner,
+				EReference reference, Collection<? extends EObject> extent) {
+
+				final BazaarContext bctx = ReferenceStrategyUtil.bazaarContextBuilder(context, owner, reference)
+					.put(EXTENT, extent)
+					.build();
+
+				final SelectionCompositeStrategy delegate = selectionCompositeStrategyBazaar.createProduct(bctx);
+				if (delegate == null) {
+					return null; // Shouldn't happen
+				}
+				return delegate.getSelectionViewer(owner, reference, extent);
+			}
+		};
+	}
+
 }
diff --git a/bundles/org.eclipse.emf.ecp.ui.view.swt/src/org/eclipse/emf/ecp/ui/view/swt/RenderFailureView.java b/bundles/org.eclipse.emf.ecp.ui.view.swt/src/org/eclipse/emf/ecp/ui/view/swt/RenderFailureView.java
new file mode 100644
index 0000000..81241f1
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.ui.view.swt/src/org/eclipse/emf/ecp/ui/view/swt/RenderFailureView.java
@@ -0,0 +1,84 @@
+/*******************************************************************************
+ * Copyright (c) 2019 Christian W. Damus and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Christian W. Damus - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emf.ecp.ui.view.swt;
+
+import org.eclipse.emf.ecp.ui.view.ECPRendererException;
+import org.eclipse.emf.ecp.view.internal.swt.Activator;
+import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
+import org.eclipse.emfforms.spi.localization.EMFFormsLocalizationService;
+import org.eclipse.osgi.util.NLS;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.swt.widgets.Label;
+
+/**
+ * A specialized view presenting a rendering exception.
+ *
+ * @since 1.22
+ */
+public class RenderFailureView implements ECPSWTView {
+
+	private final ViewModelContext context;
+	private final ECPRendererException exception;
+	private final Label label;
+
+	/**
+	 * Initializes me with the {@code exception} to present.
+	 *
+	 * @param parent the parent composite in which to present the {@code exception}
+	 * @param context the view context
+	 * @param exception the rendering exception
+	 */
+	public RenderFailureView(Composite parent, ViewModelContext context, ECPRendererException exception) {
+		super();
+
+		this.context = context;
+		this.exception = exception;
+
+		final EMFFormsLocalizationService l10n = context.getService(EMFFormsLocalizationService.class);
+		final String message = NLS.bind(l10n.getString(Activator.getDefault().getBundle(), "renderFailed"), //$NON-NLS-1$
+			exception.getMessage());
+		label = new Label(parent, SWT.NONE);
+		label.setText(message);
+	}
+
+	@Override
+	public void dispose() {
+		context.dispose();
+		label.dispose();
+	}
+
+	/**
+	 * Obtains the SWT control presenting the exception.
+	 */
+	@Override
+	public Control getSWTControl() {
+		return label;
+	}
+
+	@Override
+	public ViewModelContext getViewModelContext() {
+		return context;
+	}
+
+	/**
+	 * Queries the exception that I present.
+	 *
+	 * @return the rendering exception
+	 */
+	public Throwable getException() {
+		return exception;
+	}
+}
diff --git a/bundles/org.eclipse.emf.ecp.ui.view.swt/src/org/eclipse/emf/ecp/ui/view/swt/reference/ReferenceStrategy.java b/bundles/org.eclipse.emf.ecp.ui.view.swt/src/org/eclipse/emf/ecp/ui/view/swt/reference/ReferenceStrategy.java
index 56dfee3..ca2b2b2 100644
--- a/bundles/org.eclipse.emf.ecp.ui.view.swt/src/org/eclipse/emf/ecp/ui/view/swt/reference/ReferenceStrategy.java
+++ b/bundles/org.eclipse.emf.ecp.ui.view.swt/src/org/eclipse/emf/ecp/ui/view/swt/reference/ReferenceStrategy.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2018, 2019 Christian W. Damus and others.
+ * Copyright (c) 2018-2019 Christian W. Damus and others.
  *
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License 2.0
diff --git a/bundles/org.eclipse.emf.ecp.ui.view.swt/src/org/eclipse/emf/ecp/ui/view/swt/reference/ReferenceStrategyUtil.java b/bundles/org.eclipse.emf.ecp.ui.view.swt/src/org/eclipse/emf/ecp/ui/view/swt/reference/ReferenceStrategyUtil.java
index 5348d71..5f1789b 100644
--- a/bundles/org.eclipse.emf.ecp.ui.view.swt/src/org/eclipse/emf/ecp/ui/view/swt/reference/ReferenceStrategyUtil.java
+++ b/bundles/org.eclipse.emf.ecp.ui.view.swt/src/org/eclipse/emf/ecp/ui/view/swt/reference/ReferenceStrategyUtil.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2011-2018 EclipseSource Muenchen GmbH and others.
+ * Copyright (c) 2011-2019 EclipseSource Muenchen GmbH and others.
  *
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License 2.0
@@ -10,6 +10,7 @@
  *
  * Contributors:
  * Lucas Koehler - initial API and implementation
+ * Christian W. Damus - bug 547787
  ******************************************************************************/
 package org.eclipse.emf.ecp.ui.view.swt.reference;
 
@@ -84,9 +85,26 @@
 	 * @return The configured {@link BazaarContext}
 	 */
 	public static BazaarContext createBazaarContext(ComponentContext context, EObject owner, EReference reference) {
+		return bazaarContextBuilder(context, owner, reference).build();
+	}
+
+	/**
+	 * Creates a {@link BazaarContext} builder that seeds the context with the properties of the
+	 * {@link ComponentContext}, the <code>owner</code> as a context value for class {@link EObject},
+	 * and the <code>reference</code> for class {@link EReference}.
+	 *
+	 * @param context The {@link ComponentContext}
+	 * @param owner The {@link EObject} containing a reference
+	 * @param reference The {@link EReference}
+	 * @return The configured {@link BazaarContext}
+	 *
+	 * @since 1.22
+	 */
+	public static BazaarContext.Builder bazaarContextBuilder(ComponentContext context, EObject owner,
+		EReference reference) {
 		return BazaarUtil.createBaseContext(context.getProperties())
 			.put(EObject.class, owner)
-			.put(EReference.class, reference)
-			.build();
+			.put(EReference.class, reference);
 	}
+
 }
diff --git a/bundles/org.eclipse.emf.ecp.ui.view.swt/src/org/eclipse/emf/ecp/ui/view/swt/reference/SelectionCompositeStrategy.java b/bundles/org.eclipse.emf.ecp.ui.view.swt/src/org/eclipse/emf/ecp/ui/view/swt/reference/SelectionCompositeStrategy.java
new file mode 100644
index 0000000..9cab41e
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.ui.view.swt/src/org/eclipse/emf/ecp/ui/view/swt/reference/SelectionCompositeStrategy.java
@@ -0,0 +1,75 @@
+/*******************************************************************************
+ * Copyright (c) 2019 Christian W. Damus and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Christian W. Damus - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emf.ecp.ui.view.swt.reference;
+
+import java.util.Collection;
+
+import javax.inject.Named;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EReference;
+import org.eclipse.emf.ecp.spi.common.ui.CompositeFactory;
+import org.eclipse.emf.ecp.spi.common.ui.composites.SelectionComposite;
+import org.eclipse.emfforms.bazaar.BazaarContext;
+import org.eclipse.emfforms.bazaar.Vendor;
+import org.eclipse.jface.viewers.StructuredViewer;
+
+/**
+ * Strategy for provision of the selection composite to show in the object selection dialog.
+ *
+ * @since 1.22
+ */
+public interface SelectionCompositeStrategy {
+
+	/**
+	 * The {@linkplain Named name} of a {@linkplain BazaarContext bazaar context} variable
+	 * providing the extent of objects from which to select, as a {@link Collection}.
+	 */
+	String EXTENT = "extent"; //$NON-NLS-1$
+
+	/**
+	 * The default strategy. Provides a selection table with just the label column.
+	 */
+	SelectionCompositeStrategy DEFAULT = (owner, reference, extent) -> CompositeFactory
+		.getTableSelectionComposite(extent, reference.isMany());
+
+	/**
+	 * Query the viewer to present from which the user will select object(s) to reference.
+	 *
+	 * @param owner an existing object in which a reference feature is to have references added
+	 * @param reference the reference of the {@code owner} to which objects are to be added
+	 * @param extent the collection of objects from which the user may make a selection
+	 *
+	 * @return the selection viewer composite
+	 */
+	SelectionComposite<? extends StructuredViewer> getSelectionViewer(EObject owner, EReference reference,
+		Collection<? extends EObject> extent);
+
+	//
+	// Nested types
+	//
+
+	/**
+	 * Specific Bazaar vendor interface for reference selection composite strategies. The
+	 * {@link BazaarContext} includes a value {@link Named named} {@code "extent"}.
+	 *
+	 * @since 1.22
+	 *
+	 * @see SelectionCompositeStrategy#EXTENT
+	 */
+	public interface Provider extends Vendor<SelectionCompositeStrategy> {
+		// Nothing to add to the superinterface
+	}
+
+}
diff --git a/bundles/org.eclipse.emf.ecp.ui.view.swt/src/org/eclipse/emf/ecp/view/internal/swt/ECPSWTViewImpl.java b/bundles/org.eclipse.emf.ecp.ui.view.swt/src/org/eclipse/emf/ecp/view/internal/swt/ECPSWTViewImpl.java
index 244acb2..9f16317 100644
--- a/bundles/org.eclipse.emf.ecp.ui.view.swt/src/org/eclipse/emf/ecp/view/internal/swt/ECPSWTViewImpl.java
+++ b/bundles/org.eclipse.emf.ecp.ui.view.swt/src/org/eclipse/emf/ecp/view/internal/swt/ECPSWTViewImpl.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2011-2013 EclipseSource Muenchen GmbH and others.
+ * Copyright (c) 2011-2019 EclipseSource Muenchen GmbH and others.
  *
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License 2.0
@@ -10,6 +10,7 @@
  *
  * Contributors:
  * Jonas - initial API and implementation
+ * Christian W. Damus - bug 527686
  ******************************************************************************/
 package org.eclipse.emf.ecp.view.internal.swt;
 
@@ -34,34 +35,26 @@
 	public ECPSWTViewImpl(Composite composite, ViewModelContext viewContext) {
 		this.composite = composite;
 		this.viewContext = viewContext;
+
+		composite.addDisposeListener(__ -> dispose());
+
+		// I don't own this context so I cannot dispose it, but I need it while I am active
+		viewContext.addContextUser(this);
 	}
 
-	/**
-	 * {@inheritDoc}
-	 *
-	 * @see org.eclipse.emf.ecp.ui.view.swt.ECPSWTView#getSWTControl()
-	 */
 	@Override
 	public Control getSWTControl() {
 		return composite;
 	}
 
-	/**
-	 * {@inheritDoc}
-	 *
-	 * @see org.eclipse.emf.ecp.ui.view.swt.ECPSWTView#dispose()
-	 */
 	@Override
 	public void dispose() {
-		viewContext.dispose();
+		// I don't own this context, so I cannot dispose it (unless there are no other users)
+		viewContext.removeContextUser(this);
+
 		composite.dispose();
 	}
 
-	/**
-	 * {@inheritDoc}
-	 *
-	 * @see org.eclipse.emf.ecp.ui.view.swt.ECPSWTView#getViewModelContext()
-	 */
 	@Override
 	public ViewModelContext getViewModelContext() {
 		return viewContext;
diff --git a/bundles/org.eclipse.emf.ecp.ui.view.swt/src/org/eclipse/emf/ecp/view/spi/swt/layout/PageLayout.java b/bundles/org.eclipse.emf.ecp.ui.view.swt/src/org/eclipse/emf/ecp/view/spi/swt/layout/PageLayout.java
new file mode 100644
index 0000000..6f53db3
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.ui.view.swt/src/org/eclipse/emf/ecp/view/spi/swt/layout/PageLayout.java
@@ -0,0 +1,152 @@
+/*******************************************************************************
+ * Copyright (c) 2019 Christian W. Damus and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Christian W. Damus - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emf.ecp.view.spi.swt.layout;
+
+import java.util.LinkedHashSet;
+import java.util.Set;
+
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.custom.StackLayout;
+import org.eclipse.swt.events.DisposeEvent;
+import org.eclipse.swt.events.DisposeListener;
+import org.eclipse.swt.graphics.Point;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+
+/**
+ * <p>
+ * A specialization of the {@link StackLayout} that behaves more like the layout
+ * of the {@code PageBook} control that implements paged views in Eclipse.
+ * Most importantly, it does not constrain all of its "page" controls to have
+ * the size of the largest among them.
+ * </p>
+ * <p>
+ * <strong>Note</strong> that as this class is a kind of {@link StackLayout}, it
+ * exposes a public {@link StackLayout#topControl} field. Clients should not
+ * access or modify this field directly but instead use the provided
+ * {@link #getCurrentPage()} and {@link #showPage(Control)} APIs.
+ * </p>
+ *
+ * @since 1.22
+ */
+public class PageLayout extends StackLayout {
+
+	private final Composite composite;
+	private final Set<Control> pages = new LinkedHashSet<Control>();
+	private final DisposeListener disposeListener = this::childDisposed;
+
+	/**
+	 * Initializes me with the composite for which I provide layout.
+	 *
+	 * @param composite my composite
+	 */
+	public PageLayout(Composite composite) {
+		super();
+
+		this.composite = composite;
+		composite.setLayout(this);
+	}
+
+	/**
+	 * Show the given {@code control} as the current page and re-compute the
+	 * composite's layout.
+	 *
+	 * @param control the control to show (must not be {@code null})
+	 *
+	 * @throws NullPointerException if the {@code control} is {@code null}
+	 * @throws IllegalArgumentException if the {@code control} is not a child of my composite
+	 */
+	public void showPage(Control control) {
+		if (control.getParent() != composite) {
+			throw new IllegalArgumentException("control is not in the composite"); //$NON-NLS-1$
+		}
+
+		if (topControl != control) {
+			final Control[] children = composite.getChildren();
+			for (int i = 0; i < children.length; i++) {
+				children[i].setVisible(children[i] == control);
+			}
+
+			if (pages.add(control)) {
+				control.addDisposeListener(disposeListener);
+			}
+
+			topControl = control;
+			composite.layout();
+		}
+	}
+
+	/**
+	 * Query what is the current page that I am showing.
+	 *
+	 * @return my current page, or {@code null} if none is current
+	 */
+	public Control getCurrentPage() {
+		return topControl;
+	}
+
+	@Override
+	protected Point computeSize(Composite composite, int wHint, int hHint, boolean flushCache) {
+		Control currentPage = topControl;
+		if (currentPage == null) {
+			// Just take the first control
+			currentPage = firstValidPage();
+		}
+
+		int width = 0;
+		int height = 0;
+
+		if (currentPage != null) {
+			final Point size = currentPage.computeSize(wHint, hHint, flushCache);
+			width = size.x;
+			height = size.y;
+		}
+
+		width = width + 2 * marginWidth;
+		height = height + 2 * marginHeight;
+
+		if (wHint != SWT.DEFAULT) {
+			width = wHint;
+		}
+		if (hHint != SWT.DEFAULT) {
+			height = hHint;
+		}
+
+		return new Point(width, height);
+	}
+
+	private Control firstValidPage() {
+		final Control[] children = composite.getChildren();
+		for (int i = 0; i < children.length; i++) {
+			final Control next = children[i];
+			// We use this when looking for a control that is not the top
+			// control, so filter that
+			if (!next.isDisposed() && next != topControl) {
+				return next;
+			}
+		}
+		return null;
+	}
+
+	private void childDisposed(DisposeEvent event) {
+		if (pages.remove(event.widget) && topControl == event.widget && !composite.isDisposed()) {
+			// Current page was disposed. Oops
+			final Control toShow = firstValidPage();
+			if (toShow != null) {
+				showPage(toShow);
+			}
+		}
+	}
+
+}
diff --git a/bundles/org.eclipse.emf.ecp.ui.view.swt/src/org/eclipse/emf/ecp/view/spi/swt/masterdetail/BasicDetailViewCache.java b/bundles/org.eclipse.emf.ecp.ui.view.swt/src/org/eclipse/emf/ecp/view/spi/swt/masterdetail/BasicDetailViewCache.java
new file mode 100644
index 0000000..c252296
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.ui.view.swt/src/org/eclipse/emf/ecp/view/spi/swt/masterdetail/BasicDetailViewCache.java
@@ -0,0 +1,148 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2019 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Eugen Neufeld - initial API and implementation
+ * Christian W. Damus - bug 527686
+ ******************************************************************************/
+package org.eclipse.emf.ecp.view.spi.swt.masterdetail;
+
+import java.util.ArrayList;
+import java.util.LinkedHashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.Optional;
+import java.util.function.Supplier;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecp.ui.view.swt.ECPSWTView;
+import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
+import org.eclipse.emf.ecp.view.spi.context.ViewModelContextDisposeListener;
+
+/**
+ * A default implementation of the {@link DetailViewCache} that uses the {@link EClass} as the key.
+ *
+ * @since 1.22
+ */
+public class BasicDetailViewCache implements DetailViewCache {
+
+	private final Map<EClass, Record> cache;
+
+	/**
+	 * Creates a cache with maximal 5 entries.
+	 */
+	public BasicDetailViewCache() {
+		this(5);
+	}
+
+	/**
+	 * Creates a cache with a custom number of maximal entries.
+	 *
+	 * @param maxEntries The number of maximal entries to cache
+	 */
+	public BasicDetailViewCache(final int maxEntries) {
+		cache = new LinkedHashMap<EClass, Record>(maxEntries + 1, .75F, true) {
+			private static final long serialVersionUID = 1L;
+
+			// This method is called just after a new entry has been added
+			@Override
+			public boolean removeEldestEntry(Map.Entry<EClass, Record> eldest) {
+				final boolean result = size() > maxEntries;
+				if (result) {
+					eldest.getValue().dispose();
+				}
+				return result;
+			}
+		};
+	}
+
+	@Override
+	public boolean isCached(EObject selection) {
+		return selection != null && cache.containsKey(selection.eClass());
+	}
+
+	@Override
+	public ECPSWTView getCachedView(EObject selection) {
+		return getRecord(selection).map(Supplier::get).orElse(null);
+	}
+
+	private Optional<Record> getRecord(EObject selection) {
+		return Optional.ofNullable(selection).map(EObject::eClass).map(cache::get);
+	}
+
+	@Override
+	public boolean cacheView(ECPSWTView ecpView) {
+		// Don't attempt to cache a view already disposed
+		if (ecpView == null || ecpView.getSWTControl().isDisposed()) {
+			return false;
+		}
+
+		final EClass key = ecpView.getViewModelContext().getDomainModel().eClass();
+		final Record existing = cache.get(key);
+
+		if (existing == null) {
+			// Easy. Add it
+			cache.put(key, new Record(key, ecpView));
+		} else if (existing.get() != ecpView) {
+			// Not the same view. Dispose the old
+			existing.dispose();
+			cache.put(key, new Record(key, ecpView));
+		} // Otherwise we already have cached exactly this view
+
+		return true;
+	}
+
+	@Override
+	public void clear() {
+		final List<Record> records = new ArrayList<>(cache.values());
+		cache.clear();
+		records.forEach(Record::dispose);
+	}
+
+	//
+	// Nested types
+	//
+
+	/**
+	 * Self-disposing record of the caching of a rendered view for some {@link EClass}.
+	 * Disposes itself when the view context is disposed.
+	 */
+	private final class Record implements ViewModelContextDisposeListener, Supplier<ECPSWTView> {
+
+		private final EClass eClass;
+		private final ECPSWTView ecpView;
+
+		Record(EClass eClass, ECPSWTView ecpView) {
+			super();
+
+			this.eClass = eClass;
+			this.ecpView = ecpView;
+
+			ecpView.getViewModelContext().registerDisposeListener(this);
+		}
+
+		void dispose() {
+			ecpView.dispose();
+		}
+
+		@Override
+		public ECPSWTView get() {
+			return ecpView;
+		}
+
+		@Override
+		public void contextDisposed(ViewModelContext viewModelContext) {
+			dispose();
+			cache.remove(eClass, this);
+		}
+	}
+
+}
diff --git a/bundles/org.eclipse.emf.ecp.ui.view.swt/src/org/eclipse/emf/ecp/view/spi/swt/masterdetail/DetailRenderingFunction.java b/bundles/org.eclipse.emf.ecp.ui.view.swt/src/org/eclipse/emf/ecp/view/spi/swt/masterdetail/DetailRenderingFunction.java
new file mode 100644
index 0000000..cc4ccc7
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.ui.view.swt/src/org/eclipse/emf/ecp/view/spi/swt/masterdetail/DetailRenderingFunction.java
@@ -0,0 +1,40 @@
+/*******************************************************************************
+ * Copyright (c) 2019 Christian W. Damus and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Christian W. Damus - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emf.ecp.view.spi.swt.masterdetail;
+
+import org.eclipse.emf.ecp.ui.view.ECPRendererException;
+import org.eclipse.emf.ecp.ui.view.swt.ECPSWTView;
+import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
+import org.eclipse.swt.widgets.Composite;
+
+/**
+ * Rendering function for detail views.
+ *
+ * @since 1.22
+ */
+@FunctionalInterface
+public interface DetailRenderingFunction {
+
+	/**
+	 * Creates a view with the attributes of the domain object. The layout of the view is specified by the view
+	 * model set in the view model context.
+	 *
+	 * @param parent the parent SWT composite to render the view on
+	 * @param viewModelContext the {@link ViewModelContext} to use
+	 * @return an ECPSWTView providing an interface to the rendered view
+	 * @throws ECPRendererException if there is an exception during rendering
+	 */
+	ECPSWTView render(Composite parent, ViewModelContext viewModelContext) throws ECPRendererException;
+
+}
diff --git a/bundles/org.eclipse.emf.ecp.ui.view.swt/src/org/eclipse/emf/ecp/view/spi/swt/masterdetail/DetailViewCache.java b/bundles/org.eclipse.emf.ecp.ui.view.swt/src/org/eclipse/emf/ecp/view/spi/swt/masterdetail/DetailViewCache.java
new file mode 100644
index 0000000..a59aec8
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.ui.view.swt/src/org/eclipse/emf/ecp/view/spi/swt/masterdetail/DetailViewCache.java
@@ -0,0 +1,109 @@
+/*******************************************************************************
+ * Copyright (c) 2011-2019 EclipseSource Muenchen GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Eugen Neufeld - initial API and implementation
+ * Christian W. Damus - bug 527686
+ ******************************************************************************/
+package org.eclipse.emf.ecp.view.spi.swt.masterdetail;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecp.ui.view.swt.ECPSWTView;
+import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
+
+/**
+ * A cache for the <em>Master-Detail</em> renderers that caches rendered {@link ECPSWTView}s
+ * and reuses them when switching between elements in the master viewer. Whether the cache
+ * is size-limited is implementation-dependent.
+ *
+ * @since 1.22
+ */
+public interface DetailViewCache {
+
+	/**
+	 * Name of an {@link ViewModelContext#putContextValue(String, Object) context value}
+	 * specifying the view cache to instantiate in the editor, for master-detail
+	 * renderers that support caching. May be a positive {@link Integer} value to specify
+	 * the cache size, or {@code Boolean} to enable (or not) a cache of the default size.
+	 */
+	String DETAIL_VIEW_CACHE_SIZE = "detailViewCacheSize"; //$NON-NLS-1$
+
+	/**
+	 * A cache implementation that does not cache anything. It is always empty.
+	 */
+	DetailViewCache EMPTY = new EmptyDetailViewCache();
+
+	/**
+	 * Checks whether there is already a cached view available.
+	 *
+	 * @param selection The new master object selection
+	 * @return {@code true} if there is a cached view for the provided {@code selection}; {@code false} otherwise
+	 */
+	boolean isCached(EObject selection);
+
+	/**
+	 * Returns the previously cached view for the provided selection.
+	 *
+	 * @param selection The new master object selection
+	 * @return the cached view, or {@code null} if none is cached
+	 *
+	 * @see #isCached(EObject)
+	 */
+	ECPSWTView getCachedView(EObject selection);
+
+	/**
+	 * <p>
+	 * Caches the provided {@link ECPSWTView} to allow it to be reused later, if there is
+	 * room for it the cache.
+	 * </p>
+	 * <p>
+	 * <strong>Note</strong> that a view is cached when it is no longer required, usually
+	 * because another detail view is taking its place in the editor. Consequently, if the cache
+	 * is size-limited and cannot actually cache the view, it must
+	 * {@linkplain ECPSWTView#dispose() dispose that view}.
+	 * </p>
+	 *
+	 * @param ecpView the {@link ECPSWTView} to cache
+	 *
+	 * @return {@code true} if the view was added to the cache; {@code false} otherwise (in which
+	 *         case it would be disposed)
+	 */
+	boolean cacheView(ECPSWTView ecpView);
+
+	/**
+	 * Dispose all cached views, emptying the cache. The cache must still be in
+	 * a state to be used (this is not a "dispose" operation).
+	 */
+	void clear();
+
+	/**
+	 * Create a standard cache as indicated by the {@link #DETAIL_VIEW_CACHE_SIZE} value
+	 * in the given {@code context}.
+	 *
+	 * @param context the master view model context
+	 * @return the detail view cache (never {@code null})
+	 */
+	static DetailViewCache createCache(ViewModelContext context) {
+		DetailViewCache result;
+
+		final Object value = context.getContextValue(DETAIL_VIEW_CACHE_SIZE);
+
+		if (value instanceof Boolean) {
+			result = (Boolean) value ? new BasicDetailViewCache() : EMPTY;
+		} else if (value instanceof Integer) {
+			final int intValue = (Integer) value;
+			result = intValue > 0 ? new BasicDetailViewCache(intValue) : EMPTY;
+		} else {
+			result = EMPTY;
+		}
+
+		return result;
+	}
+}
diff --git a/bundles/org.eclipse.emf.ecp.ui.view.swt/src/org/eclipse/emf/ecp/view/spi/swt/masterdetail/DetailViewManager.java b/bundles/org.eclipse.emf.ecp.ui.view.swt/src/org/eclipse/emf/ecp/view/spi/swt/masterdetail/DetailViewManager.java
new file mode 100644
index 0000000..3a6e177
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.ui.view.swt/src/org/eclipse/emf/ecp/view/spi/swt/masterdetail/DetailViewManager.java
@@ -0,0 +1,693 @@
+/*******************************************************************************
+ * Copyright (c) 2019 Christian W. Damus and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Christian W. Damus - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emf.ecp.view.spi.swt.masterdetail;
+
+import java.util.ArrayList;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+import java.util.WeakHashMap;
+import java.util.function.BiFunction;
+import java.util.function.Consumer;
+import java.util.function.Function;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.util.EcoreUtil;
+import org.eclipse.emf.ecp.ui.view.ECPRendererException;
+import org.eclipse.emf.ecp.ui.view.swt.ECPSWTView;
+import org.eclipse.emf.ecp.ui.view.swt.ECPSWTViewRenderer;
+import org.eclipse.emf.ecp.ui.view.swt.RenderFailureView;
+import org.eclipse.emf.ecp.view.internal.swt.Activator;
+import org.eclipse.emf.ecp.view.spi.context.ViewModelContext;
+import org.eclipse.emf.ecp.view.spi.context.ViewModelContextDisposeListener;
+import org.eclipse.emf.ecp.view.spi.context.ViewModelContextFactory;
+import org.eclipse.emf.ecp.view.spi.label.model.VLabel;
+import org.eclipse.emf.ecp.view.spi.label.model.VLabelFactory;
+import org.eclipse.emf.ecp.view.spi.label.model.VLabelPackage;
+import org.eclipse.emf.ecp.view.spi.model.LocalizationAdapter;
+import org.eclipse.emf.ecp.view.spi.model.VElement;
+import org.eclipse.emf.ecp.view.spi.model.VView;
+import org.eclipse.emf.ecp.view.spi.model.VViewFactory;
+import org.eclipse.emf.ecp.view.spi.model.VViewModelLoadingProperties;
+import org.eclipse.emf.ecp.view.spi.model.VViewModelProperties;
+import org.eclipse.emf.ecp.view.spi.model.util.ViewModelPropertiesHelper;
+import org.eclipse.emf.ecp.view.spi.provider.ViewProviderHelper;
+import org.eclipse.emf.ecp.view.spi.swt.layout.PageLayout;
+import org.eclipse.emf.ecp.view.spi.swt.reporting.RenderingFailedReport;
+import org.eclipse.emf.emfforms.spi.view.annotation.model.VAnnotation;
+import org.eclipse.emf.emfforms.spi.view.annotation.model.VAnnotationFactory;
+import org.eclipse.emfforms.spi.common.report.ReportService;
+import org.eclipse.emfforms.spi.localization.LocalizationServiceHelper;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.custom.ScrolledComposite;
+import org.eclipse.swt.layout.FillLayout;
+import org.eclipse.swt.layout.GridLayout;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.swt.widgets.Widget;
+
+/**
+ * A manager for the SWT renderings of detail views, with caching.
+ *
+ * @since 1.22
+ */
+public class DetailViewManager implements DetailViewCache {
+
+	/**
+	 * Name of a boolean-valued {@linkplain VViewModelProperties view model property}
+	 * indicating that the view model is being rendered as a detail in a master-detail
+	 * presentation. It is useful to distinguish this case in enablement/visibility
+	 * rules, templates, etc. from the general case of a view rendering.
+	 */
+	public static final String DETAIL_PROPERTY = "detail"; //$NON-NLS-1$
+
+	private DetailViewCache cache = DetailViewCache.EMPTY;
+
+	private final Set<ECPSWTView> views = new HashSet<>();
+	private final Composite detailStack;
+	private final PageLayout detailLayout;
+
+	/** The currently presented detail view. */
+	private ECPSWTView currentDetailView;
+
+	/** Remember intrinsic read-only state of detail views (as specified in the model). */
+	private final Map<VElement, Boolean> originalDetailViewReadOnly = new WeakHashMap<>();
+
+	/**
+	 * Encapsulation of the mechanism of the last rendering performed.
+	 * Inputs are the detail context and whether the rendering should be read-only.
+	 */
+	private BiFunction<ViewModelContext, Boolean, ECPSWTView> currentRenderer;
+
+	/** View-model properties for the detail view. */
+	private final VViewModelLoadingProperties detailProperties = VViewFactory.eINSTANCE
+		.createViewModelLoadingProperties();
+
+	private final Function<? super EObject, ? extends VView> detailViewFunction;
+
+	/** View to present when there is no detail view provided by the framework. */
+	private VView noDetails;
+	private ECPSWTView renderedNoDetails;
+
+	private String noDetailMessage;
+
+	private boolean disposed;
+
+	/**
+	 * Initializes me.
+	 *
+	 * @param parent the composite in which to create the detail container
+	 */
+	public DetailViewManager(Composite parent) {
+		this(parent, null);
+	}
+
+	/**
+	 * Initializes me with explicit detail views. When the detail function can provide a
+	 * detail view, then the framework's pluggable view providers are not consulted for it.
+	 *
+	 * @param parent the composite in which to create the detail container
+	 * @param detailView the detail-view provider function
+	 */
+	public DetailViewManager(Composite parent, Function<? super EObject, ? extends VView> detailView) {
+		super();
+
+		detailStack = new Composite(parent, SWT.NONE);
+		detailLayout = new PageLayout(detailStack);
+
+		detailProperties.addNonInheritableProperty(DETAIL_PROPERTY, true);
+		detailViewFunction = detailView != null ? detailView : __ -> null;
+
+		detailStack.addDisposeListener(__ -> dispose());
+	}
+
+	/**
+	 * Dispose of me and my UI resources.
+	 */
+	public void dispose() {
+		disposed = true;
+
+		clear();
+
+		if (renderedNoDetails != null) {
+			renderedNoDetails.dispose();
+		}
+
+		detailStack.dispose();
+	}
+
+	/**
+	 * Queries whether I have been disposed.
+	 *
+	 * @return whether I am disposed
+	 */
+	public boolean isDisposed() {
+		return disposed;
+	}
+
+	private void disposeViews() {
+		// Copy 'views' set because disposal of the contexts will try to remove from it
+		final List<ECPSWTView> toDispose = new ArrayList<>(views);
+		views.clear();
+		toDispose.forEach(ECPSWTView::dispose);
+	}
+
+	/**
+	 * Obtain the control that contains the rendered details. This is useful, for example,
+	 * to set layout parameters on it in the context of its parent composite.
+	 *
+	 * @return the container of the rendered details
+	 */
+	public Control getDetailContainer() {
+		return detailStack;
+	}
+
+	/**
+	 * Set the detail-view cache to use. If some other cache was being used, any rendered
+	 * controls that it maintained {@linkplain Widget#dispose() will be disposed}.
+	 *
+	 * @param cache the {@link DetailViewCache} to use, or {@code null} to use no cache
+	 */
+	public void setCache(DetailViewCache cache) {
+		if (cache != this.cache && this.cache != null) {
+			disposeViews();
+		}
+
+		this.cache = cache != null ? cache : DetailViewCache.EMPTY;
+	}
+
+	/**
+	 * Present the {@linkplain #isCached(EObject) previously cached} view for an object.
+	 *
+	 * @param eObject the object to present
+	 *
+	 * @return the re-rendered view
+	 *
+	 * @throws IllegalStateException if there is no view cached for the object
+	 * @see #isCached(EObject)
+	 */
+	public ECPSWTView activate(EObject eObject) {
+		cacheCurrentDetail(false);
+
+		final ECPSWTView cached = cache.getCachedView(eObject);
+
+		if (cached == null) {
+			throw new IllegalStateException("not cached"); //$NON-NLS-1$
+		}
+
+		final ViewModelContext context = cached.getViewModelContext();
+		if (context.getDomainModel() != eObject) {
+			context.changeDomainModel(eObject);
+		}
+
+		// the "renderer" function in this case shouldn't be invoked
+		final ECPSWTView result = doRender(context, (p, c) -> {
+			throw new IllegalStateException("not cached"); //$NON-NLS-1$
+		}, context.getViewModel().isReadonly());
+
+		return result;
+	}
+
+	/**
+	 * Render the detail view for a given {@code context} in the specified {@code parent} composite.
+	 * If a {@linkplain #isCached(EObject) cached rendering} is available for the domain model,
+	 * then it is re-used and the {@code context} is {@linkplain ViewModelContext#dispose() disposed}.
+	 * Otherwise, the supplied rendering function is used to render the detail view.
+	 *
+	 * @param context the context to present in the detail view
+	 * @param renderer if needed to render a new detail view control
+	 * @return the rendered view
+	 */
+	public ECPSWTView render(ViewModelContext context, DetailRenderingFunction renderer) {
+		currentRenderer = (detail, readOnly) -> doRender(detail, renderer, readOnly);
+		return currentRenderer.apply(context, context.getViewModel().isReadonly());
+	}
+
+	private ECPSWTView doRender(ViewModelContext context, DetailRenderingFunction renderer, boolean readOnly) {
+		cacheCurrentDetail(false);
+
+		final EObject domainModel = context.getDomainModel();
+		ECPSWTView result = isCached(domainModel) ? getCachedView(domainModel) : null;
+
+		if (result == null) {
+			try {
+				result = renderer.render(detailStack, context);
+				initializeOriginalReadOnly(result.getViewModelContext().getViewModel());
+			} catch (final ECPRendererException e) {
+				final ReportService reportService = context.getService(ReportService.class);
+				reportService.report(new RenderingFailedReport(e));
+
+				result = new RenderFailureView(detailStack, context, e);
+			}
+
+			// Track it for eventual disposal
+			context.registerDisposeListener(new ContextDisposeListener(result));
+		} else {
+			if (result.getViewModelContext().getDomainModel() != domainModel) {
+				result.getViewModelContext().changeDomainModel(domainModel);
+			}
+
+			if (context != result.getViewModelContext()) {
+				// Don't need this context
+				context.dispose();
+			}
+		}
+
+		setCurrentDetail(result);
+		showDetail(result.getSWTControl());
+
+		// It's currently showing, so don't track it for disposal on flushing the cache
+		views.remove(result);
+
+		return result;
+	}
+
+	private void setCurrentDetail(ECPSWTView ecpView) {
+		if (currentDetailView == ecpView) {
+			return; // Nothing to change
+		}
+
+		currentDetailView = ecpView;
+	}
+
+	private void showDetail(Control control) {
+		detailLayout.showPage(control);
+
+		// Recompute scroll layout, if applicable
+		for (Composite composite = detailStack; composite != null; composite = composite.getParent()) {
+			if (composite.getParent() instanceof ScrolledComposite) {
+				final ScrolledComposite scrollPane = (ScrolledComposite) composite.getParent();
+				if (composite == scrollPane.getContent()) {
+					scrollPane.setMinSize(composite.computeSize(SWT.DEFAULT, SWT.DEFAULT));
+				}
+				break;
+			}
+		}
+	}
+
+	/**
+	 * Render the detail view for a given {@code object} in the specified master context.
+	 *
+	 * @param masterContext the master context in which the {@code object} is selected
+	 * @param masterView the master view in which context to render the detail view
+	 * @param object the selected object for which to present the detail
+	 * @return the rendered view
+	 */
+	public ECPSWTView render(ViewModelContext masterContext, VElement masterView, EObject object) {
+		cacheCurrentDetail(false);
+
+		ECPSWTView result;
+		final VView detail = getDetailView(object);
+
+		// Set the detail view to read only if the master view is read only or disabled
+		final boolean detailReadOnly = detail.isEffectivelyReadonly() || !detail.isEffectivelyEnabled();
+		detail.setReadonly(detailReadOnly || !masterView.isEffectivelyEnabled() || masterView.isEffectivelyReadonly());
+
+		if (isCached(object)) {
+			result = activate(object);
+			result.getViewModelContext().changeDomainModel(object);
+		} else {
+			final ViewModelContext childContext = masterContext.getChildContext(object, masterView, detail);
+			result = render(childContext, ECPSWTViewRenderer.INSTANCE::render);
+		}
+
+		return result;
+	}
+
+	/**
+	 * Obtain the currently presented detail view.
+	 *
+	 * @return the current rendered detail view, or {@code null} if none
+	 */
+	public final ECPSWTView getCurrentDetail() {
+		return currentDetailView;
+	}
+
+	/**
+	 * Cache the currently presented detail view, if any, and remove it from the UI.
+	 */
+	public void cacheCurrentDetail() {
+		cacheCurrentDetail(true);
+	}
+
+	private void cacheCurrentDetail(boolean showEmpty) {
+		if (currentDetailView != null) {
+			final ECPSWTView ecpView = currentDetailView;
+			setCurrentDetail(null);
+
+			if (isDisposed()) {
+				// Just dispose the detail, then, because we can't cache it
+				ecpView.dispose();
+				// but we need to show something ...
+				showEmpty = true;
+			} else if (!cacheView(ecpView)) {
+				// The current detail view was disposed, so show this instead
+				showEmpty = true;
+			}
+
+		}
+
+		if (showEmpty && !isDisposed()) {
+			showDetail(getNoDetailsControl().getSWTControl());
+		}
+	}
+
+	/**
+	 * Set focus to the currently presented detail view.
+	 */
+	public void setFocus() {
+		if (currentDetailView != null && !currentDetailView.getSWTControl().isDisposed()) {
+			currentDetailView.getSWTControl().setFocus();
+		}
+	}
+
+	/**
+	 * Obtain the view-model properties used for loading the detail view model.
+	 * Clients may update these properties but must not change the {@link #DETAIL_PROPERTY detail property}.
+	 *
+	 * @return the view-model properties for the detail view
+	 */
+	public VViewModelProperties getDetailProperties() {
+		return detailProperties;
+	}
+
+	/**
+	 * Obtain the detail view in the context of the given master view-model context for a selected
+	 * {@code object} in the master view.
+	 *
+	 * @param masterContext the master view-model context
+	 * @param object the selection in the master view for which to get a detail view
+	 * @return the detail view
+	 */
+	public VView getDetailView(ViewModelContext masterContext, EObject object) {
+		return getDetailView(masterContext, object, null);
+	}
+
+	/**
+	 * Obtain the detail view in the context of the given master view-model context for a selected
+	 * {@code object} in the master view.
+	 *
+	 * @param masterContext the master view-model context
+	 * @param object the selection in the master view for which to get a detail view
+	 * @param propertiesManipulator an optional hook with which to inject properties to assist/filter the detail view
+	 *            model resolution
+	 *
+	 * @return the detail view
+	 */
+	public VView getDetailView(ViewModelContext masterContext, EObject object,
+		Consumer<? super VViewModelProperties> propertiesManipulator) {
+
+		final VElement viewModel = masterContext.getViewModel();
+		final VViewModelProperties properties = ViewModelPropertiesHelper
+			.getInhertitedPropertiesOrEmpty(viewModel);
+
+		// Inject client properties
+		if (propertiesManipulator != null) {
+			propertiesManipulator.accept(properties);
+		}
+
+		// Inject our properties
+		detailProperties.getNonInheritableProperties().map().forEach(properties::addNonInheritableProperty);
+		detailProperties.getInheritableProperties().map().forEach(properties::addInheritableProperty);
+
+		return ViewProviderHelper.getView(object, properties);
+	}
+
+	/**
+	 * Obtain the detail view for an {@code object} selected in the master view. This method
+	 * is useful for master-detail presentations in which the master is not managed by a
+	 * Form in a {@link ViewModelContext} but explicitly by some custom UI control.
+	 *
+	 * @param object the master view selection
+	 * @return the detail view for the {@code object}
+	 */
+	public VView getDetailView(EObject object) {
+		return getDetailView(object, getDetailProperties());
+	}
+
+	/**
+	 * Set the current detail view read-only or not, unless it is intrinsically read-only,
+	 * in which case it will remain so (this method will have no effect).
+	 *
+	 * @param readOnly {@code true} to set the detail view read-only;
+	 *            {@code false} to let its intrinsic read-only state prevail
+	 */
+	public void setDetailReadOnly(boolean readOnly) {
+		if (currentDetailView != null && !currentDetailView.getSWTControl().isDisposed()) {
+			final ViewModelContext detailContext = currentDetailView.getViewModelContext();
+			final VElement currentDetailVView = detailContext.getViewModel();
+
+			if (readOnly != currentDetailVView.isReadonly()) {
+				currentDetailVView.setReadonly(readOnly || wasOriginallyReadOnly(currentDetailVView));
+
+				// Need to rebuild the details because they can be rendered quite
+				// differently in read-only mode as in writable mode. The
+				// renderer operation will compute the new read-only state
+				if (currentRenderer != null) {
+					// Don't let this detail context be disposed by zero reference count
+					detailContext.addContextUser(currentRenderer);
+					try {
+						clear();
+						currentRenderer.apply(detailContext, readOnly);
+					} finally {
+						detailContext.removeContextUser(currentRenderer);
+					}
+				}
+			}
+
+		}
+	}
+
+	private boolean wasOriginallyReadOnly(VElement detailView) {
+		return originalDetailViewReadOnly.getOrDefault(detailView, false);
+	}
+
+	/**
+	 * Get the view provided by the framework for details of the given {@code object}.
+	 *
+	 * @param object the object for which to get the detail view
+	 * @param properties the properties to use for loading the view
+	 * @return the detail view (never {@code null}, even if the framework provides nothing)
+	 */
+	protected VView getDetailView(EObject object, VViewModelProperties properties) {
+		VView result = detailViewFunction.apply(object);
+		if (result != null) {
+			// Have an explicit view
+			result.setLoadingProperties(EcoreUtil.copy(properties));
+		} else {
+			// Go to the framework to get a provided view
+			result = ViewProviderHelper.getView(object, properties);
+
+			if (result == null) {
+				// Nothing provided. Make that clear to the user
+				result = getNoDetailView();
+				result.setLoadingProperties(EcoreUtil.copy(properties));
+			}
+		}
+
+		initializeOriginalReadOnly(result);
+
+		return result;
+	}
+
+	/**
+	 * Store the original intrinsic read-only state if this is the first we see of
+	 * the given detail view.
+	 *
+	 * @param detailView a detail view that was or will be rendered
+	 */
+	private void initializeOriginalReadOnly(VElement detailView) {
+		final boolean readOnly = detailView.isEffectivelyReadonly() || !detailView.isEffectivelyEnabled();
+		originalDetailViewReadOnly.putIfAbsent(detailView, readOnly);
+	}
+
+	/**
+	 * Obtain a view to use as placeholder when the framework provides no view for the
+	 * detail of the selection or when there is no selection.
+	 *
+	 * @return the no-details placeholder view
+	 */
+	protected VView getNoDetailView() {
+		if (noDetails == null) {
+			noDetails = VViewFactory.eINSTANCE.createView();
+			noDetails.setUuid(Integer.toHexString(noDetails.hashCode()));
+			final VLabel label = VLabelFactory.eINSTANCE.createLabel();
+			label.setUuid(Integer.toHexString(label.hashCode()));
+			label.setName("%noDetails"); //$NON-NLS-1$
+
+			// Annotate the label to let it match our styling template
+			final VAnnotation annotation = VAnnotationFactory.eINSTANCE.createAnnotation();
+			annotation.setKey("detail"); //$NON-NLS-1$
+			annotation.setValue("noDetails"); //$NON-NLS-1$
+			label.getAttachments().add(annotation);
+
+			noDetails.getChildren().add(label);
+		}
+
+		final VView result = EcoreUtil.copy(noDetails);
+		if (noDetailMessage != null) {
+			// Replace the label name
+			final VLabel label = (VLabel) EcoreUtil.getObjectByType(result.getChildren(),
+				VLabelPackage.Literals.LABEL);
+			label.setName(noDetailMessage);
+		}
+
+		result.eAdapters().add(new LocalizationAdapter() {
+
+			@Override
+			public String localize(String key) {
+				return LocalizationServiceHelper.getString(Activator.getDefault().getBundle(),
+					key);
+			}
+		});
+
+		return result;
+	}
+
+	/**
+	 * Obtain the renderer control showing a hint that there is no selection or
+	 * no details for the current selection.
+	 *
+	 * @return the no-details control
+	 */
+	protected ECPSWTView getNoDetailsControl() {
+		if (renderedNoDetails == null) {
+			final VView view = getNoDetailView();
+
+			// The view is just a static label, so it doesn't matter that it renders itself
+			final ViewModelContext context = ViewModelContextFactory.INSTANCE.createViewModelContext(view, view);
+
+			try {
+				renderedNoDetails = ECPSWTViewRenderer.INSTANCE.render(detailStack, context);
+			} catch (final ECPRendererException e) {
+				renderedNoDetails = new RenderFailureView(detailStack, context, e);
+			}
+		}
+
+		return renderedNoDetails;
+	}
+
+	/**
+	 * Apply a reasonable default layout for the parent {@code composite} of a detail container
+	 * where the only thing contained in that parent is the detail container.
+	 *
+	 * @param composite the detail parent composite
+	 * @return the {@code composite}, for convenience of call chaining
+	 */
+	public Composite layoutDetailParent(Composite composite) {
+		final FillLayout layout = new FillLayout(SWT.VERTICAL);
+
+		// Use the same margins as are defauls for the grid layout
+		final GridLayout gridLayout = new GridLayout();
+		layout.marginHeight = gridLayout.marginHeight;
+		layout.marginWidth = gridLayout.marginWidth;
+
+		composite.setLayout(layout);
+		return composite;
+	}
+
+	/**
+	 * Set a message to display to the user when there is no detail to show, either
+	 * because there is no selection in the master or because it has no details.
+	 *
+	 * @param noDetailMessage the "no details" message to set, or {@code null}
+	 *            for the default localized string
+	 *            ("No selection or no details available for selection.")
+	 */
+	public void setNoDetailMessage(String noDetailMessage) {
+		this.noDetailMessage = noDetailMessage;
+
+		// Have we already renderered the "no details" view? If so, poke it
+		if (renderedNoDetails != null) {
+			// Rebuild it
+			final boolean wasCurrent = detailLayout.getCurrentPage() == renderedNoDetails.getSWTControl();
+			renderedNoDetails.dispose();
+			renderedNoDetails = null;
+
+			if (wasCurrent) {
+				showDetail(getNoDetailsControl().getSWTControl());
+			}
+		}
+	}
+
+	//
+	// DetailViewCache protocol
+	//
+
+	@Override
+	public boolean isCached(EObject selection) {
+		return cache.isCached(selection);
+	}
+
+	@Override
+	public ECPSWTView getCachedView(EObject selection) {
+		return cache.getCachedView(selection);
+	}
+
+	@Override
+	public boolean cacheView(ECPSWTView ecpView) {
+		final Control control = ecpView.getSWTControl();
+
+		final boolean result = cache.cacheView(ecpView);
+
+		// Track it if it was successfully cached
+		if (result && !control.isDisposed()) {
+			views.add(ecpView);
+		}
+
+		return result;
+	}
+
+	@Override
+	public void clear() {
+		cacheCurrentDetail();
+		disposeViews();
+		cache.clear();
+	}
+
+	//
+	// Nested types
+	//
+
+	/**
+	 * Listener for disposal of the current view context.
+	 */
+	private final class ContextDisposeListener implements ViewModelContextDisposeListener {
+
+		private final ECPSWTView ecpView;
+
+		ContextDisposeListener(ECPSWTView ecpView) {
+			super();
+
+			this.ecpView = ecpView;
+		}
+
+		@Override
+		public void contextDisposed(ViewModelContext viewModelContext) {
+			ecpView.dispose();
+
+			if (ecpView == currentDetailView) {
+				// The current context is disposed, so this will result in
+				// its rendering being disposed and the no-details control
+				// being shown in its place
+				cacheCurrentDetail();
+			} else {
+				views.remove(ecpView);
+			}
+		}
+
+	}
+
+}
diff --git a/bundles/org.eclipse.emf.ecp.ui.view.swt/src/org/eclipse/emf/ecp/view/spi/swt/masterdetail/EmptyDetailViewCache.java b/bundles/org.eclipse.emf.ecp.ui.view.swt/src/org/eclipse/emf/ecp/view/spi/swt/masterdetail/EmptyDetailViewCache.java
new file mode 100644
index 0000000..7aef819
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.ui.view.swt/src/org/eclipse/emf/ecp/view/spi/swt/masterdetail/EmptyDetailViewCache.java
@@ -0,0 +1,55 @@
+/*******************************************************************************
+ * Copyright (c) 2019 Christian W. Damus and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Christian W. Damus - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.emf.ecp.view.spi.swt.masterdetail;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecp.ui.view.swt.ECPSWTView;
+
+/**
+ * The {@linkplain DetailViewCache#EMPTY empty detail view cache}.
+ */
+class EmptyDetailViewCache implements DetailViewCache {
+
+	/**
+	 * Initializes me.
+	 */
+	EmptyDetailViewCache() {
+		super();
+	}
+
+	@Override
+	public boolean isCached(EObject selection) {
+		return false;
+	}
+
+	@Override
+	public ECPSWTView getCachedView(EObject selection) {
+		return null;
+	}
+
+	@Override
+	public boolean cacheView(ECPSWTView ecpView) {
+		if (ecpView != null) {
+			// Dispose the view because we cannot cache it, so it would never be reused
+			ecpView.dispose();
+		}
+		return false;
+	}
+
+	@Override
+	public void clear() {
+		// I have nothing to clear
+	}
+
+}
diff --git a/bundles/org.eclipse.emf.ecp.ui.view.swt/templates/details.template b/bundles/org.eclipse.emf.ecp.ui.view.swt/templates/details.template
new file mode 100644
index 0000000..10b299f
--- /dev/null
+++ b/bundles/org.eclipse.emf.ecp.ui.view.swt/templates/details.template
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<org.eclipse.emf.ecp.view.template.model:ViewTemplate xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:org.eclipse.emf.ecp.view.template.model="http://org/eclipse/emf/ecp/view/template/model" xmlns:org.eclipse.emf.ecp.view.template.selector.annotation.model="http://www.eclipse.org/emf/ecp/view/template/selector/annotation/model" xmlns:org.eclipse.emf.ecp.view.template.selector.bool.model="http://www.eclipse.org/emf/ecp/view/template/selector/bool/model" xmlns:org.eclipse.emf.ecp.view.template.selector.viewmodelelement.model="http://www.eclipse.org/emf/ecp/view/template/selector/viewmodelelement/model" xmlns:org.eclipse.emf.ecp.view.template.style.fontProperties.model="http://www.eclipse.org/emf/ecp/view/template/style/fontProperties/model" xmlns:org.eclipse.emf.ecp.view.template.style.wrap.model="http://www.eclipse.org/emf/ecp/view/template/style/wrap/model">
+  <styles>
+    <selector xsi:type="org.eclipse.emf.ecp.view.template.selector.bool.model:AndSelector">
+      <selectors xsi:type="org.eclipse.emf.ecp.view.template.selector.viewmodelelement.model:ViewModelElementSelector">
+        <classType href="http://org/eclipse/emf/ecp/view/label/model#//Label"/>
+      </selectors>
+      <selectors xsi:type="org.eclipse.emf.ecp.view.template.selector.annotation.model:AnnotationSelector" key="detail" value="noDetails"/>
+    </selector>
+    <properties xsi:type="org.eclipse.emf.ecp.view.template.style.fontProperties.model:FontPropertiesStyleProperty" bold="true" colorHEX="b3b3b3" height="14"/>
+    <properties xsi:type="org.eclipse.emf.ecp.view.template.style.wrap.model:LabelWrapStyleProperty" wrapLabel="true"/>
+  </styles>
+</org.eclipse.emf.ecp.view.template.model:ViewTemplate>
diff --git a/bundles/org.eclipse.emf.ecp.ui.view/.project b/bundles/org.eclipse.emf.ecp.ui.view/.project
index 2625985..d08f2ab 100644
--- a/bundles/org.eclipse.emf.ecp.ui.view/.project
+++ b/bundles/org.eclipse.emf.ecp.ui.view/.project
@@ -46,6 +46,5 @@
 		<nature>org.eclipse.jdt.core.javanature</nature>

 		<nature>net.sf.eclipsecs.core.CheckstyleNature</nature>

 		<nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature>

-		<nature>com.wuetherich.osgi.ds.annotations.dsAnnotationNature</nature>

 	</natures>

 </projectDescription>

diff --git a/bundles/org.eclipse.emf.ecp.ui.view/.settings/org.eclipse.pde.api.tools.prefs b/bundles/org.eclipse.emf.ecp.ui.view/.settings/org.eclipse.pde.api.tools.prefs
index e4e3c00..cfb400b 100644
--- a/bundles/org.eclipse.emf.ecp.ui.view/.settings/org.eclipse.pde.api.tools.prefs
+++ b/bundles/org.eclipse.emf.ecp.ui.view/.settings/org.eclipse.pde.api.tools.prefs
@@ -1,3 +1,4 @@
+ANNOTATION_ELEMENT_TYPE_ADDED_FIELD=Error
 ANNOTATION_ELEMENT_TYPE_ADDED_METHOD_WITHOUT_DEFAULT_VALUE=Error
 ANNOTATION_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
 ANNOTATION_ELEMENT_TYPE_REMOVED_FIELD=Error
@@ -10,6 +11,7 @@
 API_USE_SCAN_FIELD_SEVERITY=Error
 API_USE_SCAN_