blob: 925b06b97bacccd930b7a5203ef637af4fcc4d0f [file] [log] [blame]
<div>
<h2>Re-Parenting Support</h2>
<p>
The method <code>Control.setParent()</code> is now fully implemented and will move a control
from one parent to another. To indicate that the re-parenting was successful, the method will
return <code>true</code>. We implemented re-parenting in order to better support the E4 UI.
</p>
<p>
Be aware you must not try to replace the parent of a control that is attached to another widget
using a <code>setControl()</code> method (e.g. a CoolItem, an ExpandItem, or a ScrolledComposite).
Those cases are neither supported by SWT nor by RAP.
</p>
<h2>New client service StartupParameters</h2>
<p>
In RAP 2.x, you could access URL parameters by calling <code>RWT.getRequest().getParameter(name)</code>.
The problem with this approach was that it only worked in the first request.
Moreover, <code>RWT.getRequest()</code> returns the actual XHR request, not the request that
returned the HTML page. That's why using this method in application code is not recommended.
</p>
<p>
Now there is a client service named <code>StartupParameters</code> that provides access to those
startup parameters. Since this service interface is also implemented by <code>AbstractEntryPoint</code>,
you can access the methods <code>getParameter()</code>, <code>getParameterNames()</code>,
and <code>getParameterValues()</code> directly in your entrypoint:
</p>
<pre lang="java">
public class MyEntryPoint extends AbstractEntryPoint {
@Override
protected void createContents(Composite parent) {
String foo = getParameter("foo");
...
</pre>
<h2>Move to Java 7</h2>
<p>
As many other Eclipse projects, we recently decided to raise the minimal execution environment
to Java 7.
Since Jetty 9 and even some parts of Equinox now depend on Java 7, it became almost impossible
to run and test RAP with Java 5.
Moving to Java 7 makes our life easier and allows us to make use of some new features.
With modern JREs being available even for embedded platforms, so we think that we won't
exclude anyone by this move.
</p>
<p>
The Bundle-RequiredExecutionEnvironment (BREE) of all bundles has been updated to <em>JavaSE-1.7</em>.
</p>
<h2>Goodbye quirksmode!</h2>
<p>
RAP used to enable the so-called quirksmode in HTML in order to avoid glitches in old
IE versions. With the end of support for antique browsers, RAP now uses the HTML5
<code>&lt;!DOCTYPE html&gt;</code> declaration that enables standard mode in all browsers.
</p>
<h2>Performance optimizations</h2>
<p>
We started to work on a couple of performance optimizations, namely by reducing the number of
short living objects created during request processing. This reduces the load by the garbage
collection.
Moreover, we reworked the session initialization and removed the need for a transient
UI session when delivering the HTML, which also removes some load from the server.
Some more optimizations are planned for 3.0.
</p>
</div>