Eclipse changed in incompatible ways between 3.6 and 3.7 in ways that affect plug-ins. The following entries describe the areas that changed and provide instructions for migrating 3.6 plug-ins to 3.7. Note that you only need to look here if you are experiencing problems running your 3.6 plug-in on 3.7.
null
to Javascript null
ProfileChangeOperation#getProfileChangeRequest
now returns IProfileChangeRequest
What is affected: Clients that directly reference classes from Apache Lucene
Description: org.eclipse.help.base has a dependency on the Lucene bundles org.apache.lucene and org.apache.lucene.analysis both of which are reexported. In release 3.7 the version of the Lucene bundled with the Eclipse platform increased from version 1.9.1 to 2.9.1 creating a potential binary incompatibility for clients that consume the classes which were reexported from Lucene. A rebuild from source is required for any bundles that have a dependency to org.eclipse.help.base and reference the reexported Lucene classes.
A number of classes have been removed from org.apache.lucene between versions 1.9.1 and 2.9.1. If you are using any of these consult the documentation at lucene.apache.org for information about how to recode. The classes below were removed.null
to Javascript null
What is affected: Java invocations from Javascript that process the returned value
Description: Prior to Eclipse 3.7, BrowserFunction mapped Java's null
value to Javascript's
undefined
value. However this was an incorrect mapping, and as of Eclipse 3.7 this value is now mapped to
Javascript's null
value. Clients that use BrowserFunction to invoke Java functions from Javascript
should be aware of this change, and should adjust their Javascript accordingly if they make
an explicit effort to handle null
values returned from Java.
ProfileChangeOperation#getProfileChangeRequest
now returns IProfileChangeRequest
What is affected: Callers of the method ProfileChangeOperation#getProfileChangeRequest
Description: In Eclipse 3.6 the API class ProfileChangeOperation
had a method getProfileChangeRequest
which returned an instance of an internal class ProfileChangeRequest
. This internal class was marked as internal
and @noreference
. The method signature has been changed so now ProfileChangeOperation#getProfileChangeRequest
now returns an instance of the API class IProfileChangeRequest
.