-
Notifications
You must be signed in to change notification settings - Fork 71
/
platform_isv_whatsnew.html
181 lines (160 loc) · 8.43 KB
/
platform_isv_whatsnew.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
<!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 2020. 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="../book.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 Platform What's New in 4.22</title>
</head>
<body>
<h2>What's New in Eclipse 4.22</h2>
<p>Here are descriptions of some of the changes of interest to plug-in developers
made to the Eclipse Platform and SWT for the 4.22 release of Eclipse.
</p>
<ul><!-- NOTE: Sync ../topics_WhatsNew.xml with this! -->
<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>
<p>
New features oriented towards end-users of the platform
can be viewed in the
<a href="../../org.eclipse.platform.doc.user/whatsNew/platform_whatsnew.html">What's New</a>
section of the Workbench User Guide.
</p>
<!-- ****************** 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"><a href="#api-jface-tv">New API for JFace TextViewers: IMultiTextSelection</a></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"><a href="#enable-select-all">Enable "Select All" with IFindReplaceTargetExtension4</a></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"><a href="#double-click-prob">Double click on Problem without File shows in default view</a></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>
<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">
<description>My own Perspective</description>
</perspective>
</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"><a href="#resource-cache">Resource cache in Jface</a></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"><a href="#display-syncall-returnvalue">Display.syncCall() returns a value from SWT thread</a></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"><a href="#tree-fires-emptinesschanged">Tree fires SWT.EmptinessChanged event</a></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"><a href="#log-unsafe-transport">Log unsafe transport or verification technologies used at installation</a></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 ****************** -->
</body>
</html>