blob: 03abfe6b30618b61f5859988e4e32ac514bb4eb9 [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html lang="en">
<head>
<meta name="copyright"
content="Copyright (c) IBM Corporation and others 2011, 2020. This page is made available under license. For full details see the LEGAL in the documentation book that contains this page.">
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<meta http-equiv="Content-Style-Type" content="text/css">
<link rel="STYLESHEET" href="../book.css" charset="ISO-8859-1" type="text/css">
<title>Eclipse CDT Deprecated and Breaking API changes and removals</title>
</head>
<body>
<h1>Eclipse CDT Deprecated and Breaking API changes and removals</h1>
<p>
Deprecated API can be marked for deletion without requiring a major version increment.
See the <a href="https://wiki.eclipse.org/CDT/policy">policy</a> for the details.
This section describes API removals that occurred in past releases, and upcoming removals in future releases.
</p>
<p>
API Changes prior to CDT 10.0 / 2020-09.
</p>
<p>
Prior to CDT 10 release API changes were published as part of the <a
href="https://wiki.eclipse.org/CDT/User/NewInCDT">New and Noteworthy</a> entries for that release. From CDT 10
forward breaking API changes are included in this document.
</p>
<p>
API Changes in CDT 10.0.
</p>
<ol>
<li><a href="#java11">Eclipse CDT requires Java 11 as a minimum to build and run.</a></li>
<li><a href="#internals">Previously exported packages that were not API are now correctly marked as such.</a></li>
<li><a href="#activators">Activators removed for all bundles where possible.</a></li>
<li><a href="#NewClassCreationWizardPage">NewClassCreationWizardPage breaking changes.</a></li>
<li><a href="#arduino">Arduino plug-ins and features removed.</a></li>
<li><a href="#oldparsers">Remove LRParser, XLC and UPC.</a></li>
</ol>
<p>
Planned Removals after June 2022
</p>
<ol>
<li><a href="#binaryparsers">32-bit Binary parsers with 64-bit replacements</a></li>
</ol>
<hr>
<h2>API Changes in CDT 10.0.</h2>
<h3>1. <a name="java11">Eclipse CDT requires Java 11 as a minimum to build and run.</a></h3>
<p>
See <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=562494" target="_blank">Bug 562494</a>.
</p>
<h3>2. <a name="internals">Previously exported packages that were not API are now correctly marked as such.</a></h3>
<p>
A review of the previously exported API of CDT was performed. A lot of what was previously marked as public API has
now been marked as internal. This means the API has either had <code>x-internal</code> or <code>x-friends</code>
added to the <code>Export-Package</code> declarations.
</p>
<p>
The following bundles have had all their packages exported as internal See <a
href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=561389" target="_blank">Bug 561389</a>:
<ul>
<li>org.eclipse.cdt.cmake.ui</li>
<li>org.eclipse.cdt.autotools.core</li>
<li>org.eclipse.cdt.core.autotools.core</li>
<li>org.eclipse.cdt.core.autotools.ui</li>
<li>org.eclipse.cdt.autotools.tests</li>
<li>org.eclipse.cdt.autotools.ui.tests</li>
<li>org.eclipse.cdt.build.crossgcc</li>
<li>org.eclipse.cdt.cmake.ui</li>
<li>org.eclipse.cdt.build.gcc.core</li>
<li>org.eclipse.cdt.build.gcc.ui</li>
<li>org.eclipse.cdt.codan.checkers.ui.tests</li>
</ul>
</p>
<p>
The following bundles had additional changes made to be able to mark packages as internal:
<ul>
org.eclipse.cdt.cmake.ui: renamed package "org.eclipse.cdt.cmake.ui.properties"
to "org.eclipse.cdt.cmake.internal.ui.properties". See <a
href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=561390" target="_blank">Bug 561390</a>
</ul>
<ul>
org.eclipse.cdt.codan.checkers: marked package "org.eclipse.cdt.codan.checkers" as internal. See <a
href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=561582" target="_blank">Bug 561582</a>
</ul>
</p>
<h3>3. <a name="activators">Activators removed for all bundles where possible.</a></h3>
<p>
Where possible bundles have had their Activators removed. Some of these activators were API and are no longer
available. See <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=561635" target="_blank">Bug 561635</a> for
workarounds where items that used to be in Activators are still needed, such as logging and plug-ids.
</p>
<p>
The following Activators that were API have been removed.
<ul>
<li>(None have been removed yet.)</li>
</ul>
</p>
<h3>4. <a name="NewClassCreationWizardPage">NewClassCreationWizardPage breaking changes.</a></h3>
<p>
The NewClassCreationWizardPage has some API breaking changes due to how some protected fields, especially
<code>ALL_FIELDS</code> was used. While this breaks binary
compatibility, no code changes should be needed in extenders, just compiling against the new version. See <a
href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=510789" target="_blank">Bug 510789</a> and <a
href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=561770" target="_blank">Bug 561770</a>.
</p>
<h3>5. <a name="arduino">Arduino plug-ins and features removed.</a></h3>
<p>
The CDT Arduino plug-ins and features have been removed. Arduino can still be used with CDT with manual maintenance
of packages, etc. Or a third-party add-on such as <a href="https://eclipse.baeyens.it/">Sloeber</a> can be used as a
replacement.
</p>
<p>
The bundles and features that have been removed are:
<ul>
<li>org.eclipse.cdt.arduino-feature</li>
<li>org.eclipse.cdt.arduino.core.tests</li>
<li>org.eclipse.cdt.arduino.core</li>
<li>org.eclipse.cdt.arduino.ui</li>
</ul>
</p>
<p>
See <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=562498" target="_blank">Bug 562498</a>.
</p>
<h3>6. <a name="oldparsers">Remove LRParser, XLC and UPC.</a></h3>
<p>
The LR, UPC and XLC support have been removed from CDT. The bundles have not been maintained for a while and were
not functional anymore.
</p>
<p>
The bundles and features that have been removed are:
<ul>
<li>org.eclipse.cdt.core.lrparser.feature</li>
<li>org.eclipse.cdt.core.lrparser.sdk.branding</li>
<li>org.eclipse.cdt.core.lrparser.sdk.feature</li>
<li>org.eclipse.cdt.core.lrparser.tests</li>
<li>org.eclipse.cdt.core.lrparser</li>
<li>org.eclipse.cdt.bupc-feature</li>
<li>org.eclipse.cdt.core.parser.upc.feature</li>
<li>org.eclipse.cdt.core.parser.upc.sdk.branding</li>
<li>org.eclipse.cdt.core.parser.upc.sdk.feature</li>
<li>org.eclipse.cdt.core.parser.upc.tests</li>
<li>org.eclipse.cdt.core.parser.upc</li>
<li>org.eclipse.cdt.managedbuilder.bupc.ui</li>
<li>org.eclipse.cdt.core.lrparser.xlc.tests</li>
<li>org.eclipse.cdt.core.lrparser.xlc</li>
<li>org.eclipse.cdt.errorparsers.xlc.tests</li>
<li>org.eclipse.cdt.errorparsers.xlc</li>
<li>org.eclipse.cdt.make.xlc.core</li>
<li>org.eclipse.cdt.managedbuilder.xlc.core</li>
<li>org.eclipse.cdt.managedbuilder.xlc.ui</li>
<li>org.eclipse.cdt.managedbuilder.xlupc.ui</li>
<li>org.eclipse.cdt.xlc.feature</li>
<li>org.eclipse.cdt.xlc.sdk-feature</li>
<li>org.eclipse.cdt.xlc.sdk.branding</li>
</ul>
</p>
<p>
See <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=562498" target="_blank">Bug 562498</a>.
</p>
<hr>
<h2>Future Deletions</h2>
<p>
The items below can be removed after the given date or on the next major release, whichever is sooner. The details
and discussion on the removal happens in the Bugzilla associated with the entry below. See
the <a href="https://wiki.eclipse.org/CDT/policy">policy</a> for the details.
</p>
<h3>API Removals after June 2022</h3>
<h3>1. <a name="binaryparsers">Planned Removals after June 2022.</a></h3>
<p>
The following binary parser classes have replacements, mostly due to these versions not supporting 64-bit variants
of the binary files. The new 64-bit parsers support both 32 and 64 bit files.
</p>
<ul>
<li>org.eclipse.cdt.utils.coff.parser.CygwinPEBinaryArchive</li>
<li>org.eclipse.cdt.utils.coff.parser.CygwinPEBinaryExecutable</li>
<li>org.eclipse.cdt.utils.coff.parser.CygwinPEBinaryObject</li>
<li>org.eclipse.cdt.utils.coff.parser.CygwinPEBinaryShared</li>
<li>org.eclipse.cdt.utils.coff.parser.CygwinPEParser</li>
<li>org.eclipse.cdt.utils.coff.parser.CygwinSymbol</li>
<li>org.eclipse.cdt.utils.coff.parser.PEBinaryArchive</li>
<li>org.eclipse.cdt.utils.coff.parser.PEBinaryExecutable</li>
<li>org.eclipse.cdt.utils.coff.parser.PEBinaryObject</li>
<li>org.eclipse.cdt.utils.coff.parser.PEBinaryShared</li>
<li>org.eclipse.cdt.utils.coff.parser.PEParser</li>
<li>org.eclipse.cdt.utils.macho.parser.MachOBinaryArchive</li>
<li>org.eclipse.cdt.utils.macho.parser.MachOBinaryExecutable</li>
<li>org.eclipse.cdt.utils.macho.parser.MachOBinaryObject</li>
<li>org.eclipse.cdt.utils.macho.parser.MachOBinaryShared</li>
<li>org.eclipse.cdt.utils.macho.parser.MachOParser</li>
</ul>
<p>
See <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=562495" target="_blank">Bug 562495</a>.
</p>
</body>
</html>