Overview

  1. Planned API removals
  2. Removed API

Planned 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.

See also Java API planned be be removed which lists the API marked in code for removal.

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

1. 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

1. 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.

2. 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.

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.

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.

API removals after June 2021

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.

4. 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 December 2025

1. Support for javax-annotation by the E4 Injector

The support of the Eclipse E4 Platform Dependency Injector for annotations from the javax.inject and javax.annotation package is deprecated and scheduled to be disabled by default after the December 2025 release. The eventual removal of support for these javax annotations will happen at any time after the December 2025 release without any further prior notice, whenever maintaining it is no longer feasible or hinders other development.

Processing of javax annotations can be explicitly disabled for an application by specifying the VM property -Declipse.e4.inject.javax.disabled=true and explicitly enabled by specifying -Declipse.e4.inject.javax.disabled=false. For further details or to provide feedback on this change, see eclipse.platform.releng.aggregator#1056.

For further information and possible long term compatibility strategies see Eclipse 4.30 - New and Noteworthy: Support for Jakarta Annotations by Eclipse E4.

API removals after March 2026

1. Bundle org.eclipse.osgi.services

The bundle org.eclipse.osgi.services is deprecated for removal. Its content has already been replaced by the official OSGi bundles published to Maven-Central and it only reexports these org.osgi.service.* bundles.

Consumers are encouraged to replace their requirements on the bundle org.eclipse.osgi.services by imports of the used org.osgi.service.* packages already now. This allows the OSGi runtime to choose any suitable provider of the package that is available.

2. PluginVersionIdentifier

The class org.eclipse.core.runtime.PluginVersionIdentifier is deprecated for removal. As replacement org.osgi.framework.Version should be used.

Removed API in previous releases


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

1. 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.

2. 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.

3. 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

1. 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.

2. 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.

3. 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 in the Eclipse 4.24 release

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 578786.

2. 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. 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.

3. Remove TargetPlatform::createPlatformConfiguration

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

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

API removals in the Eclipse 4.26 release

1. 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.

2. 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 in the Eclipse 4.28 release

1. 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. Actual removal has been completed via pull 160 in platform.text repository

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

For further details or to provide feedback on this change, see bug 550379. Actual removal has been completed via pull 647 in platform.ui repository

3. 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 removed in the June 2023 release.

For further details or to provide feedback on this change, see bug 572043. Actual removal has been completed via pull 239 in p2 repository

API removals in the Eclipse 4.30 release

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 and actually removed in December 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 PR 1152.

2. 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 and actually removed in December 2023 release.

For further details or to provide feedback on this change, see Issue 1155.

API removals in the Eclipse 4.31 release

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.