diff --git a/org.eclipse.debug.ui/.settings/.api_filters b/org.eclipse.debug.ui/.settings/.api_filters
index 24d291f..451db1a 100644
--- a/org.eclipse.debug.ui/.settings/.api_filters
+++ b/org.eclipse.debug.ui/.settings/.api_filters
@@ -3,7 +3,7 @@
     <resource path="META-INF/MANIFEST.MF">
         <filter id="924844039">
             <message_arguments>
-                <message_argument value="3.11.200"/>
+                <message_argument value="3.11.201"/>
                 <message_argument value="3.11.200"/>
             </message_arguments>
         </filter>
@@ -56,36 +56,6 @@
             </message_arguments>
         </filter>
     </resource>
-    <resource path="ui/org/eclipse/debug/ui/DebugUITools.java" type="org.eclipse.debug.ui.DebugUITools">
-        <filter id="1141899266">
-            <message_arguments>
-                <message_argument value="3.12"/>
-                <message_argument value="3.11"/>
-                <message_argument value="launch(ILaunchConfiguration, String, boolean)"/>
-            </message_arguments>
-        </filter>
-        <filter id="1141899266">
-            <message_arguments>
-                <message_argument value="3.12"/>
-                <message_argument value="3.11"/>
-                <message_argument value="reLaunch(ILaunchConfiguration, String)"/>
-            </message_arguments>
-        </filter>
-        <filter id="1141899266">
-            <message_arguments>
-                <message_argument value="3.12"/>
-                <message_argument value="3.11"/>
-                <message_argument value="removeLaunchToggleTerminate(Object)"/>
-            </message_arguments>
-        </filter>
-        <filter id="1141899266">
-            <message_arguments>
-                <message_argument value="3.12"/>
-                <message_argument value="3.11"/>
-                <message_argument value="storeLaunchToggleTerminate(Object, Object)"/>
-            </message_arguments>
-        </filter>
-    </resource>
     <resource path="ui/org/eclipse/debug/ui/actions/AbstractLaunchHistoryAction.java" type="org.eclipse.debug.ui.actions.AbstractLaunchHistoryAction">
         <filter comment="Known leaked internal types" id="576725006">
             <message_arguments>
@@ -100,28 +70,5 @@
                 <message_argument value="getLaunchHistory()"/>
             </message_arguments>
         </filter>
-        <filter id="1141899266">
-            <message_arguments>
-                <message_argument value="3.12"/>
-                <message_argument value="3.11"/>
-                <message_argument value="runInternal(IAction, boolean)"/>
-            </message_arguments>
-        </filter>
-    </resource>
-    <resource path="ui/org/eclipse/debug/ui/actions/RelaunchLastAction.java" type="org.eclipse.debug.ui.actions.RelaunchLastAction">
-        <filter id="1141899266">
-            <message_arguments>
-                <message_argument value="3.12"/>
-                <message_argument value="3.11"/>
-                <message_argument value="init(IAction)"/>
-            </message_arguments>
-        </filter>
-        <filter id="1141899266">
-            <message_arguments>
-                <message_argument value="3.12"/>
-                <message_argument value="3.11"/>
-                <message_argument value="runWithEvent(IAction, Event)"/>
-            </message_arguments>
-        </filter>
     </resource>
 </component>
diff --git a/org.eclipse.debug.ui/META-INF/MANIFEST.MF b/org.eclipse.debug.ui/META-INF/MANIFEST.MF
index 3dced02..7aedcb2 100644
--- a/org.eclipse.debug.ui/META-INF/MANIFEST.MF
+++ b/org.eclipse.debug.ui/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %pluginName
 Bundle-SymbolicName: org.eclipse.debug.ui; singleton:=true
-Bundle-Version: 3.11.200.qualifier
+Bundle-Version: 3.11.201.qualifier
 Bundle-Activator: org.eclipse.debug.internal.ui.DebugUIPlugin
 Bundle-Vendor: %providerName
 Bundle-Localization: plugin
diff --git a/org.eclipse.debug.ui/pom.xml b/org.eclipse.debug.ui/pom.xml
index 5a87f44..43609ac 100644
--- a/org.eclipse.debug.ui/pom.xml
+++ b/org.eclipse.debug.ui/pom.xml
@@ -18,7 +18,7 @@
   </parent>
   <groupId>org.eclipse.debug</groupId>
   <artifactId>org.eclipse.debug.ui</artifactId>
-  <version>3.11.200-SNAPSHOT</version>
+  <version>3.11.201-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
   <properties>
     <code.ignoredWarnings>-warn:+resource,-deprecation,unavoidableGenericProblems</code.ignoredWarnings>
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/DebugUITools.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/DebugUITools.java
index 6b80485..f477790 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/DebugUITools.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/DebugUITools.java
@@ -789,7 +789,7 @@
 	 * @param data the editor or selected tree node
 	 * @param isShift is Shift pressed (use <code>false</code> if no support for
 	 *            Shift)
-	 * @since 3.12
+	 * @since 3.11
 	 */
 	public static void storeLaunchToggleTerminate(Object data, Object isShift) {
 		synchronized (fgLaunchToggleTerminateMap) {
@@ -802,7 +802,7 @@
 	 * decide if previous launch for same configuration can be terminated.
 	 * 
 	 * @param data the editor or selected tree node
-	 * @since 3.12
+	 * @since 3.11
 	 */
 	public static void removeLaunchToggleTerminate(Object data) {
 		synchronized (fgLaunchToggleTerminateMap) {
@@ -911,7 +911,7 @@
 	 * 
 	 * @param configuration the configuration to launch
 	 * @param mode launch mode - run or debug
-	 * @since 3.12
+	 * @since 3.11
 	 */
 	public static void reLaunch(final ILaunchConfiguration configuration, final String mode) {
 		boolean launchInBackground = true;
@@ -942,7 +942,7 @@
 	 * @param mode launch mode - run or debug
 	 * @param isShift is Shift pressed (use <code>false</code> if no support for
 	 *            Shift)
-	 * @since 3.12
+	 * @since 3.11
 	 */
 	public static void launch(final ILaunchConfiguration configuration, final String mode, boolean isShift) {
 		if (DebugUIPlugin.getDefault().getPreferenceStore().getBoolean(IInternalDebugUIConstants.PREF_TERMINATE_AND_RELAUNCH_LAUNCH_ACTION) != isShift) {
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/AbstractLaunchHistoryAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/AbstractLaunchHistoryAction.java
index 65590c8..3f1f4ee 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/AbstractLaunchHistoryAction.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/AbstractLaunchHistoryAction.java
@@ -421,7 +421,7 @@
 	}
 
 	/**
-	 * @since 3.12
+	 * @since 3.11
 	 */
 	protected void runInternal(IAction action, boolean isShift) {
 		run(action);
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/RelaunchLastAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/RelaunchLastAction.java
index 3de0d72..ac239c4 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/RelaunchLastAction.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/RelaunchLastAction.java
@@ -103,7 +103,7 @@
 	 * org.eclipse.ui.IActionDelegate2#init(org.eclipse.jface.action.IAction)
 	 */
 	/**
-	 * @since 3.12
+	 * @since 3.11
 	 */
 	@Override
 	public void init(IAction action) {
@@ -130,7 +130,7 @@
 	 */
 
 	/**
-	 * @since 3.12
+	 * @since 3.11
 	 */
 	@Override
 	public void runWithEvent(IAction action, Event event) {
