Eclipse Project Oxygen (4.7) M7 - New and Noteworthy

Here are some of the more noteworthy things available in the Oxygen milestone build M7 which is now available for download.
We also recommend to read the Tips and Tricks, either via Help > Tips and Tricks... or online for Platform, JDT, and PDE.

No Linux PPC 32-bit builds The Eclipse project has dropped support for Linux PPC 32-bit. For this platform, no builds are available any more.

For the Photon (4.8) release, we plan to drop support for the ppc64 builds as well, but keep ppc64le.

Eclipse as Apple disk image Eclipse SDK and Eclipse Platform products are delivered as signed Apple disk images on Mac OS X. For this platform, builds are available in signed dmg (Apple Disk Image) format on the download page.
Support for extending existing CSS preference nodes CSS definitions for preferences can now use pseudo selectors. This allows that other plug-ins extend preference CSS nodes, instead of overriding them. This makes the default Eclipse dark theme much more consistent and usable.

Example styling with EGit installed before this development:

Example styling with EGit installed after this development:

Default styling for table and tree headers The Eclipse default dark theme includes styling for the table and tree headers (which is now also supported on the Mac platform).

DnD source image for List widget (GTK only) When items are being dragged from a List widget, their content now moves with the mouse cursor.

Option to copy your preferences during workspace switch You can now copy your preferences during a switch to a new or existing workspace.

Option to disable Problems view decoration on startup By default, the Problems view icon no longer shows an errors/warnings overlay after startup, unless the Problems view is on top of the view stack. To enable the errors/warnings overlay also if the Problems view is minimized or not on top, a new Show Problems view decorations on startup option has been added to Preferences > General > Startup and Shutdown. By default, this preference is disabled.

Ant 1.10.1 Eclipse has adopted Ant version 1.10.1.
Hide deprecated fields and methods You can now hide the deprecated fields and methods in Outline view, Members view, Package Explorer view, Project Explorer view, and Quick Outline by using the new filter from their drop-down menu (Ctrl+F10):

Group by Project in Search view The default grouping of Java search results in the Search view has been changed to Group by Project. Earlier the results were grouped by package.

You can use the buttons in the view tool bar to Group by Project, Package, File, or Type.
Defaults for annotation type elements in Javadoc The default value of an annotation type element is now shown in the Javadoc view and hover.

New Java index The experimental new Java index added in Eclipse 4.7 M3 has been disabled by default. You can enable it from Preferences > Java:

The new Rebuild Index button can be used to delete all information cached in the Java index. This can be used to save disk space after the new index got disabled, and to fix index corruption.
Show Logical Structure enabled by default In the Variables view, Show Logical Structure is now enabled by default. E.g. collection objects now directly show their contained elements instead of their internal structure.

The Show Logical Structure context menu lets you choose or edit the representation.

Pass compiler options to annotation processors You can now pass compiler options to annotation processors using %variable% syntax in Project > Properties > Java Compiler > Annotation Processing.

This allows processors to compile Java sources using the Java project's settings without manually maintaining this information in the processor options.
Manage versions for included features The PDE Feature editor now allows you to manage versions for included features (previously this was possible for included plug-ins only). In the Included Features tab, a new Versions... button has been added, which allows you to synchronize the current feature with actual versions of included features, or sets included feature versions to be synchronized on build.

Reload Target Editor When a target platform is already active, the Target Editor now shows a Reload Target Platform link instead of Set Active Platform. The reload link has the same effect as pressing the Reload button in the Plug-in Development > Target Platform preference page.

If the .target file has been modified, clicking the link will now ask you to save the target editor and then reload the target.
Tracing tab in launch configuration dialog has restore to defaults options In the launch configuration dialog, on the Tracing tab, there are new options to Restore Selected to Defaults and Restore All to Defaults.

Quick Fix to configure problem severity You can now configure the severity of an API tools problem or PDE compiler problem by invoking the new Quick Fix (Ctrl+1).

For API tools problems, the Quick Fix will open the Plug-in Development > Errors/Warnings preference page and highlight the configurable problem.

For PDE compiler problems, the Quick Fix will open the Plug-in Development > Compilers preference page and highlight the configurable problem.
Platform Developers
SWT table and tree header styling via CSS You can now style the SWT table and tree headers via the CSS engine.
Table, Tree {
    swt-header-color: #CCC;
    swt-header-background-color: #383D3F;
SWT Tree header colors Support for custom tree header foreground and background colors has been added on Mac, Windows and Linux (GTK3) platforms.

APIs for Tree header foreground color:

APIs for Tree header background color:

Screen-shot of an SWT Tree with customized header on Windows:

SWT Table header colors supported on Mac as well The custom table header foreground and background colors APIs initially supported for Windows and Linux (GTK3) platforms now works on the Mac as well.
New API Image#getImageData(int zoom) Platform-independent high-DPI support has been added to the class to get ImageData at specific zoom levels:
  • Image#getImageData(int zoom): Returns an ImageData for the given zoom level.

Note: this API is mainly intended to be used by custom implementations of ImageDataProvider that draw a composite image at the requested zoom level based on other images. For custom zoom levels, the ImageData may be an auto-scaled version of the native image and may look more blurred or mangled than expected.

Image#getImageDataAtCurrentZoom() and Image#getBoundsInPixels() are deprecated The Image#getImageDataAtCurrentZoom() and Image#getBoundsInPixels() APIs didn't serve the purpose in an environment having multiple monitors with different DPIs, hence they were deprecated.

Image#getImageData(int zoom) is the replacement API for Image#getImageDataAtCurrentZoom().

Progress reporting in the installation dialog When you select an update site, the installation dialog now provides progress feedback during the download of the software catalog.

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