Here are some of the more noteworthy things available in the Oxygen milestone build M5
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.
Platform | |
Wildcards in Quick Access |
You can now use * and ? as wildcards to filter Quick Access (Ctrl+3) items.
The match ranges are displayed in bold.
|
Show/hide Status Bar |
You can now hide and show the bottom status bar via menu:
Window > Appearance > Hide (Show) Status Bar.
|
Improved Launch Groups |
The UI for the new Launch Groups feature in the Run/Debug Configurations... dialog has been reworked to be more intuitive
and user friendly. Also, additional configuration possibilities have been added:
|
Content Assist for Feature Name in Model Editor |
You can now use Ctrl+Space to trigger content assist when selecting the Feature Name in the Model Editor.
|
Model Editor improvements |
The elements proposed in the Add child menu are now filtered to a minimal list containing allowed elements only.
|
JDT | |
Quick Fix to move type annotations |
The rules for the placement of Java 8 "type annotations" introduced via JSR 308 are sometimes surprising.
In case of errors, a new Quick Fix Move type annotation is offered,
that moves the type annotation to a location that corresponds to what was probably intended.
|
Toggle Tracepoint |
A new action Run > Toggle Tracepoint has been added.
true , the condition is now considered to implicitly return false,
and the breakpoint will not suspend execution.
|
PDE | |
Filter in plugin and feature export wizards |
You can now use a text filter when selecting plug-ins in the Export.. > Deployable plug-ins and fragments or
features in the Export.. > Deployable features wizards.
|
Target definition files can be edited with the generic editor |
An extension for the generic editor was supplied so that the target definition files (.target files) can now be
edited via the generic editor. Syntax highlighting for the most used keywords is supported. Content Assist is also supported
for tags and their attributes, installable units for a given repository, and the available versions for a given installable unit.
|
More descriptive plug-in template names |
The template names for plug-in have been reworked to be more descriptive.
|
Types marked with @noimplement and @noextend processed by API leak analysis |
Extending or implementing an interface marked as @noimplement is now reported as an API leak. This is because
adding a field or method to the interface marked as @noimplement may break a client that is using
the extended or implemented type. Also extending a type marked as @noextend may indirectly leak API types
if the extended type is further extended by the client. Some of the new kinds of leak warnings are shown below:
|
API Tools flags field addition to class as a breaking change |
The addition of a field to class that is extendable by clients is now flagged as a breaking change.
On the Plug-in Development > API Errors/Warnings preference page in the API Compatibility tab,
there is a new option in the Class section to control the severity of a "field addition to class".
Also there is a new link at the top of API Compatibility tab that has more details on achieving API binary compatibility.
|
Platform Developers | |
Source-incompatible change in org.eclipse.equinox.common requires Java 8 BREE for some dependant plug-ins |
With bug 509234, org.eclipse.core.runtime.ListenerList
now overrides Java 8 default method Iterable#spliterator() and provides stream() and parallelStream()
methods. Thus it exposes Java 8 types in public API. This is a source-incompatible change that requires all plug-ins using
ListenerList to have a minimum BREE set to JavaSE-1.8 if they want to properly compile against Oxygen and forthcoming
versions (i.e. versions in the [3.9,4.0) range).
The typical compile error indicating that you should change your BREE is:
The type
Note that this change is only required when using org.eclipse.equinox.common within
the [3.0,4.0) range will continue to work as before.
|
New API for controlling build order |
The org.eclipse.core.resources.builders extension point now allows extensions to influence the
order in which projects are built by supplying an implementation of
IDynamicReferenceProvider . This replaces the
IProjectDescription#setDynamicReferences(IProject[]) API, which is now deprecated.
|
Asynchronous content-assistant |
With bug 251156, a new constructor
org.eclipse.jface.text.contentassist.ContentAssistant(boolean asynchronous)
was added. An asynchronous ContentAssistant triggers
computation of completion proposals in the background and doesn't block the thread invoking the completion. As a result, it will prevent the UI thread to freeze
when a completion proposal computer takes too long.
This supports the same API and methods as the usual
Another new API is
The generic and extensible editor has been switched to use this asynchronous |
Equinox | |
New Declarative Services Implementation supporting OSGi R6 |
The previous release of Equinox only supported the OSGi R5 specification for the Declarative Services specification.
With bug 501950 the Apache Felix Declarative Services implementation (org.apache.felix.scr ) is now used as the Declarative Services implementation in the Platform and Equinox.
This implementation fully supports the OSGi R6 Declarative Services specification.
The Equinox bundle (org.eclipse.equinox.ds ) is still included in order to configure and start the Felix SCR bundle but the Equinox Declarative Service implementation code is no longer shipped within the org.eclipse.equinox.ds bundle.
The OSGi R6 API for declarative services requires some additional packages (
The Equinox bundle
Note that |
The above features are just the ones that are new since the previous milestone build. Summaries for earlier Oxygen milestone builds: