diff --git a/features/org.eclipse.oomph.all-feature/feature.xml b/features/org.eclipse.oomph.all-feature/feature.xml
index 27ebe1b..3e3b028 100644
--- a/features/org.eclipse.oomph.all-feature/feature.xml
+++ b/features/org.eclipse.oomph.all-feature/feature.xml
@@ -12,7 +12,7 @@
 <feature
       id="org.eclipse.oomph.all"
       label="%featureName"
-      version="1.18.0.qualifier"
+      version="1.19.0.qualifier"
       provider-name="%providerName"
       license-feature="org.eclipse.oomph.license"
       license-feature-version="0.0.0">
diff --git a/features/org.eclipse.oomph.all-feature/pom.xml b/features/org.eclipse.oomph.all-feature/pom.xml
index 036806a..53477a3 100644
--- a/features/org.eclipse.oomph.all-feature/pom.xml
+++ b/features/org.eclipse.oomph.all-feature/pom.xml
@@ -22,7 +22,7 @@
 
   <groupId>org.eclipse.oomph.features</groupId>
   <artifactId>org.eclipse.oomph.all</artifactId>
-  <version>1.18.0-SNAPSHOT</version>
+  <version>1.19.0-SNAPSHOT</version>
   <packaging>eclipse-feature</packaging>
 
 </project>
diff --git a/features/org.eclipse.oomph.setup.installer-feature/feature.xml b/features/org.eclipse.oomph.setup.installer-feature/feature.xml
index d046f6c..41be570 100644
--- a/features/org.eclipse.oomph.setup.installer-feature/feature.xml
+++ b/features/org.eclipse.oomph.setup.installer-feature/feature.xml
@@ -12,7 +12,7 @@
 <feature
       id="org.eclipse.oomph.setup.installer"
       label="%featureName"
-      version="1.18.0.qualifier"
+      version="1.19.0.qualifier"
       provider-name="%providerName"
       license-feature="org.eclipse.oomph.license"
       license-feature-version="0.0.0">
diff --git a/features/org.eclipse.oomph.setup.installer-feature/pom.xml b/features/org.eclipse.oomph.setup.installer-feature/pom.xml
index de52f67..f707469 100644
--- a/features/org.eclipse.oomph.setup.installer-feature/pom.xml
+++ b/features/org.eclipse.oomph.setup.installer-feature/pom.xml
@@ -22,7 +22,7 @@
 
   <groupId>org.eclipse.oomph.features</groupId>
   <artifactId>org.eclipse.oomph.setup.installer</artifactId>
-  <version>1.18.0-SNAPSHOT</version>
+  <version>1.19.0-SNAPSHOT</version>
   <packaging>eclipse-feature</packaging>
 
   <build>
diff --git a/features/org.eclipse.oomph.util-feature/feature.xml b/features/org.eclipse.oomph.util-feature/feature.xml
index 2648215..78741e5 100644
--- a/features/org.eclipse.oomph.util-feature/feature.xml
+++ b/features/org.eclipse.oomph.util-feature/feature.xml
@@ -12,7 +12,7 @@
 <feature
       id="org.eclipse.oomph.util"
       label="%featureName"
-      version="1.17.0.qualifier"
+      version="1.18.0.qualifier"
       provider-name="%providerName"
       license-feature="org.eclipse.oomph.license"
       license-feature-version="0.0.0">
diff --git a/features/org.eclipse.oomph.util-feature/pom.xml b/features/org.eclipse.oomph.util-feature/pom.xml
index da5d29c..d65bf95 100644
--- a/features/org.eclipse.oomph.util-feature/pom.xml
+++ b/features/org.eclipse.oomph.util-feature/pom.xml
@@ -20,6 +20,6 @@
   </parent>
   <groupId>org.eclipse.oomph.features</groupId>
   <artifactId>org.eclipse.oomph.util</artifactId>
-  <version>1.17.0-SNAPSHOT</version>
+  <version>1.18.0-SNAPSHOT</version>
   <packaging>eclipse-feature</packaging>
 </project>
diff --git a/plugins/org.eclipse.oomph.setup.installer/META-INF/MANIFEST.MF b/plugins/org.eclipse.oomph.setup.installer/META-INF/MANIFEST.MF
index 48d5c2c..bb0a565 100644
--- a/plugins/org.eclipse.oomph.setup.installer/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.oomph.setup.installer/META-INF/MANIFEST.MF
@@ -1,7 +1,7 @@
 Manifest-Version: 1.0
 Bundle-ManifestVersion: 2
 Bundle-SymbolicName: org.eclipse.oomph.setup.installer;singleton:=true
-Bundle-Version: 1.18.0.qualifier
+Bundle-Version: 1.19.0.qualifier
 Bundle-ClassPath: .
 Bundle-Name: %pluginName
 Bundle-Vendor: %providerName
@@ -35,5 +35,5 @@
  org.eclipse.equinox.security.ui;bundle-version="[1.1.0,2.0.0)"
 Bundle-RequiredExecutionEnvironment: J2SE-1.5
 Bundle-ActivationPolicy: lazy
-Export-Package: org.eclipse.oomph.setup.internal.installer;version="1.18.0";x-internal:=true
+Export-Package: org.eclipse.oomph.setup.internal.installer;version="1.19.0";x-internal:=true
 Automatic-Module-Name: org.eclipse.oomph.setup.installer
diff --git a/plugins/org.eclipse.oomph.setup.installer/ProductCatalogGenerator.launch b/plugins/org.eclipse.oomph.setup.installer/ProductCatalogGenerator.launch
index 37a985f..2efc789 100644
--- a/plugins/org.eclipse.oomph.setup.installer/ProductCatalogGenerator.launch
+++ b/plugins/org.eclipse.oomph.setup.installer/ProductCatalogGenerator.launch
@@ -23,7 +23,7 @@
     </listAttribute>
     <booleanAttribute key="org.eclipse.jdt.launching.ATTR_USE_START_ON_FIRST_THREAD" value="true"/>
     <stringAttribute key="org.eclipse.jdt.launching.JRE_CONTAINER" value="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-11"/>
-    <stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-os ${target.os} -ws ${target.ws} -arch ${target.arch} -nl ${target.nl} -consoleLog &#13;&#10;-outputLocation ${file_uri:${resource_loc:/setups/org.eclipse.products.setup}}&#13;&#10;-xstaging 2020-09  &#13;&#10;http://download.eclipse.org/technology/epp/packages/2020-09/M1&#13;&#10;http://download.eclipse.org/releases/2020-09/202007171000&#13;&#10;-useComposite 2020-09&#13;&#10;-xlatestReleased&#13;&#10;-brandingNotification&#13;&#10;-xsiteURI https://www.eclipse.org/downloads/packages/release/2020-06/r&#13;&#10;-xactual"/>
+    <stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-os ${target.os} -ws ${target.ws} -arch ${target.arch} -nl ${target.nl} -consoleLog &#13;&#10;-outputLocation ${file_uri:${resource_loc:/setups/org.eclipse.products.setup}}&#13;&#10;-xstaging 2020-09  &#13;&#10;http://download.eclipse.org/technology/epp/packages/2020-09/202009101200&#13;&#10;http://download.eclipse.org/releases/2020-09/202009161000&#13;&#10;http://download.eclipse.org/eclipse/updates/4.17/R-4.17-202009021800&#13;&#10;-useComposite 2020-12&#13;&#10;-xlatestReleased&#13;&#10;-brandingNotification&#13;&#10;-xsiteURI https://www.eclipse.org/downloads/packages/release/2020-09/r&#13;&#10;-xactual"/>
     <stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.pde.ui.workbenchClasspathProvider"/>
     <stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Declipse.p2.mirrors=false&#13;&#10;-Dxorg.eclipse.ecf.provider.filetransfer.excludeContributors=org.eclipse.ecf.provider.filetransfer.httpclient45&#13;&#10;-Doomph.p2.repository.retry=2&#13;&#10;-Dxorg.eclipse.ecf.core.util.traceAll=true&#13;&#10;-Dxorg.apache.commons.logging.Log=org.apache.commons.logging.impl.SimpleLog&#13;&#10;-Dxorg.apache.commons.logging.simplelog.showdatetime=true&#13;&#10;-Dxorg.apache.commons.logging.simplelog.log.org.apache.http=DEBUG&#13;&#10;-Dxorg.apache.commons.logging.simplelog.log.org.apache.http.wire=ERROR&#13;&#10;-Duser.home=${system_property:user.home}"/>
     <stringAttribute key="pde.version" value="3.3"/>
diff --git a/plugins/org.eclipse.oomph.setup.installer/pom.xml b/plugins/org.eclipse.oomph.setup.installer/pom.xml
index 5d0530d..5b01d67 100644
--- a/plugins/org.eclipse.oomph.setup.installer/pom.xml
+++ b/plugins/org.eclipse.oomph.setup.installer/pom.xml
@@ -20,7 +20,7 @@
   </parent>
   <groupId>org.eclipse.oomph</groupId>
   <artifactId>org.eclipse.oomph.setup.installer</artifactId>
-  <version>1.18.0-SNAPSHOT</version>
+  <version>1.19.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
 
   <build>
diff --git a/plugins/org.eclipse.oomph.setup.installer/src/org/eclipse/oomph/setup/internal/installer/ProductCatalogGenerator.java b/plugins/org.eclipse.oomph.setup.installer/src/org/eclipse/oomph/setup/internal/installer/ProductCatalogGenerator.java
index 0b01792..1b50cf6 100644
--- a/plugins/org.eclipse.oomph.setup.installer/src/org/eclipse/oomph/setup/internal/installer/ProductCatalogGenerator.java
+++ b/plugins/org.eclipse.oomph.setup.installer/src/org/eclipse/oomph/setup/internal/installer/ProductCatalogGenerator.java
@@ -285,7 +285,7 @@
   private String[] getTrains()
   {
     return new String[] { "juno", "kepler", "luna", "mars", "neon", "oxygen", "photon", "2018-09", "2018-12", "2019-03", "2019-06", "2019-09", "2019-12",
-        "2020-03", "2020-06", "2020-09" };
+        "2020-03", "2020-06", "2020-09", "2020-12" };
   }
 
   private URI getEclipsePlatformSite(String train)
@@ -653,8 +653,7 @@
 
       URI effectiveEPPURI = isStaging ? stagingEPPLocation : eppURI;
       IMetadataRepository eppMetaDataRepository = manager.loadRepository(new java.net.URI(effectiveEPPURI.toString()), null);
-      IMetadataRepository latestEPPMetaDataRepository = isStaging && stagingUseComposite || compositeTrains.contains(train) || !isLatestReleased()
-          ? eppMetaDataRepository
+      IMetadataRepository latestEPPMetaDataRepository = isStaging && stagingUseComposite || compositeTrains.contains(train) ? eppMetaDataRepository
           : getLatestRepository(manager, eppMetaDataRepository);
       if (latestEPPMetaDataRepository != eppMetaDataRepository)
       {
diff --git a/plugins/org.eclipse.oomph.util/META-INF/MANIFEST.MF b/plugins/org.eclipse.oomph.util/META-INF/MANIFEST.MF
index 2aba937..69ad467 100644
--- a/plugins/org.eclipse.oomph.util/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.oomph.util/META-INF/MANIFEST.MF
@@ -1,7 +1,7 @@
 Manifest-Version: 1.0
 Bundle-ManifestVersion: 2
 Bundle-SymbolicName: org.eclipse.oomph.util;singleton:=true
-Bundle-Version: 1.15.0.qualifier
+Bundle-Version: 1.16.0.qualifier
 Bundle-Name: %pluginName
 Bundle-Vendor: %providerName
 Bundle-Localization: plugin
@@ -13,8 +13,8 @@
  org.apache.httpcomponents.httpclient;bundle-version="[4.0.0,5.0.0)",
  org.eclipse.emf.common;bundle-version="[2.10.0,3.0.0)";visibility:=reexport
 Import-Package: org.osgi.framework;version="[1.3.0,2.0.0)"
-Export-Package: org.eclipse.oomph.internal.util;version="1.15.0";x-internal:=true,
- org.eclipse.oomph.internal.util.table;version="1.15.0";x-internal:=true,
- org.eclipse.oomph.util;version="1.15.0";x-internal:=true
+Export-Package: org.eclipse.oomph.internal.util;version="1.16.0";x-internal:=true,
+ org.eclipse.oomph.internal.util.table;version="1.16.0";x-internal:=true,
+ org.eclipse.oomph.util;version="1.16.0";x-internal:=true
 Eclipse-BuddyPolicy: registered
 Automatic-Module-Name: org.eclipse.oomph.util
diff --git a/plugins/org.eclipse.oomph.util/pom.xml b/plugins/org.eclipse.oomph.util/pom.xml
index 771ba31..040e9f8 100644
--- a/plugins/org.eclipse.oomph.util/pom.xml
+++ b/plugins/org.eclipse.oomph.util/pom.xml
@@ -20,7 +20,7 @@
   </parent>
   <groupId>org.eclipse.oomph</groupId>
   <artifactId>org.eclipse.oomph.util</artifactId>
-  <version>1.15.0-SNAPSHOT</version>
+  <version>1.16.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
 
   <build>
diff --git a/plugins/org.eclipse.oomph.util/src/org/eclipse/oomph/util/MonitorUtil.java b/plugins/org.eclipse.oomph.util/src/org/eclipse/oomph/util/MonitorUtil.java
index 0016bb7..d06e731 100644
--- a/plugins/org.eclipse.oomph.util/src/org/eclipse/oomph/util/MonitorUtil.java
+++ b/plugins/org.eclipse.oomph.util/src/org/eclipse/oomph/util/MonitorUtil.java
@@ -11,7 +11,6 @@
 package org.eclipse.oomph.util;
 
 import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IProgressMonitorWithBlocking;
 
 /**
  * Various static helper methods for dealing progress monitors.
@@ -25,7 +24,7 @@
   }
 
   @SuppressWarnings("all")
-  public static IProgressMonitorWithBlocking create(IProgressMonitor monitor, int ticks)
+  public static org.eclipse.core.runtime.IProgressMonitorWithBlocking create(IProgressMonitor monitor, int ticks)
   {
     return new org.eclipse.core.runtime.SubProgressMonitor(monitor, ticks);
   }
diff --git a/plugins/org.eclipse.oomph.util/src/org/eclipse/oomph/util/SubMonitor.java b/plugins/org.eclipse.oomph.util/src/org/eclipse/oomph/util/SubMonitor.java
index 336c24e..15ecfb6 100644
--- a/plugins/org.eclipse.oomph.util/src/org/eclipse/oomph/util/SubMonitor.java
+++ b/plugins/org.eclipse.oomph.util/src/org/eclipse/oomph/util/SubMonitor.java
@@ -90,6 +90,7 @@
  *
  * @author Eike Stepper
  */
+@SuppressWarnings("deprecation")
 public class SubMonitor implements IProgressMonitorWithBlocking
 {
   /**
diff --git a/products/org.eclipse.oomph.setup.installer.product/Installer.product b/products/org.eclipse.oomph.setup.installer.product/Installer.product
index 5f5d65b..59ffd68 100644
--- a/products/org.eclipse.oomph.setup.installer.product/Installer.product
+++ b/products/org.eclipse.oomph.setup.installer.product/Installer.product
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <?pde version="3.5"?>
 
-<product name="Eclipse Installer" uid="org.eclipse.oomph.setup.installer.product" id="org.eclipse.oomph.setup.installer.product" application="org.eclipse.oomph.setup.installer.application" version="1.18.0.qualifier" useFeatures="true" includeLaunchers="true">
+<product name="Eclipse Installer" uid="org.eclipse.oomph.setup.installer.product" id="org.eclipse.oomph.setup.installer.product" application="org.eclipse.oomph.setup.installer.application" version="1.19.0.qualifier" useFeatures="true" includeLaunchers="true">
 
    <configIni use="">
    </configIni>
diff --git a/products/org.eclipse.oomph.setup.installer.product/pom.xml b/products/org.eclipse.oomph.setup.installer.product/pom.xml
index d347f6c..9fa601d 100644
--- a/products/org.eclipse.oomph.setup.installer.product/pom.xml
+++ b/products/org.eclipse.oomph.setup.installer.product/pom.xml
@@ -15,7 +15,7 @@
 
   <groupId>org.eclipse.oomph</groupId>
   <artifactId>org.eclipse.oomph.setup.installer.product</artifactId>
-  <version>1.18.0-SNAPSHOT</version>
+  <version>1.19.0-SNAPSHOT</version>
   <packaging>eclipse-repository</packaging>
 
   <parent>
