Eclipse Project 4.4 M3 - New and Noteworthy

Here are some of the more noteworthy things available in milestone build M3 (November 1, 2013) which is now available for download.

Platform
GTK+ 3 used by default SWT and Eclipse will now use the GTK+ 3 libraries by default on all Linux/Unix platforms, whenever GTK+ 3 is installed and available. Previously SWT defaulted to using GTK+ 2.

The GTK+ 3 port of SWT is still early access and you can force Eclipse to use the more stable GTK+2 port by setting the environment variable SWT_GTK3 to 0, if needed. (For example: export SWT_GTK3=0)

Added new API in StyledText to get text selection state StyledText.isTextSelected() can be used to quickly determine whether any text in the widget is selected or not.
Filter conflicting projects during import When importing existing projects, you can now filter out any conflicting projects (projects that are already present in your workspace).

filter conflicting projects

Updated to Batik 1.7 The Platform now includes a newer version of Apache Batik, version 1.7.0. This new version is being used for CSS parsing in the declarative styling engine, and is notably faster than the previous version.
PDE
Annotation support in API Tools API Tools now provides support for using annotations to describe your API usage. Prior to the new annotation support you would have, for example, used the @noreference Javadoc tag to indicate noone should use the tagged type / member. Now you can add the @NoReference annotation (in Java 1.5+ source) to the member directly without the need for Javadoc. The @NoExtend annotation being used on a class

To make the transition from Javadoc tags to the new annotation support, API Tools provides a conversion wizard that is found using the Plug-in Tools > Convert API Tools Javadoc tags... command for a selected project. The wizard can convert all existing Javadoc tags to their annotation equivalent, update the build.properties file and optionally remove all of the old Javadoc tags.

The Javadoc conversion wizard
Updated target platform state in the status bar In 4.4 M2 you could add the target platform indicator to the status bar allowing easy access to the preferences to customize it. Now this indicator has been updated to show problems with the target platform (if any). The state of the target platform is immediately apparent based on its icon / decoration and any problems are added to the tooltip. The target platform state in the status bar showing an error
Equinox
Equinox OSGi framework update The Equinox Framework implementation has been updated to implement the latest API available for the upcoming OSGi R6 Core Framework specification (to be finalized in March 2014). See Equinox M2 News for the complete list. The following had some additional functionality added since M2:
  • Clarification of hooks on the system bundle (RFC 198). The framework must honor the results of bundle collision hooks when the system bundle context is used to install bundles.
  • Extension Bundle Activators (RFC 204). New API added to allow the Framework to be initialized with a list of framework listeners that can capture errors that occur while initializing the framework.
Equinox Regions update The Equinox Regions has added a new namespace for sharing bundle lifecycle operations between regions. In previous versions of Equinox regions the only way to share bundle lifecycle operations across different regions was to share complete bundles which also shared all capabilities provided by the bundle. Now it is possible to use the org.eclipse.equinox.allow.bundle.lifecycle namespace to share only the bundle lifecycle operations between different regions. (see bug 418224)

The above features are just the ones that are new since the previous milestone build. Summaries for earlier Luna milestone builds: