blob: de88f928dcb6870a42085ac4f49932101d82b11d [file] [log] [blame]
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta name="copyright" content="Copyright (c) Eclipse contributors and others 2018, 2019. This page is made available under license. For full details see the LEGAL in the documentation book that contains this page."/>
<meta http-equiv="Content-Language" content="en-us"/>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<link rel="STYLESHEET" href="news.css" type="text/css"/>
<style type="text/css">
body {max-width: 900px;}
table.news col.title {width: 30%;}
/*img {max-width: 520px;}*/
table.news {table-layout: fixed; border-collapse: collapse; width: 100%;}
table.news td {border-top: solid thin black; padding: 10px; overflow: visible;}
table.news tr {vertical-align: top;}
table.news tr td.section {font-size: 20px; font-weight: bold;}
table.news tr td.title {vertical-align: top; font-weight: bold;}
table.news tr td.content {vertical-align: top;}
ul {padding-left: 13px;}
</style>
<title>Eclipse Project 4.22 - New and Noteworthy</title>
</head>
<body>
<h2>Platform and Equinox API</h2>
<ul>
<li><a href="#Platform">Platform Changes</a></li>
<li><a href="#SWT">SWT Changes</a></li>
<li><a href="#Equinox">Equinox Changes</a></li>
</ul>
<!-- ****************** START OF N&N TABLE****************** -->
<table class="news">
<colgroup>
<col class="title" />
<col />
</colgroup>
<tbody>
<!-- ******************** Platform ********************** -->
<tr>
<td id="Platform" class="section" colspan="2"><h2>Platform Changes</h2></td>
</tr>
<tr id="IMultiTextSelection"> <!-- https://bugs.eclipse.org/bugs/show_bug.cgi?id=466532 -->
<td class="title">New API for JFace TextViewers: IMultiTextSelection</td>
<td class="content">
JFace Text now supports a new type of <code>ITextSelection</code> that allows to keep track of multiple simultaneous
selections or caret locations. The new interface is <code>IMultiTextSelection</code>.
<p>Most text manipulation operations are capable of working with <code>IMultiTextSelection</code>. Some other operations
may need to be customized to handle this <code>IMultiTextSelection</code> more specifically.</p>
</td>
</tr>
<tr id="IFindReplaceTargetExtension4"> <!-- https://bugs.eclipse.org/bugs/show_bug.cgi?id=575382 -->
<td class="title">Enable "Select All" with IFindReplaceTargetExtension4</td>
<td class="content">
The extension interface <code>IFindReplaceTargetExtension4</code> can be added to existing <code>IFindReplaceTarget</code>
implementations in order to enable the <i>Select All</i> feature from the Find/Replace dialog. It consists of addition of
a single <code>setSelection(IRegion[] regions)</code> method.
</td>
</tr>
<tr id="defaultShowIn"> <!-- https://bugs.eclipse.org/bugs/show_bug.cgi?id=575453 -->
<td class="title">Double click on Problem without File shows in default view</td>
<td class="content">
Double click on Problems executes "Go to Resource". But there are cases where no File (column "Path") is associated with the Problem.
In those cases "Go to Resources" cannot be executed. Instead the new <b>defaultShowIn</b> view is opened.
It is optional and can be configured per <code>perspective</code> using the <code>defaultShowIn</code> attribute. Example:
<pre><code>
&lt;perspective
name="MyPerspective"
icon="$nl$/icons/eview16/plugins.png"
class="org.eclipse.pde.internal.ui.PDEPerspective"
<b>defaultShowIn="org.eclipse.ui.navigator.ProjectExplorer"</b>
id="org.eclipse.pde.ui.PDEPerspective"&gt;
&lt;description&gt;My own Perspective&lt;/description&gt;
&lt;/perspective&gt;
</code></pre>
The default is also moved to the top of the "Show In" Context Menu.
</td>
</tr>
<tr id="imageCache"> <!-- https://bugs.eclipse.org/bugs/show_bug.cgi?id=576740 -->
<td class="title">Resource cache in Jface</td>
<td class="content">
We added a LRU cache for image resources. It can be disable with system property:
<code>org.eclipse.jface.resource.cacheSize=0</code><br/>
The default cacheSize is 300.<br/>
In the eclipse IDE it is used to automatically cache the icons of the toolbars.<br/>
See <code>DeviceResourceDescriptor(boolean shouldBeCached)</code> for details.
</td>
</tr>
<!-- ******************** End of Platform ********************** -->
<!-- *********************** SWT *********************** -->
<tr>
<td id="SWT" class="section" colspan="2"><h2>SWT Changes</h2></td>
</tr>
<tr id="win32-dark-titlebar"> <!-- https://bugs.eclipse.org/bugs/show_bug.cgi?id=563329 -->
<td class="title"><a href="#win32-dark-titlebar">Windows dark theme styles title bar bars</a></td>
<td class="content">
The windows title bar in the dark theme on Windows OS is now styled:
<p>
<img src="images/dark-windows-toolbar.png" alt=""/>
</p>
<p>
On <b>Windows 10</b>, all the dark theme tweaks including the <a href="#win32-dark-titlebar">dark title bar</a> can be disabled using the
<code>org.eclipse.swt.internal.win32.disableCustomThemeTweaks</code> Java property.<br/>
For Example: add this VM argument in eclipse.ini or on the command line after <b><code>-vmargs</code></b>:
</p>
<pre><b>-Dorg.eclipse.swt.internal.win32.disableCustomThemeTweaks=true</b></pre>
</td>
</tr>
<tr id="syncCall"> <!-- https://bugs.eclipse.org/bugs/show_bug.cgi?id=575823 -->
<td class="title">Display.syncCall() returns a value from SWT thread</td>
<td class="content">
Do you need a user feedback (or any value from swt widget) in a background thread from SWT thread? You can get it now even easier then using Display.syncExec():<br/>
<pre><code>Object result = Display.getDefault().syncCall(()-> myQuestion())</code></pre>
Display.syncCall(...) calls the given function in swt thread and returns the value back to the calling thread.<br/>
SyncCall also forwards checked Exceptions. For example:
<pre><code>try {
int read = Display.getDefault().syncCall(()->System.in.read());
} catch (IOException e) {
/* handle exception in background thread */
}</code></pre>
</td>
</tr>
<tr id="emptinessChanged"> <!-- https://bugs.eclipse.org/bugs/show_bug.cgi?id=553598 -->
<td class="title">Tree fires SWT.EmptinessChanged event</td>
<td class="content">
SWT <code>Tree</code> widget now fires <code>SWT.EmptinessChanged</code> event on below two conditions:
<ul>
<li>After first tree item addition.</li>
<li>On last tree item removal.</li>
</ul>
</td>
</tr>
<!-- *********************** End of SWT *********************** -->
<!-- *********************** p2 *********************** -->
<tr>
<td id="Equinox" class="section" colspan="2"><h2>Equinox p2 Changes</h2></td>
</tr>
<tr id="logUnsafe"> <!-- https://bugs.eclipse.org/bugs/show_bug.cgi?id=576429 https://bugs.eclipse.org/bugs/show_bug.cgi?id=576428 -->
<td class="title">Log unsafe transport or verification technologies used at installation</td>
<td class="content">
When installing from a repository, p2 now logs a warning in case some technologies used for the installation are considered unsafe.
Here are the cases covered so far and that will trigger a logged warning:
<ul>
<li><code>http</code> repositories are used (<code>http</code> repositories expose to CVE-2021-41033)</li>
<li>Artifact checksums are either missing, or none of the available digest algorithms is considered safe (eg md5).</li>
</ul>
</td>
</tr>
<!-- *********************** End of p2 *********************** -->
</tbody>
</table>
<!-- ****************** END OF N&N TABLE ****************** -->
<script type="text/javascript" src="scripts.js"></script>
<p style="text-align:center">
<a href="jdt.php">Previous</a> <a style="margin:1em" href=".">Up</a> <a href="pde.php">Next</a>
</p>
</body>
</html>