Deprecated API removals

Deprecated API can be marked for deletion. See the policy for the details. This section describes API removals that occurred in past releases, and upcoming removals in future releases.

Overview of removed API

Removed APIs in the Neon (4.6) release:

  1. Eclipse 2.0 runtime model and boot API

Removed APIs in the Oxygen (4.7) release:

  1. org.eclipse.jface.util.ListenerList

Removed APIs in the Photon (4.8) release:

  1. Update manager
  2. Platform methods
  3. org.eclipse.ui.views.tasklist.TaskList
  4. IContextComputer

Removed APIs in the Eclipse 4.10 release:

  1. TableTree and TableTreeViewer

Removed APIs in the Eclipse 4.11 release:

  1. ImageAndMessageArea from JFace

Removed APIs in the Eclipse 4.12 release:

  1. IPluginDescriptor
  2. TableTree

Removed APIs in the Eclipse 4.17 release:

  1. Remove Input and MInputPart
  2. org.eclipse.core.runtime.Platform#getJobManager()
  3. JFace and JFace text Assert

Removed APIs in the Eclipse 4.20 release:

  1. Delete Job.createSystem(ICoreRunnable) API
  2. Remove org.eclipse.core.runtime.IPlatformRunnable
  3. Remove org.eclipse.pde.ui.targetProvisioners extension point
  4. Delete 2.0 plug-in compatibility classes and related API

Overview of planned API removals

Planned API removals after June 2017:

  1. Platform authorization API

Planned API removals after June 2018:

  1. org.eclipse.ui.cocoa.fullscreenWindow

Planned API removals after June 2020:

  1. Remove Dirtable flag from MPartDescriptor
  2. Remove deprecated dialogs from org.eclipse.ui.dialogs
  3. Remove deprecated method and constructor in PopupDialog

Planned API removals after March 2021:

  1. org.eclipse.core.commands.util package
  2. org.eclipse.ui.editors.text.EncodingActionGroup
  3. org.eclipse.core.launcher#Main and WebStartMain
  4. Delete unsupported methods in WorkbenchWindowConfigurer

Planned API removals after June 2021:

  1. Delete deprecated contents of org.eclipse.ui.commands package

Planned API removals after September 2021:

  1. Navigator view and related API

Planned API removals after December 2021:

  1. Bookmark view and related API

Planned API removals after June 2022:

  1. ICU4J bundle from SDK

Planned API removals after September 2022:

  1. Remove deprecated contents of org.eclipse.pde.ui.launcher package
  2. Remove TargetPlatform::createPlatformConfiguration

Planned API removals after March 2023:

  1. MultiPageEditor
  2. Pack200

Planned API removals after September 2023:

  1. Classic Search API

API removals in the Eclipse 4.6 release

1. Eclipse 2.0 runtime model and boot API

When the Eclipse runtime transitioned to use OSGi as its implementation, some existing APIs for interacting with the old runtime were deprecated and moved to a compatibility fragment (org.eclipse.core.runtime.compatibility). All API that was still valid was moved elsewhere. These APIs have been non-functional since Eclipse 3.0 and will therefore be removed in the future. The following packages will be removed:

The compatibility fragment, org.eclipse.core.runtime.compatibility will also be removed. As a consequence org.eclipse.ui.startup extensions will no longer work if they do not specify a class that implements org.eclipse.ui.IStartup.

For further details or to provide feedback on this change, see bug 370248.

API removals in the Eclipse 4.7 release

1. org.eclipse.jface.util.ListenerList

The org.eclipse.jface.util.ListenerList class is deprecated since 2005 and has been replaced by org.eclipse.core.runtime.ListenerList with org.eclipse.core.runtime.ListenerList.IDENTITY as argument. The org.eclipse.jface.util.ListenerList class is planned to get deleted.

For further details or to provide feedback on this change, see bug 436448.

API removals in the Eclipse 4.8 release

1. Update Manager

Bundle org.eclipse.update.core from the old update manager API was removed. This API was marked for deletion in the 4.2. release via bug 311590.

2. Methods in Platform deleted

Platform API as announced for Eclipse 4.2 was deleted. This API was marked for deletion in the 4.2. release via bug 476404. The following methods are removed:

3. org.eclipse.ui.views.tasklist.TaskList

The org.eclipse.ui.views.tasklist.TaskList class is deprecated since Eclipse 3.4 and has been replaced by MarkerSupportView. The org.eclipse.ui.views.tasklist.TaskList class and related classes only used by this class are planned to get deleted.

For further details or to provide feedback on this change, see bug 436506.

4. IContextComputer and related classes

The org.eclipse.ui.help.IContextComputer class and dependent classes, i.e., org.eclipse.ui.help.WorkbenchHelp, DialogPageContextComputer and ViewContextComputer have been deleted. They were deprecated since 2002.

For further details or to provide feedback on this change, see bug 442961.

API removals in the Eclipse 4.10 release

1. TableTreeViewer

The org.eclipse.jface.viewers.TableTreeViewer class is deprecated since Eclipse 3.1 and has been replaced by TreeViewer.

For further details or to provide feedback on this change, see bug 436505.

API removals in the Eclipse 4.11 release

1. ImageAndMessageArea from JFace

The org.eclipse.jface.dialogs.ImageAndMessageArea class has been removed.

For further details or to provide feedback on this change, see bug 475863.

API removals in the Eclipse 4.12 release

1. Delete IPluginDescriptor and related API

The IPluginDescriptor class has been removed.

For further details or to provide feedback on this change, see bug 475944.

2. TableTree

The org.eclipse.swt.custom.TableTree and org.eclipse.swt.custom.TableTreeItem classes have been deleted as well as methods using these types.

For further details or to provide feedback on this change, see bug 475833.

API removals in the Eclipse 4.17 release

2. Remove Input and MInputPart

The MInput and MInputPart classes and related API are removed.

For further details or to provide feedback on this change, see bug 562813.

6. Remove method org.eclipse.core.runtime.Platform#getJobManager()

The method getJobManager() is planned to be removed from class org.eclipse.core.runtime.Platform. Clients are encouraged to use the method org.eclipse.core.runtime.jobs.Job#getJobManager() instead.

For further details or to provide feedback on this change, see bug 564893.

1. org.eclipse.jface.util.Assert and org.eclipse.jface.text.Assert

The org.eclipse.jface.util.Assert and org.eclipse.jface.text.Assert classes are removed.

For further details or to provide feedback on this change, see bug 564891.

API removals in the Eclipse 4.19 release

1. org.eclipse.pde.core.IModelProvider

The org.eclipse.pde.core.IModelProvider interface has been removed in 4.19.

For further details or to provide feedback on this change, see bug 541068.

API removals in the Eclipse 4.20 release

Delete Job.createSystem(ICoreRunnable) API

The Job#createSystem(ICoreRunnable) will be deleted. Use JobcreateSystem(String, ICoreRunnable) instead.

For further details or to provide feedback on this change, see bug 531968.

org.eclipse.core.runtime.IPlatformRunnable

The org.eclipse.core.runtime.IPlatformRunnable interface is planned to be removed.

For further details or to provide feedback on this change, see bug 457134.

Remove org.eclipse.pde.ui.targetProvisioners extension point

The org.eclipse.pde.ui.targetProvisioners extension point is planned to be removed. Clients should use the org.eclipse.pde.ui.targetLocationProvisioners extension point instead.

For further details or to provide feedback on this change, see bug 541806.

4. Delete 2.0 plug-in compatibility classes and related API

The following classes and its related API will be deleted.

For further details or to provide feedback on this change, see bug 544339.

API removals after June 2017

1. Platform authorization API

Since Eclipse 1.0, the Eclipse Platform class provided API for storing and retrieving passwords in a keyring file. This API used an inherently insecure method for encrypting credentials, and used a custom encryption algorithm that made it difficult for some consumers to distribute and export Eclipse-based products. For these and other reasons, this API was deprecated and replaced in Eclipse 3.4 with a new Equinox secure storage API. In Eclipse 4.2 the implementation of the old authorization methods was removed, but the API left in place. This old API will be removed completely in a future release. The following API methods will be removed from org.eclipse.core.runtime.Platform:

For further details or to provide feedback on this change, see bug 476404.

API removals after June 2018

2. org.eclipse.ui.cocoa.fullscreenWindow

Eclipse Platform 4.2 introduced a OS X-specific command to toggle full-screen called org.eclipse.ui.cocoa.fullscreenWindow (bug 376394), bound to Command-Ctrl-F. In 4.6 we introduced a cross-platform command to toggle full-screen called org.eclipse.ui.window.fullscreenmode (bug 489087 and bug 491572). As a result, we have two "Toggle Full Screen" commands on OS X, and both appear in the Quick Access. We will consolidate our code to use org.eclipse.ui.window.fullscreenmode, and plan to remove org.eclipse.ui.cocoa.fullscreenWindow.

For further details or to provide feedback on this change, see bug 493932.

API removals after June 2020

3. Remove Dirtable flag from MPartDescriptor

The DirtableMInput field will be removed from the MPartDescriptor class and related API.

For further details or to provide feedback on this change, see bug 530887.

5. Remove deprecated dialogs from org.eclipse.ui.dialogs

The following dialogs are planned to be removed from this package:

For further details or to provide feedback on this change, see bug 448275.

7. Remove deprecated method and constructor in PopupDialog

The method getPersistBounds() is planned to be removed from class org.eclipse.jface.dialogs.PopupDialog. Clients are encouraged to use the method getPersistLocation() or getPersistSize() instead. It is also planned to remove the deprecated constructor. Clients should use the not deprecated constructor.

For further details or to provide feedback on this change, see bug 531913.

API removals after March 2021

1. org.eclipse.core.commands.util package

The org.eclipse.core.commands.util package is planned to be removed. It contains one utility class for tracing code.

For further details or to provide feedback on this change, see bug 143992.

2. org.eclipse.ui.editors.text.EncodingActionGroup and related interfaces

The class org.eclipse.ui.editors.text.EncodingActionGroup and its related interfaces org.eclipse.ui.editors.text.IEncodingActionsConstants, org.eclipse.ui.editors.text.IEncodingActionsDefinitionIds, org.eclipse.ui.editors.text.IEncodingActionsHelpContextIds are planned to be removed. They have been deprecated with Eclipse 3.1.

For further details or to provide feedback on this change, see bug 544309.

3. org.eclipse.core.launcher#Main and WebStartMain and related interfaces

The classes org.eclipse.core.launcher.Main, org.eclipse.equinox.launcher.WebStartMain its related interfaces will be deleted.

For further details or to provide feedback on this change, see bug 544262.

5. Delete unsupported methods in WorkbenchWindowConfigurer

The following methods are not used anymore by the platform and will be deleted.

For further details or to provide feedback on this change, see bug 485835.

API removals after June 2021

1. Delete deprecated contents of org.eclipse.ui.commands package

The following deprecated contents of org.eclipse.ui.commands are not used anymore by the platform and will be deleted.

For further details or to provide feedback on this change, see bug 431177.

API removals after September 2021

1. Navigator view and related API

Navigator view (ResourceNavigator impl) and related API is marked for deletion.

For further details or to provide feedback on this change, see bug 550379.

API removals after December 2021

1. BookmarkNavigator view and related API

BookmarkNavigator view (ResourceNavigator impl) and related API is marked for deletion.

For further details or to provide feedback on this change, see bug 550439.

API removals after May 2022

1. Hover images from ISharedImages

Multiple images not used since Eclipse 3.0 in the platform will be deleted.

For further details or to provide feedback on this change, see bug 559593.

API removals after June 2022

1. ICU4J bundle from SDK

Support and/or usage of ICU4J is being gradually removed from internals. Wherever ICU4J is exposed in API it's being deprecated and scheduled for removal after June 2022 release.

For further details or to provide feedback on this change, see bug 562582.

API removals after September 2022

1. Observable factory classes

The following databinding classes will be removed. They have been obsolete since the databinding framework was transitioned to work with property classes in 2014. They are replaced by corresponding property factory classes. See bug 546820.

2. Untyped databinding property factory classes

The following classes in the databinding bundles will be removed. They are replaced by typed factory classes with the same name, but in a sub-package that is called "typed". See bug 546822.

3. Remove deprecated contents of org.eclipse.pde.ui.launcher package

The following classes from org.eclipse.pde.ui.launcher have been deprecated since 2009 and are scheduled for removal after the September 2022 release. All classes have corresponding replacements in the org.eclipse.pde.launching bundle.

For further details or to provide feedback on this change, see bug 564563.

4. Remove TargetPlatform::createPlatformConfiguration

The method org.eclipse.pde.core.plugin.TargetPlatform.createPlatformConfiguration(File, IPluginModelBase[], IPluginModelBase) is scheduled for removal after the September 2022 release.

For further details or to provide feedback on this change, see bug 564763.

5. Remove IModelProviderEvent's fields TARGET_CHANGED and ENVIRONMENT_CHANGED

The fields org.eclipse.pde.core.IModelProviderEvent.TARGET_CHANGED and org.eclipse.pde.core.IModelProviderEvent.ENVIRONMENT_CHANGED are scheduled for removal after the January 2022 release.

For further details or to provide feedback on this change, see bug 570549.

API removals after March 2023

1. Remove MultiPageEditor and related API

The class org.eclipse.ui.part.MultiPageEditor and related API were deprecated in 2002 and are planned for removal after the March 2023 release.

For further details or to provide feedback on this change, see bug 547018.

2. Support for pack200 artifacts in p2

The pack200/unpack200 tools have been removed in Java 14 (March 2020) and underlying API are removed in Java 16 (March 2021). Equinox p2 guarded pack200 usage to be no-op when running on Java 14+ thus support for it is planned to be removed in the June 2023 release.

For further details or to provide feedback on this change, see bug 572043.

API removals after September 2023

1. Remove Classic Search API

The "Classic" Search View and related API were deprecated in Eclipse 3.0 and are planned for removal after the September 2023 release. It has been non functional and simply opening the modern "Search" view since Eclipse 3.0.

For further details or to provide feedback on this change, see bug 487303.