[485299] More (slightly smaller) Modeling N&N for Neon:
Bug: 485299
Change-Id: I0db636f22d3f01e221e03810d902b2035a972888
Signed-off-by: Cedric Brun <cedric.brun@obeo.fr>
diff --git a/noteworthy/images/bidi-link.gif b/noteworthy/images/bidi-link.gif
new file mode 100644
index 0000000..76bdaba
--- /dev/null
+++ b/noteworthy/images/bidi-link.gif
Binary files differ
diff --git a/noteworthy/images/bordernodeposition.png b/noteworthy/images/bordernodeposition.png
new file mode 100644
index 0000000..afbdb73
--- /dev/null
+++ b/noteworthy/images/bordernodeposition.png
Binary files differ
diff --git a/noteworthy/images/compare-context-tooltips.png b/noteworthy/images/compare-context-tooltips.png
new file mode 100644
index 0000000..7d29081
--- /dev/null
+++ b/noteworthy/images/compare-context-tooltips.png
Binary files differ
diff --git a/noteworthy/images/compare-local.png b/noteworthy/images/compare-local.png
new file mode 100644
index 0000000..0017da9
--- /dev/null
+++ b/noteworthy/images/compare-local.png
Binary files differ
diff --git a/noteworthy/images/compare-readonly.png b/noteworthy/images/compare-readonly.png
new file mode 100644
index 0000000..4828e47
--- /dev/null
+++ b/noteworthy/images/compare-readonly.png
Binary files differ
diff --git a/noteworthy/images/ecoretools-inheritedcontent.png b/noteworthy/images/ecoretools-inheritedcontent.png
new file mode 100644
index 0000000..dbfe134
--- /dev/null
+++ b/noteworthy/images/ecoretools-inheritedcontent.png
Binary files differ
diff --git a/noteworthy/images/edge-stability.gif b/noteworthy/images/edge-stability.gif
new file mode 100644
index 0000000..cf14fa7
--- /dev/null
+++ b/noteworthy/images/edge-stability.gif
Binary files differ
diff --git a/noteworthy/images/elements-to-select.png b/noteworthy/images/elements-to-select.png
new file mode 100644
index 0000000..51fdd43
--- /dev/null
+++ b/noteworthy/images/elements-to-select.png
Binary files differ
diff --git a/noteworthy/images/i18n.png b/noteworthy/images/i18n.png
new file mode 100644
index 0000000..ddec2a3
--- /dev/null
+++ b/noteworthy/images/i18n.png
Binary files differ
diff --git a/noteworthy/images/sirius-border-styles.png b/noteworthy/images/sirius-border-styles.png
new file mode 100644
index 0000000..fce870c
--- /dev/null
+++ b/noteworthy/images/sirius-border-styles.png
Binary files differ
diff --git a/noteworthy/images/svg-render-after.png b/noteworthy/images/svg-render-after.png
new file mode 100644
index 0000000..7594984
--- /dev/null
+++ b/noteworthy/images/svg-render-after.png
Binary files differ
diff --git a/noteworthy/images/svg-render-before.png b/noteworthy/images/svg-render-before.png
new file mode 100644
index 0000000..6710844
--- /dev/null
+++ b/noteworthy/images/svg-render-before.png
Binary files differ
diff --git a/noteworthy/modeling.adoc b/noteworthy/modeling.adoc
index 8ad56e1..f1726cc 100644
--- a/noteworthy/modeling.adoc
+++ b/noteworthy/modeling.adoc
@@ -15,23 +15,53 @@
=== Code Generation
-http://www.eclipse.org/acceleo[Acceleo] introduced a new mechanism to launch code generators as part of a Maven build which is way easier and more robust by integrating with Tycho.
+http://www.eclipse.org/acceleo[Acceleo] introduced a new mechanism to launch code generators as part of a Maven build which is way easier and more robust by integrating with Tycho.
image::images/acceleo-launcher.png[]
+You will find several examples in https://github.com/cbrun/acceleo-launcher-examples/[this repository] ranging from launchging an UML to `C` code generation to exporting a Modeling project as a website.
+
=== Model Editors
-The http://www.eclipse.org/modeling/amalgam[Amalgam] project brings a new view to navigate and explore models.
+==== Amalgam
+
+The http://www.eclipse.org/modeling/amalgam[Amalgam] project brings a new view to navigate and explore models. Ecore models are supported right away and the view can be extended to support your domain specific models.
image::images/amalgam-explorer.png[]
+==== EcoreTools
When using the Ecore graphical modeler references might now be displayed directly within the class shapes if it's target is not in the diagram.
image::images/ecoretools-refnodes.png[]
+Inherited references will also be displayed if the super types are not in the diagram.
+
+image::images/ecoretools-inheritedcontent.png[]
+
+
+=== Model Comparison
+
+The Neon release brings experimental support for comparing diagrams of http://www.eclipse.org/sirius[Sirius] based modelers.
+
+image::images/compare-sirius-family.png[]
+
+
+With a right-click on a model element or resource in the viewer, a new context menu now offers you to merge all _non-conflicting_ differences that are _contained_ in the selected model element or resource with one click.
+With local models (both writable):
+
+image::images/compare-local.png[]
+
+With a read-only side (for example when using EGit):
+
+image::images/compare-readonly.png[]
+
+Each button now has a specific tooltip for each case depending on the selected element. It will display the best information depending on the context: which object will be affected by the merge action, and which side will be modified (or not) by the action.
+
+image::images/compare-context-tooltips.png[]
+
=== Custom Graphical Editors
With the new version of http://www.eclipse.org/sirius[Sirius] you can now define rich property views alongside the diagram definition without having to write a line of code.
@@ -46,9 +76,38 @@
image::images/svg-stencils-pick.gif[]
+SVG rendering has been improved and is now pixel-perfect https://bugs.eclipse.org/bugs/show_bug.cgi?id=442268[whatever the zoom level].
-=== Model Comparison
+Before:
-The Neon release brings experimental support for comparing diagrams of http://www.eclipse.org/sirius[Sirius] based modelers
+image::images/svg-render-before.png[]
-image::images/compare-sirius-family.png[]
\ No newline at end of file
+With Sirius 4.0:
+
+image::images/svg-render-after.png[]
+
+It is now possible to define dash edge styles for both the nodes and the containers (like it was already possible for edges).
+
+image::images/sirius-border-styles.png[]
+
+And the border node position relative to its parent can now be constrained on a specific side (NORTH, EAST, WEST or SOUTH).
+
+image::images/bordernodeposition.png[]
+
+The "Link with editor" button has been improved and is now bidirectional.
+
+image::images/bidi-link.gif[]
+
+You now have the possibility to configure which elements to automatically select after a tool execution, using this it is possible to streamline the user experience
+by making sure that it is always possible to directly type right after the application of the tool.
+
+image::images/elements-to-select.png[]
+
+The labels which are attached to an edge are now staying closer to it during a user modification.
+
+image::images/edge-stability.gif[]
+
+A new mechanism is introduced to externalize the messages in a `.odesign` model.
+
+image::images/i18n.png[]
+
diff --git a/noteworthy/noteworthy.html b/noteworthy/noteworthy.html
index 74ccea6..f8c82cf 100644
--- a/noteworthy/noteworthy.html
+++ b/noteworthy/noteworthy.html
@@ -1,117 +1,747 @@
<!DOCTYPE html>
<html lang="en">
<head>
-<meta charset="UTF-8">
-<!--[if IE]><meta http-equiv="X-UA-Compatible" content="IE=edge"><![endif]-->
-<meta name="viewport" content="width=device-width, initial-scale=1.0">
-<meta name="generator" content="Asciidoctor 1.5.2">
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<meta name="generator" content="AsciiDoc 8.6.9">
<title>Eclipse Neon New and Noteworthy</title>
-<style>
-@CHARSET "UTF-8";
+<style type="text/css">
+/* Shared CSS for AsciiDoc xhtml11 and html5 backends */
-div.paragraph, div.ulist {
- margin-left: 2em;
+/* Default font. */
+body {
+ font-family: Georgia,serif;
}
-div.sect3 {
- margin-left: 2em;
+/* Title font. */
+h1, h2, h3, h4, h5, h6,
+div.title, caption.title,
+thead, p.table.header,
+#toctitle,
+#author, #revnumber, #revdate, #revremark,
+#footer {
+ font-family: Arial,Helvetica,sans-serif;
}
-div.ulist p {
- margin-bottom: 0;
+body {
+ margin: 1em 5% 1em 5%;
}
-div.sect3 div.imageblock {
- margin-left: 6em;
+a {
+ color: blue;
+ text-decoration: underline;
+}
+a:visited {
+ color: fuchsia;
}
-div.sect3 {
- margin-bottom: 3em;
+em {
+ font-style: italic;
+ color: navy;
}
-div.sect3 div.admonitionblock {
- margin-left: 7em;
+strong {
+ font-weight: bold;
+ color: #083194;
}
-div.sect3 div.admonitionblock td {
- padding: 10px;
+h1, h2, h3, h4, h5, h6 {
+ color: #527bbd;
+ margin-top: 1.2em;
+ margin-bottom: 0.5em;
+ line-height: 1.3;
}
-div.sect3 div.admonitionblock .icon {
- font-weight: bold;
+h1, h2, h3 {
+ border-bottom: 2px solid silver;
+}
+h2 {
+ padding-top: 0.5em;
+}
+h3 {
+ float: left;
+}
+h3 + * {
+ clear: left;
+}
+h5 {
+ font-size: 1.0em;
}
-div.imageblock img {
- box-shadow: 10px 10px 5px #888888;
- margin-bottom: 15px;
- max-width: 100%;
+div.sectionbody {
+ margin-left: 0;
}
-div.imageblock img:hover {
-/* transform:scale(1,1);
- transform-origin:0 0;*/
-/* width: inherit;
- box-shadow: 10px 10px 5px #888888;*/
+hr {
+ border: 1px solid silver;
}
+
+p {
+ margin-top: 0.5em;
+ margin-bottom: 0.5em;
+}
+
+ul, ol, li > p {
+ margin-top: 0;
+}
+ul > li { color: #aaa; }
+ul > li > * { color: black; }
+
+.monospaced, code, pre {
+ font-family: "Courier New", Courier, monospace;
+ font-size: inherit;
+ color: navy;
+ padding: 0;
+ margin: 0;
+}
+pre {
+ white-space: pre-wrap;
+}
+
+#author {
+ color: #527bbd;
+ font-weight: bold;
+ font-size: 1.1em;
+}
+#email {
+}
+#revnumber, #revdate, #revremark {
+}
+
+#footer {
+ font-size: small;
+ border-top: 2px solid silver;
+ padding-top: 0.5em;
+ margin-top: 4.0em;
+}
+#footer-text {
+ float: left;
+ padding-bottom: 0.5em;
+}
+#footer-badges {
+ float: right;
+ padding-bottom: 0.5em;
+}
+
+#preamble {
+ margin-top: 1.5em;
+ margin-bottom: 1.5em;
+}
+div.imageblock, div.exampleblock, div.verseblock,
+div.quoteblock, div.literalblock, div.listingblock, div.sidebarblock,
+div.admonitionblock {
+ margin-top: 1.0em;
+ margin-bottom: 1.5em;
+}
+div.admonitionblock {
+ margin-top: 2.0em;
+ margin-bottom: 2.0em;
+ margin-right: 10%;
+ color: #606060;
+}
+
+div.content { /* Block element content. */
+ padding: 0;
+}
+
+/* Block element titles. */
+div.title, caption.title {
+ color: #527bbd;
+ font-weight: bold;
+ text-align: left;
+ margin-top: 1.0em;
+ margin-bottom: 0.5em;
+}
+div.title + * {
+ margin-top: 0;
+}
+
+td div.title:first-child {
+ margin-top: 0.0em;
+}
+div.content div.title:first-child {
+ margin-top: 0.0em;
+}
+div.content + div.title {
+ margin-top: 0.0em;
+}
+
+div.sidebarblock > div.content {
+ background: #ffffee;
+ border: 1px solid #dddddd;
+ border-left: 4px solid #f0f0f0;
+ padding: 0.5em;
+}
+
+div.listingblock > div.content {
+ border: 1px solid #dddddd;
+ border-left: 5px solid #f0f0f0;
+ background: #f8f8f8;
+ padding: 0.5em;
+}
+
+div.quoteblock, div.verseblock {
+ padding-left: 1.0em;
+ margin-left: 1.0em;
+ margin-right: 10%;
+ border-left: 5px solid #f0f0f0;
+ color: #888;
+}
+
+div.quoteblock > div.attribution {
+ padding-top: 0.5em;
+ text-align: right;
+}
+
+div.verseblock > pre.content {
+ font-family: inherit;
+ font-size: inherit;
+}
+div.verseblock > div.attribution {
+ padding-top: 0.75em;
+ text-align: left;
+}
+/* DEPRECATED: Pre version 8.2.7 verse style literal block. */
+div.verseblock + div.attribution {
+ text-align: left;
+}
+
+div.admonitionblock .icon {
+ vertical-align: top;
+ font-size: 1.1em;
+ font-weight: bold;
+ text-decoration: underline;
+ color: #527bbd;
+ padding-right: 0.5em;
+}
+div.admonitionblock td.content {
+ padding-left: 0.5em;
+ border-left: 3px solid #dddddd;
+}
+
+div.exampleblock > div.content {
+ border-left: 3px solid #dddddd;
+ padding-left: 0.5em;
+}
+
+div.imageblock div.content { padding-left: 0; }
+span.image img { border-style: none; vertical-align: text-bottom; }
+a.image:visited { color: white; }
+
+dl {
+ margin-top: 0.8em;
+ margin-bottom: 0.8em;
+}
+dt {
+ margin-top: 0.5em;
+ margin-bottom: 0;
+ font-style: normal;
+ color: navy;
+}
+dd > *:first-child {
+ margin-top: 0.1em;
+}
+
+ul, ol {
+ list-style-position: outside;
+}
+ol.arabic {
+ list-style-type: decimal;
+}
+ol.loweralpha {
+ list-style-type: lower-alpha;
+}
+ol.upperalpha {
+ list-style-type: upper-alpha;
+}
+ol.lowerroman {
+ list-style-type: lower-roman;
+}
+ol.upperroman {
+ list-style-type: upper-roman;
+}
+
+div.compact ul, div.compact ol,
+div.compact p, div.compact p,
+div.compact div, div.compact div {
+ margin-top: 0.1em;
+ margin-bottom: 0.1em;
+}
+
+tfoot {
+ font-weight: bold;
+}
+td > div.verse {
+ white-space: pre;
+}
+
+div.hdlist {
+ margin-top: 0.8em;
+ margin-bottom: 0.8em;
+}
+div.hdlist tr {
+ padding-bottom: 15px;
+}
+dt.hdlist1.strong, td.hdlist1.strong {
+ font-weight: bold;
+}
+td.hdlist1 {
+ vertical-align: top;
+ font-style: normal;
+ padding-right: 0.8em;
+ color: navy;
+}
+td.hdlist2 {
+ vertical-align: top;
+}
+div.hdlist.compact tr {
+ margin: 0;
+ padding-bottom: 0;
+}
+
+.comment {
+ background: yellow;
+}
+
+.footnote, .footnoteref {
+ font-size: 0.8em;
+}
+
+span.footnote, span.footnoteref {
+ vertical-align: super;
+}
+
+#footnotes {
+ margin: 20px 0 20px 0;
+ padding: 7px 0 0 0;
+}
+
+#footnotes div.footnote {
+ margin: 0 0 5px 0;
+}
+
+#footnotes hr {
+ border: none;
+ border-top: 1px solid silver;
+ height: 1px;
+ text-align: left;
+ margin-left: 0;
+ width: 20%;
+ min-width: 100px;
+}
+
+div.colist td {
+ padding-right: 0.5em;
+ padding-bottom: 0.3em;
+ vertical-align: top;
+}
+div.colist td img {
+ margin-top: 0.3em;
+}
+
+@media print {
+ #footer-badges { display: none; }
+}
+
+#toc {
+ margin-bottom: 2.5em;
+}
+
+#toctitle {
+ color: #527bbd;
+ font-size: 1.1em;
+ font-weight: bold;
+ margin-top: 1.0em;
+ margin-bottom: 0.1em;
+}
+
+div.toclevel0, div.toclevel1, div.toclevel2, div.toclevel3, div.toclevel4 {
+ margin-top: 0;
+ margin-bottom: 0;
+}
+div.toclevel2 {
+ margin-left: 2em;
+ font-size: 0.9em;
+}
+div.toclevel3 {
+ margin-left: 4em;
+ font-size: 0.9em;
+}
+div.toclevel4 {
+ margin-left: 6em;
+ font-size: 0.9em;
+}
+
+span.aqua { color: aqua; }
+span.black { color: black; }
+span.blue { color: blue; }
+span.fuchsia { color: fuchsia; }
+span.gray { color: gray; }
+span.green { color: green; }
+span.lime { color: lime; }
+span.maroon { color: maroon; }
+span.navy { color: navy; }
+span.olive { color: olive; }
+span.purple { color: purple; }
+span.red { color: red; }
+span.silver { color: silver; }
+span.teal { color: teal; }
+span.white { color: white; }
+span.yellow { color: yellow; }
+
+span.aqua-background { background: aqua; }
+span.black-background { background: black; }
+span.blue-background { background: blue; }
+span.fuchsia-background { background: fuchsia; }
+span.gray-background { background: gray; }
+span.green-background { background: green; }
+span.lime-background { background: lime; }
+span.maroon-background { background: maroon; }
+span.navy-background { background: navy; }
+span.olive-background { background: olive; }
+span.purple-background { background: purple; }
+span.red-background { background: red; }
+span.silver-background { background: silver; }
+span.teal-background { background: teal; }
+span.white-background { background: white; }
+span.yellow-background { background: yellow; }
+
+span.big { font-size: 2em; }
+span.small { font-size: 0.6em; }
+
+span.underline { text-decoration: underline; }
+span.overline { text-decoration: overline; }
+span.line-through { text-decoration: line-through; }
+
+div.unbreakable { page-break-inside: avoid; }
+
+
+/*
+ * xhtml11 specific
+ *
+ * */
+
+div.tableblock {
+ margin-top: 1.0em;
+ margin-bottom: 1.5em;
+}
+div.tableblock > table {
+ border: 3px solid #527bbd;
+}
+thead, p.table.header {
+ font-weight: bold;
+ color: #527bbd;
+}
+p.table {
+ margin-top: 0;
+}
+/* Because the table frame attribute is overriden by CSS in most browsers. */
+div.tableblock > table[frame="void"] {
+ border-style: none;
+}
+div.tableblock > table[frame="hsides"] {
+ border-left-style: none;
+ border-right-style: none;
+}
+div.tableblock > table[frame="vsides"] {
+ border-top-style: none;
+ border-bottom-style: none;
+}
+
+
+/*
+ * html5 specific
+ *
+ * */
+
+table.tableblock {
+ margin-top: 1.0em;
+ margin-bottom: 1.5em;
+}
+thead, p.tableblock.header {
+ font-weight: bold;
+ color: #527bbd;
+}
+p.tableblock {
+ margin-top: 0;
+}
+table.tableblock {
+ border-width: 3px;
+ border-spacing: 0px;
+ border-style: solid;
+ border-color: #527bbd;
+ border-collapse: collapse;
+}
+th.tableblock, td.tableblock {
+ border-width: 1px;
+ padding: 4px;
+ border-style: solid;
+ border-color: #527bbd;
+}
+
+table.tableblock.frame-topbot {
+ border-left-style: hidden;
+ border-right-style: hidden;
+}
+table.tableblock.frame-sides {
+ border-top-style: hidden;
+ border-bottom-style: hidden;
+}
+table.tableblock.frame-none {
+ border-style: hidden;
+}
+
+th.tableblock.halign-left, td.tableblock.halign-left {
+ text-align: left;
+}
+th.tableblock.halign-center, td.tableblock.halign-center {
+ text-align: center;
+}
+th.tableblock.halign-right, td.tableblock.halign-right {
+ text-align: right;
+}
+
+th.tableblock.valign-top, td.tableblock.valign-top {
+ vertical-align: top;
+}
+th.tableblock.valign-middle, td.tableblock.valign-middle {
+ vertical-align: middle;
+}
+th.tableblock.valign-bottom, td.tableblock.valign-bottom {
+ vertical-align: bottom;
+}
+
+
+/*
+ * manpage specific
+ *
+ * */
+
+body.manpage h1 {
+ padding-top: 0.5em;
+ padding-bottom: 0.5em;
+ border-top: 2px solid silver;
+ border-bottom: 2px solid silver;
+}
+body.manpage h2 {
+ border-style: none;
+}
+body.manpage div.sectionbody {
+ margin-left: 3em;
+}
+
+@media print {
+ body.manpage div#toc { display: none; }
+}
+
+
</style>
-<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.2.0/css/font-awesome.min.css">
+<script type="text/javascript">
+/*<+'])');
+ // Function that scans the DOM tree for header elements (the DOM2
+ // nodeIterator API would be a better technique but not supported by all
+ // browsers).
+ var iterate = function (el) {
+ for (var i = el.firstChild; i != null; i = i.nextSibling) {
+ if (i.nodeType == 1 /* Node.ELEMENT_NODE */) {
+ var mo = re.exec(i.tagName);
+ if (mo && (i.getAttribute("class") || i.getAttribute("className")) != "float") {
+ result[result.length] = new TocEntry(i, getText(i), mo[1]-1);
+ }
+ iterate(i);
+ }
+ }
+ }
+ iterate(el);
+ return result;
+ }
+
+ var toc = document.getElementById("toc");
+ if (!toc) {
+ return;
+ }
+
+ // Delete existing TOC entries in case we're reloading the TOC.
+ var tocEntriesToRemove = [];
+ var i;
+ for (i = 0; i < toc.childNodes.length; i++) {
+ var entry = toc.childNodes[i];
+ if (entry.nodeName.toLowerCase() == 'div'
+ && entry.getAttribute("class")
+ && entry.getAttribute("class").match(/^toclevel/))
+ tocEntriesToRemove.push(entry);
+ }
+ for (i = 0; i < tocEntriesToRemove.length; i++) {
+ toc.removeChild(tocEntriesToRemove[i]);
+ }
+
+ // Rebuild TOC entries.
+ var entries = tocEntries(document.getElementById("content"), toclevels);
+ for (var i = 0; i < entries.length; ++i) {
+ var entry = entries[i];
+ if (entry.element.id == "")
+ entry.element.id = "_toc_" + i;
+ var a = document.createElement("a");
+ a.href = "#" + entry.element.id;
+ a.appendChild(document.createTextNode(entry.text));
+ var div = document.createElement("div");
+ div.appendChild(a);
+ div.className = "toclevel" + entry.toclevel;
+ toc.appendChild(div);
+ }
+ if (entries.length == 0)
+ toc.parentNode.removeChild(toc);
+},
+
+
+/////////////////////////////////////////////////////////////////////
+// Footnotes generator
+/////////////////////////////////////////////////////////////////////
+
+/* Based on footnote generation code from:
+ * http://www.brandspankingnew.net/archive/2005/07/format_footnote.html
+ */
+
+footnotes: function () {
+ // Delete existing footnote entries in case we're reloading the footnodes.
+ var i;
+ var noteholder = document.getElementById("footnotes");
+ if (!noteholder) {
+ return;
+ }
+ var entriesToRemove = [];
+ for (i = 0; i < noteholder.childNodes.length; i++) {
+ var entry = noteholder.childNodes[i];
+ if (entry.nodeName.toLowerCase() == 'div' && entry.getAttribute("class") == "footnote")
+ entriesToRemove.push(entry);
+ }
+ for (i = 0; i < entriesToRemove.length; i++) {
+ noteholder.removeChild(entriesToRemove[i]);
+ }
+
+ // Rebuild footnote entries.
+ var cont = document.getElementById("content");
+ var spans = cont.getElementsByTagName("span");
+ var refs = {};
+ var n = 0;
+ for (i=0; i<spans.length; i++) {
+ if (spans[i].className == "footnote") {
+ n++;
+ var note = spans[i].getAttribute("data-note");
+ if (!note) {
+ // Use [\s\S] in place of . so multi-line matches work.
+ // Because JavaScript has no s (dotall) regex flag.
+ note = spans[i].innerHTML.match(/\s*\[([\s\S]*)]\s*/)[1];
+ spans[i].innerHTML =
+ "[<a id='_footnoteref_" + n + "' href='#_footnote_" + n +
+ "' title='View footnote' class='footnote'>" + n + "</a>]";
+ spans[i].setAttribute("data-note", note);
+ }
+ noteholder.innerHTML +=
+ "<div class='footnote' id='_footnote_" + n + "'>" +
+ "<a href='#_footnoteref_" + n + "' title='Return to text'>" +
+ n + "</a>. " + note + "</div>";
+ var id =spans[i].getAttribute("id");
+ if (id != null) refs["#"+id] = n;
+ }
+ }
+ if (n == 0)
+ noteholder.parentNode.removeChild(noteholder);
+ else {
+ // Process footnoterefs.
+ for (i=0; i<spans.length; i++) {
+ if (spans[i].className == "footnoteref") {
+ var href = spans[i].getElementsByTagName("a")[0].getAttribute("href");
+ href = href.match(/#.*/)[0]; // Because IE return full URL.
+ n = refs[href];
+ spans[i].innerHTML =
+ "[<a href='#_footnote_" + n +
+ "' title='View footnote' class='footnote'>" + n + "</a>]";
+ }
+ }
+ }
+},
+
+install: function(toclevels) {
+ var timerId;
+
+ function reinstall() {
+ asciidoc.footnotes();
+ if (toclevels) {
+ asciidoc.toc(toclevels);
+ }
+ }
+
+ function reinstallAndRemoveTimer() {
+ clearInterval(timerId);
+ reinstall();
+ }
+
+ timerId = setInterval(reinstall, 500);
+ if (document.addEventListener)
+ document.addEventListener("DOMContentLoaded", reinstallAndRemoveTimer, false);
+ else
+ window.onload = reinstallAndRemoveTimer;
+}
+
+}
+asciidoc.install(2);
+/*]]>*/
+</script>
</head>
<body class="article">
<div id="header">
<h1>Eclipse Neon New and Noteworthy</h1>
-<div id="toc" class="toc">
-<div id="toctitle">Table of Contents</div>
-<ul class="sectlevel1">
-<li><a href="#platform">Platform</a>
-<ul class="sectlevel2">
-<li><a href="#_general">General</a></li>
-<li><a href="#_look_and_feel">Look and Feel</a></li>
-<li><a href="#_other_changes_and_improvements">Other Changes and Improvements</a></li>
-</ul>
-</li>
-<li><a href="#java">Java™</a>
-<ul class="sectlevel2">
-<li><a href="#_java_9">Java 9</a></li>
-<li><a href="#_java_editor">Java Editor</a></li>
-<li><a href="#_java_views_wizards_and_other_ui">Java Views, Wizards, and Other UI</a></li>
-<li><a href="#_debug">Debug</a></li>
-<li><a href="#_null_analysis">Null Analysis</a></li>
-</ul>
-</li>
-<li><a href="#cdt">C/C++</a>
-<ul class="sectlevel2">
-<li><a href="#_general_2">General</a></li>
-<li><a href="#_debug_2">Debug</a></li>
-<li><a href="#_other_change_and_improvements">Other Change and Improvements</a></li>
-</ul>
-</li>
-<li><a href="#pdt">PHP</a>
-<ul class="sectlevel2">
-<li><a href="#pdt-general">General</a></li>
-<li><a href="#_editors">Editors</a></li>
-<li><a href="#pdt-debugging">Debugging</a></li>
-<li><a href="#pdt-other">Other</a></li>
-<li><a href="#general">General</a></li>
-</ul>
-</li>
-<li><a href="#modeling">Modeling</a>
-<ul class="sectlevel2">
-<li><a href="#_code_generation">Code Generation</a></li>
-<li><a href="#_model_editors">Model Editors</a></li>
-<li><a href="#_custom_graphical_editors">Custom Graphical Editors</a></li>
-<li><a href="#_model_comparison">Model Comparison</a></li>
-</ul>
-</li>
-<li><a href="#sources">Sources</a></li>
-</ul>
+<div id="toc">
+ <div id="toctitle">Table of Contents</div>
+ <noscript><p><b>JavaScript must be enabled in your browser to display the table of contents.</b></p></noscript>
</div>
</div>
<div id="content">
<div id="preamble">
<div class="sectionbody">
-<div class="paragraph">
-<p>Here are some of the noteworthy features in the Eclipse Neon Simultaneous Release.</p>
-</div>
+<div class="paragraph"><p>Here are some of the noteworthy features in the Eclipse Neon Simultaneous Release.</p></div>
</div>
</div>
<div class="sect1">
@@ -121,67 +751,49 @@
<h3 id="_general">General</h3>
<div class="sect3">
<h4 id="_improved_interactive_performance_and_reduced_memory_consumption">Improved interactive performance and reduced memory consumption</h4>
-<div class="paragraph">
-<p>This and earlier milestones contain a multitude of fixes to enhance interactive and startup performance of the Eclipse IDE, and to reduce overall memory consumption.</p>
-</div>
-<div class="paragraph">
-<p>TBD: insert some benchmarks</p>
-</div>
+<div class="paragraph"><p>This and earlier milestones contain a multitude of fixes to enhance interactive and startup performance of the Eclipse IDE, and to reduce overall memory consumption.</p></div>
+<div class="paragraph"><p>TBD: insert some benchmarks</p></div>
</div>
<div class="sect3">
<h4 id="_import_projects">Import Projects</h4>
-<div class="paragraph">
-<p>A new <strong>Import Projects</strong> wizard is available via the <code>File > Open Projects…​</code>
-menu and via the general <code>Import…​</code> command under <code>General > Projects</code> from Folder
-or Archive.</p>
-</div>
-<div class="paragraph">
-<p>Compared to other ways to import or create projects, this wizard aims at being
+<div class="paragraph"><p>A new <strong>Import Projects</strong> wizard is available via the <span class="monospaced">File > Open Projects...</span>
+menu and via the general <span class="monospaced">Import...</span> command under <span class="monospaced">General > Projects</span> from Folder
+or Archive.</p></div>
+<div class="paragraph"><p>Compared to other ways to import or create projects, this wizard aims at being
a universal wizard that, from a source directory or archive, can detect and
-configure various kinds of projects.</p>
-</div>
+configure various kinds of projects.</p></div>
<div class="imageblock">
<div class="content">
-<img src="images/import-projects.png" alt="import projects">
+<img src="images/import-projects.png" alt="images/import-projects.png">
</div>
</div>
-<div class="paragraph">
-<p>This wizard relies on an extensible set of strategies that look at the content
+<div class="paragraph"><p>This wizard relies on an extensible set of strategies that look at the content
of the import source to detect file types, project layout patterns, or even
look into some files in order to deduct which folders should be turned into
projects and how those should be configured. Configuration usually involves
-setting up project natures and preferences.</p>
-</div>
-<div class="paragraph">
-<p>The import strategies are contributed via the new extension point
-org.eclipse.ui.ide.projectConfigurator, so that other IDE components can contribute
-detection and configuration specific to the technology they’re supporting.</p>
-</div>
+setting up project natures and preferences.</p></div>
+<div class="paragraph"><p>The import strategies are contributed via the new extension point
+<span class="monospaced">org.eclipse.ui.ide.projectConfigurator</span>, so that other IDE components can contribute
+detection and configuration specific to the technology they’re supporting.</p></div>
</div>
<div class="sect3">
<h4 id="_search_in_binary_files">Search in binary files</h4>
-<div class="paragraph">
-<p>The Search > File... dialog has a new option to search in binary files as well.</p>
-</div>
+<div class="paragraph"><p>The <span class="monospaced">Search > File…</span> dialog has a new option to search in binary files as well.</p></div>
<div class="imageblock">
<div class="content">
-<img src="images/search-binary-files.png" alt="search binary files">
+<img src="images/search-binary-files.png" alt="images/search-binary-files.png">
</div>
</div>
-<div class="paragraph">
-<p>By default, the option is disabled, and matches are only reported in files that
+<div class="paragraph"><p>By default, the option is disabled, and matches are only reported in files that
have the <strong>Text</strong> content type, or in files that have no content type and don’t
-contain the null character (\u0000).</p>
-</div>
+contain the null character (<span class="monospaced">\u0000</span>).</p></div>
</div>
<div class="sect3">
<h4 id="_automatic_save_of_dirty_editors">Automatic Save of dirty editors</h4>
-<div class="paragraph">
-<p>Auto-save of dirty editors is now available in Eclipse. The autosave option is disabled by default. A new autosave preference page (Preferences > General > Editors > Autosave) is available and allows to enable/disable the autosave and change the interval of autosave. The countdown is reset on keyboard activity, mouse click, or when a popup is displayed (e.g. content assist, preference page, …​).</p>
-</div>
+<div class="paragraph"><p>Auto-save of dirty editors is now available in Eclipse. The autosave option is disabled by default. A new autosave preference page (Preferences > General > Editors > Autosave) is available and allows to enable/disable the autosave and change the interval of autosave. The countdown is reset on keyboard activity, mouse click, or when a popup is displayed (e.g. content assist, preference page, …).</p></div>
<div class="imageblock">
<div class="content">
-<img src="images/autosave-preference-page.png" alt="autosave preference page">
+<img src="images/autosave-preference-page.png" alt="images/autosave-preference-page.png">
</div>
</div>
</div>
@@ -190,233 +802,185 @@
<h3 id="_look_and_feel">Look and Feel</h3>
<div class="sect3">
<h4 id="_resolution_based_image_auto_scaling">Resolution-based image auto-scaling</h4>
-<div class="paragraph">
-<p>Images now automatically scale on high-DPI monitors on Windows and Linux,
+<div class="paragraph"><p>Images now automatically scale on high-DPI monitors on Windows and Linux,
similar to the Mac’s Retina support on OS X. In the absence of high-resolution
images, available images are automatically scaled proportionately to the
-resolution of the monitor.</p>
-</div>
+resolution of the monitor.</p></div>
<div class="imageblock">
<div class="content">
-<img src="images/swt-high-dpi.png" alt="swt high dpi">
+<img src="images/swt-high-dpi.png" alt="images/swt-high-dpi.png">
</div>
</div>
</div>
<div class="sect3">
<h4 id="_preference_setting_to_disable_css_based_theming">Preference setting to disable CSS based theming</h4>
-<div class="paragraph">
-<p>You can disable the CSS-based styling of the Eclipse IDE via
-Preferences > General > Appearance > Enable theming. This will prevent the Eclipse
+<div class="paragraph"><p>You can disable the CSS-based styling of the Eclipse IDE via
+<span class="monospaced">Preferences > General > Appearance > Enable theming</span>. This will prevent the Eclipse
Workbench from rendering custom colors, shades, and borders, and may result in better
-performance.</p>
-</div>
+performance.</p></div>
<div class="imageblock">
<div class="content">
-<img src="images/enable-disable-theming.png" alt="enable disable theming">
+<img src="images/enable-disable-theming.png" alt="images/enable-disable-theming.png">
</div>
</div>
</div>
<div class="sect3">
<h4 id="_full_screen">Full Screen</h4>
-<div class="paragraph">
-<p>The Full Screen feature is now also available on Windows and Linux. You can toggle
-the mode via shortcut (Alt+F11) or menu (Window > Appearance > Toggle Full Screen).</p>
-</div>
-<div class="paragraph">
-<p>When Full Screen is activated, you’ll see a dialog which tells you how to turn it off again.</p>
-</div>
+<div class="paragraph"><p>The Full Screen feature is now also available on Windows and Linux. You can toggle
+the mode via shortcut (<span class="monospaced">Alt+F11</span>) or menu (<span class="monospaced">Window > Appearance > Toggle Full Screen</span>).</p></div>
+<div class="paragraph"><p>When Full Screen is activated, you’ll see a dialog which tells you how to turn it off again.</p></div>
</div>
<div class="sect3">
<h4 id="_hide_the_window_toolbars">Hide the window toolbars</h4>
-<div class="paragraph">
-<p>You can use the Toggle Visibility of all Toolbars command (via Quick Access:
-Ctrl+3 or Command+3) to hide all currently visible toolbars of the currently
+<div class="paragraph"><p>You can use the Toggle Visibility of all Toolbars command (via Quick Access:
+<span class="monospaced">Ctrl+3</span> or <span class="monospaced">Command+3</span>) to hide all currently visible toolbars of the currently
window. Selecting the command again, reveals these toolbars again. This allows
the developer to maximize the space available for editors and views. If you
minimize a stack after you selected this command, the minimized stack will be
visible until you trigger the command to hide the toolbars again. This allows
-you to decide which minimized stacks are currently useful for you.</p>
-</div>
-<div class="paragraph">
-<p>The following is a screenshot of the IDE with a maximized Java editor
-and several toolbars visible.</p>
-</div>
+you to decide which minimized stacks are currently useful for you.</p></div>
+<div class="paragraph"><p>The following is a screenshot of the IDE with a maximized Java editor
+and several toolbars visible.</p></div>
<div class="imageblock">
<div class="content">
-<img src="images/ide-with-toolbars.png" alt="ide with toolbars">
+<img src="images/ide-with-toolbars.png" alt="images/ide-with-toolbars.png">
</div>
</div>
-<div class="paragraph">
-<p>The next screenshot shows the same maximized editor but with hidden toolbars.</p>
-</div>
+<div class="paragraph"><p>The next screenshot shows the same maximized editor but with hidden toolbars.</p></div>
<div class="imageblock">
<div class="content">
-<img src="images/ide-full-screen.png" alt="ide full screen">
+<img src="images/ide-full-screen.png" alt="images/ide-full-screen.png">
</div>
</div>
</div>
<div class="sect3">
<h4 id="_word_wrap_in_text_editors">Word wrap in text editors</h4>
-<div class="paragraph">
-<p>A Toggle Word Wrap button has been added to the workbench toolbar.
-Shortcut: Alt+Shift+Y.</p>
-</div>
+<div class="paragraph"><p>A Toggle Word Wrap button has been added to the workbench toolbar.
+Shortcut: <span class="monospaced">Alt+Shift+Y</span>.</p></div>
<div class="imageblock">
<div class="content">
-<img src="images/word-wrap.png" alt="word wrap">
+<img src="images/word-wrap.png" alt="images/word-wrap.png">
</div>
</div>
-<div class="paragraph">
-<p>By default, text editors are opened with word wrap disabled.</p>
-</div>
+<div class="paragraph"><p>By default, text editors are opened with word wrap disabled.</p></div>
</div>
<div class="sect3">
<h4 id="_commands_and_shortcuts_to_zoom_in_text_editors">Commands and shortcuts to zoom in text editors</h4>
-<div class="paragraph">
-<p>In text editors, you can now use Zoom In (Ctrl++ or Ctrl+=)
-and Zoom Out (Ctrl+-) commands to increase and decrease the font size.</p>
-</div>
-<div class="paragraph">
-<p>Like a change in the General > Appearance > Colors and Fonts preference page,
+<div class="paragraph"><p>In text editors, you can now use Zoom In (<span class="monospaced">Ctrl++</span> or <span class="monospaced">Ctrl+=</span>)
+and Zoom Out (<span class="monospaced">Ctrl+-</span>) commands to increase and decrease the font size.</p></div>
+<div class="paragraph"><p>Like a change in the <span class="monospaced">General > Appearance > Colors and Fonts</span> preference page,
the commands persistently change the font size in all editors of the same type.
If the editor type’s font is configured to use a default font, then that
-default font will be zoomed.</p>
-</div>
+default font will be zoomed.</p></div>
</div>
<div class="sect3">
<h4 id="_pinch_to_zoom_in_text_editors">Pinch to zoom in text editors</h4>
-<div class="paragraph">
-<p>To temporarily zoom the editor font in text editors, use a "pinch" gesture on a
-touchpad. Put two fingers on the touchpad and move them apart or together.</p>
-</div>
-<div class="paragraph">
-<p>To reset the original font size, rotate two fingers by at least 45°, or close
-and reopen the editor (Navigate > Back).</p>
-</div>
-<div class="paragraph">
-<p>Those gestures only affect the current editor. Changes are neither propagated
-to other editors nor persisted.</p>
-</div>
-<div class="admonitionblock note">
-<table>
-<tr>
+<div class="paragraph"><p>To temporarily zoom the editor font in text editors, use a "pinch" gesture on a
+touchpad. Put two fingers on the touchpad and move them apart or together.</p></div>
+<div class="paragraph"><p>To reset the original font size, rotate two fingers by at least 45°, or close
+and reopen the editor (<span class="monospaced">Navigate > Back</span>).</p></div>
+<div class="paragraph"><p>Those gestures only affect the current editor. Changes are neither propagated
+to other editors nor persisted.</p></div>
+<div class="admonitionblock">
+<table><tr>
<td class="icon">
-<i class="fa icon-note" title="Note"></i>
+<img src="./images/icons/note.png" alt="Note">
</td>
-<td class="content">
-SWT currently only supports these gestures on OS X and on Windows systems
+<td class="content">SWT currently only supports these gestures on OS X and on Windows systems
that use the native multi-touch support. Touchpads that emulate mouse move/scroll
-events don’t support gestures. Gesture support on GTK is not implemented yet.
-</td>
-</tr>
-</table>
+events don’t support gestures. Gesture support on GTK is not implemented yet.</td>
+</tr></table>
</div>
</div>
<div class="sect3">
<h4 id="_directly_start_previously_selected_workspaces_in_the_launcher">Directly start previously selected workspaces in the launcher</h4>
-<div class="paragraph">
-<p>The workspace selection dialog now allows you to start a previously selected
+<div class="paragraph"><p>The workspace selection dialog now allows you to start a previously selected
workspace directly via a link. The path to the workspace is shortened. The full
-path is available if you hover over the link.</p>
-</div>
+path is available if you hover over the link.</p></div>
<div class="imageblock">
<div class="content">
-<img src="images/recent-workspace-launcher.png" alt="recent workspace launcher">
+<img src="images/recent-workspace-launcher.png" alt="images/recent-workspace-launcher.png">
</div>
</div>
-<div class="paragraph">
-<p>You can remove existing entries via the context menu.</p>
-</div>
+<div class="paragraph"><p>You can remove existing entries via the context menu.</p></div>
</div>
<div class="sect3">
<h4 id="_selecting_the_text_editor_for_unassociated_file_types">Selecting the text editor for unassociated file types</h4>
-<div class="paragraph">
-<p>On the Preferences > General > Editors > File Association page, you can now
+<div class="paragraph"><p>On the <span class="monospaced">Preferences > General > Editors > File Association</span> page, you can now
define an editor selection strategy for unassociated file types. Three strategies
-are provided out-of-the-box:</p>
-</div>
-<div class="ulist">
-<ul>
+are provided out-of-the-box:</p></div>
+<div class="ulist"><ul>
<li>
-<p><em>Search Marketplace</em> (default) will use the Eclipse Marketplace Client to
+<p>
+<em>Search Marketplace</em> (default) will use the Eclipse Marketplace Client to
search the <a href="http://marketplace.eclipse.org">Eclipse Marketplace</a> for plug-ins that
-support the file type;</p>
+support the file type;
+</p>
</li>
<li>
-<p><em>System Editor; if none: Text Editor</em> will open the system editor
+<p>
+<em>System Editor; if none: Text Editor</em> will open the system editor
associated with the file, if available. If no system editor is associated with
-the given file, fall back to the Eclipse Text Editor;</p>
+the given file, fall back to the Eclipse Text Editor;
+</p>
</li>
<li>
-<p><em>Text Editor</em> will always open Eclipse’s Text Editor on unassociated file types;
-and</p>
+<p>
+<em>Text Editor</em> will always open Eclipse’s Text Editor on unassociated file types;
+and
+</p>
</li>
<li>
-<p><em>Ask via pop-up</em> will open the same dialog as using Open With > Other... on a
-file and let you choose which editor to use (inside or outside the IDE).</p>
+<p>
+<em>Ask via pop-up</em> will open the same dialog as using <span class="monospaced">Open With > Other…</span> on a
+file and let you choose which editor to use (inside or outside the IDE).
+</p>
</li>
-</ul>
-</div>
-<div class="admonitionblock note">
-<table>
-<tr>
+</ul></div>
+<div class="admonitionblock">
+<table><tr>
<td class="icon">
-<i class="fa icon-note" title="Note"></i>
+<img src="./images/icons/note.png" alt="Note">
</td>
-<td class="content">
-It’s possible to assign an editor for an <em>unassociated</em>
-file type either via this same preference page, or via the Open With > Other...
-context-menu on the file.
-</td>
-</tr>
-</table>
+<td class="content">It’s possible to assign an editor for an <em>unassociated</em>
+file type either via this same preference page, or via the <span class="monospaced">Open With > Other…</span>
+context-menu on the file.</td>
+</tr></table>
</div>
-<div class="paragraph">
-<p>The implementation comes with a new extension-point org.eclipse.ui.ide.unknownEditorStrategy
-that allows external contributions of additional strategies.</p>
-</div>
+<div class="paragraph"><p>The implementation comes with a new extension-point <span class="monospaced">org.eclipse.ui.ide.unknownEditorStrategy</span>
+that allows external contributions of additional strategies.</p></div>
</div>
<div class="sect3">
<h4 id="_quick_access_improvements">Quick Access improvements</h4>
-<div class="paragraph">
-<p>Quick Access (Ctrl+3) is a small text field in the toolbar. You can use it to
-trigger any command in the Eclipse Workbench.</p>
-</div>
+<div class="paragraph"><p>Quick Access (<span class="monospaced">Ctrl+3</span>) is a small text field in the toolbar. You can use it to
+trigger any command in the Eclipse Workbench.</p></div>
<div class="imageblock">
<div class="content">
-<img src="images/eclipse-quick-access-improved-search.png" alt="eclipse quick access improved search">
+<img src="images/eclipse-quick-access-improved-search.png" alt="images/eclipse-quick-access-improved-search.png">
</div>
</div>
-<div class="paragraph">
-<p>You can now restrict the search to Views, Commands, etc. by typing the category name
+<div class="paragraph"><p>You can now restrict the search to Views, Commands, etc. by typing the category name
followed by a colon. For example, to filter the list of all the views, start typing
-"Views: " in the search-box.</p>
-</div>
-<div class="paragraph">
-<p>A few usability bugs have been fixed: The tooltip shows the keyboard shortcut, the
+"Views: " in the search-box.</p></div>
+<div class="paragraph"><p>A few usability bugs have been fixed: The tooltip shows the keyboard shortcut, the
number of search results per category is independent of the size of the proposals
window, and the list with previous choices already opens when you click the field
-with the mouse.</p>
-</div>
+with the mouse.</p></div>
</div>
<div class="sect3">
<h4 id="_new_welcome_screen">New Welcome Screen</h4>
-<div class="paragraph">
-<p>The Welcome/Intro introduces a new <em>Solstice</em> theme that provides a new modern
-appearance and enhanced functionality.</p>
-</div>
+<div class="paragraph"><p>The Welcome/Intro introduces a new <em>Solstice</em> theme that provides a new modern
+appearance and enhanced functionality.</p></div>
<div class="imageblock">
<div class="content">
-<img src="images/eclipse-welcome-solstice.png" alt="eclipse welcome solstice">
+<img src="images/eclipse-welcome-solstice.png" alt="images/eclipse-welcome-solstice.png">
</div>
</div>
-<div class="paragraph">
-<p>In Eclipse 3.x, the <em>Go to Workbench</em> button on the Welcome page would minimize
-the Welcome page to the window status bar. This behavior has been restored.</p>
-</div>
+<div class="paragraph"><p>In Eclipse 3.x, the <em>Go to Workbench</em> button on the Welcome page would minimize
+the Welcome page to the window status bar. This behavior has been restored.</p></div>
<div class="imageblock">
<div class="content">
-<img src="images/eclipse-welcome-launchbar.png" alt="eclipse welcome launchbar">
+<img src="images/eclipse-welcome-launchbar.png" alt="images/eclipse-welcome-launchbar.png">
</div>
</div>
</div>
@@ -425,35 +989,21 @@
<h3 id="_other_changes_and_improvements">Other Changes and Improvements</h3>
<div class="sect3">
<h4 id="_more">More</h4>
-<div class="paragraph">
-<p>The look of the toolbar in the MacOS default theme was adjusted to align with
-other MacOS applications.</p>
-</div>
-<div class="paragraph">
-<p>To save space in the toolbar, the perspective switcher has been changed to show
+<div class="paragraph"><p>The look of the toolbar in the MacOS default theme was adjusted to align with
+other MacOS applications.</p></div>
+<div class="paragraph"><p>To save space in the toolbar, the perspective switcher has been changed to show
only the icons of perspectives by default. You can show the text again via the
-context menu.</p>
-</div>
-<div class="paragraph">
-<p>The 'date' variable, supported in editor and code templates, now allows you to
-specify which format to use when inserting the current date (or time).</p>
-</div>
-<div class="paragraph">
-<p>The 'word_selection' and 'line_selection' variables, supported in editor and
+context menu.</p></div>
+<div class="paragraph"><p>The <em>date</em> variable, supported in editor and code templates, now allows you to
+specify which format to use when inserting the current date (or time).</p></div>
+<div class="paragraph"><p>The <em>word_selection</em> and <em>line_selection</em> variables, supported in editor and
code templates, now allow you to specify a default value to use if the current
-text selection is empty.</p>
-</div>
-<div class="paragraph">
-<p>The workspace name is now shown at the beginning of the window title by default.
-The initial name is the name of the workspace directory.</p>
-</div>
-<div class="paragraph">
-<p>When you export your preference settings via <code>File > Export…​ > Preferences</code>,
-the preferences are now sorted alphabetically in the resulting file.</p>
-</div>
-<div class="paragraph">
-<p>Eclipse has been updated to include improved support for the Wayland display manager.</p>
-</div>
+text selection is empty.</p></div>
+<div class="paragraph"><p>The workspace name is now shown at the beginning of the window title by default.
+The initial name is the name of the workspace directory.</p></div>
+<div class="paragraph"><p>When you export your preference settings via <span class="monospaced">File > Export... > Preferences</span>,
+the preferences are now sorted alphabetically in the resulting file.</p></div>
+<div class="paragraph"><p>Eclipse has been updated to include improved support for the Wayland display manager.</p></div>
</div>
</div>
</div>
@@ -461,161 +1011,128 @@
<div class="sect1">
<h2 id="java">Java™</h2>
<div class="sectionbody">
-<div class="paragraph">
-<p>Eclipse Neon includes numerous bug fixes and improvements in the Java 8
-support, along with a lot of other useful features.</p>
-</div>
+<div class="paragraph"><p>Eclipse Neon includes numerous bug fixes and improvements in the Java 8
+support, along with a lot of other useful features.</p></div>
<div class="sect2">
<h3 id="_java_9">Java 9</h3>
<div class="sect3">
<h4 id="_launching_on_java_9">Launching on Java 9</h4>
-<div class="paragraph">
-<p>Launching Eclipse with recent Java 9 previews fails with <code>NoClassDefFoundErrors</code> for
-<code>javax/annotation/PostConstruct</code> and similar types.</p>
-</div>
-<div class="paragraph">
-<p>The workaround is to add the VM arguments</p>
-</div>
+<div class="paragraph"><p>Launching Eclipse with recent Java 9 previews fails with <span class="monospaced">NoClassDefFoundErrors</span> for
+<span class="monospaced">javax/annotation/PostConstruct</span> and similar types.</p></div>
+<div class="paragraph"><p>The workaround is to add the VM arguments</p></div>
<div class="literalblock">
-<div class="content">
+<div class="content monospaced">
<pre>-addmods java.se.ee</pre>
-</div>
-</div>
-<div class="paragraph">
-<p>either on the command line after <code>-vmargs</code>, or at the end of the eclipse.ini file on
-two separate lines.</p>
-</div>
+</div></div>
+<div class="paragraph"><p>either on the command line after <span class="monospaced">-vmargs</span>, or at the end of the eclipse.ini file on
+two separate lines.</p></div>
</div>
</div>
<div class="sect2">
<h3 id="_java_editor">Java Editor</h3>
<div class="sect3">
<h4 id="_ifnotnull_ifnull_templates">ifNotNull/ifNull templates</h4>
-<div class="paragraph">
-<p>The Java editor now offers default templates for creating "== null" and "!= null" checks.</p>
-</div>
+<div class="paragraph"><p>The Java editor now offers default templates for creating "== null" and "!= null" checks.</p></div>
<div class="imageblock">
<div class="content">
-<img src="images/if-null-template.png" alt="if null template">
+<img src="images/if-null-template.png" alt="images/if-null-template.png">
</div>
</div>
</div>
<div class="sect3">
<h4 id="_new_info_severity_level">New Info severity level</h4>
-<div class="paragraph">
-<p>You can now specify <em>Info</em> as a severity level for the problems detected by the Eclipse
-Java compiler.</p>
-</div>
+<div class="paragraph"><p>You can now specify <em>Info</em> as a severity level for the problems detected by the Eclipse
+Java compiler.</p></div>
<div class="imageblock">
<div class="content">
-<img src="images/info-severity.png" alt="info severity">
+<img src="images/info-severity.png" alt="images/info-severity.png">
</div>
</div>
-<div class="paragraph">
-<p>A new decorator has been added to indicate information severity problems detected by the
-Eclipse Java Compiler.</p>
-</div>
+<div class="paragraph"><p>A new decorator has been added to indicate information severity problems detected by the
+Eclipse Java Compiler.</p></div>
<div class="imageblock">
<div class="content">
-<img src="images/info-problem-decorator.png" alt="info problem decorator">
+<img src="images/info-problem-decorator.png" alt="images/info-problem-decorator.png">
</div>
</div>
-<div class="paragraph">
-<p>You can now configure the severity of a compiler problem by invoking the new <em>Quick Fix</em>
-(<code>Ctrl+1</code>) which opens the <code>Java > Compiler > Errors/Warnings</code> preference page and
-highlights the configurable problem.</p>
-</div>
+<div class="paragraph"><p>You can now configure the severity of a compiler problem by invoking the new <em>Quick Fix</em>
+(<span class="monospaced">Ctrl+1</span>) which opens the <span class="monospaced">Java > Compiler > Errors/Warnings</span> preference page and
+highlights the configurable problem.</p></div>
<div class="imageblock">
<div class="content">
-<img src="images/configure-problem-severity.png" alt="configure problem severity">
+<img src="images/configure-problem-severity.png" alt="images/configure-problem-severity.png">
</div>
</div>
</div>
<div class="sect3">
<h4 id="_substring_code_completion">Substring code completion</h4>
-<div class="paragraph">
-<p>Content Assist now supports substring patterns. Enter any part of the desired proposal’s
-text, and Content Assist will find it! For example, completing on <code>selection</code> proposes
-all results containing <code>selection</code> as a substring.</p>
-</div>
+<div class="paragraph"><p>Content Assist now supports substring patterns. Enter any part of the desired proposal’s
+text, and Content Assist will find it! For example, completing on <span class="monospaced">selection</span> proposes
+all results containing <span class="monospaced">selection</span> as a substring.</p></div>
<div class="imageblock">
<div class="content">
-<img src="images/substring-code-completion.png" alt="substring code completion">
+<img src="images/substring-code-completion.png" alt="images/substring-code-completion.png">
</div>
</div>
-<div class="paragraph">
-<p>This feature can be disabled using the <code>Show substring matches</code> option on the
-<code>Java > Editor > Content Assist</code> preference page.</p>
-</div>
+<div class="paragraph"><p>This feature can be disabled using the <span class="monospaced">Show substring matches</span> option on the
+<span class="monospaced">Java > Editor > Content Assist</span> preference page.</p></div>
</div>
<div class="sect3">
<h4 id="_clean_up_to_remove_redundant_type_arguments">Clean Up to remove redundant type arguments</h4>
-<div class="paragraph">
-<p>A new option to remove redundant type arguments has been added under the
-<em>Unnecessary Code</em> group of the Clean Up profile.</p>
-</div>
+<div class="paragraph"><p>A new option to remove redundant type arguments has been added under the
+<em>Unnecessary Code</em> group of the Clean Up profile.</p></div>
<div class="imageblock">
<div class="content">
-<img src="images/remove-redundant-type-arguments.png" alt="remove redundant type arguments">
+<img src="images/remove-redundant-type-arguments.png" alt="images/remove-redundant-type-arguments.png">
</div>
</div>
</div>
<div class="sect3">
<h4 id="_new_options_in_code_formatter">New options in code formatter</h4>
-<div class="paragraph">
-<p>In the new <em>Parentheses</em> tab, you can order the formatter to keep
+<div class="paragraph"><p>In the new <em>Parentheses</em> tab, you can order the formatter to keep
parentheses of various Java elements on separate lines, i.e. put a
line break after the opening parenthesis and before the closing
parenthesis. This can be done always, only when parentheses are
not empty, or when their content is wrapped. There’s also an option
to preserve existing positions, if you want to manually manage parentheses
-positions on a case-by-case basis.</p>
-</div>
+positions on a case-by-case basis.</p></div>
<div class="imageblock">
<div class="content">
-<img src="images/formatter-parentheses.png" alt="formatter parentheses">
+<img src="images/formatter-parentheses.png" alt="images/formatter-parentheses.png">
</div>
</div>
-<div class="paragraph">
-<p>In the <em>Line Wrapping</em> tab, you can set the wrapping policy for parameterized
+<div class="paragraph"><p>In the <em>Line Wrapping</em> tab, you can set the wrapping policy for parameterized
types, you can decide to wrap before or after operators in assignments and
conditional expressions, and you can control the wrapping policy of
-<code>'for' loop headers</code>.</p>
-</div>
+<span class="monospaced">'for' loop headers</span>.</p></div>
<div class="imageblock">
<div class="content">
-<img src="images/formatter-wrap-for.png" alt="formatter wrap for">
+<img src="images/formatter-wrap-for.png" alt="images/formatter-wrap-for.png">
</div>
</div>
-<div class="paragraph">
-<p>The <em>Align fields in columns</em> feature in the <em>Indentation</em> section can now
+<div class="paragraph"><p>The <em>Align fields in columns</em> feature in the <em>Indentation</em> section can now
be configured to <em>recognize groups separated by empty lines</em> and align them
-independently.</p>
-</div>
+independently.</p></div>
<div class="imageblock">
<div class="content">
-<img src="images/formatter-align-groups.png" alt="formatter align groups">
+<img src="images/formatter-align-groups.png" alt="images/formatter-align-groups.png">
</div>
</div>
-<div class="paragraph">
-<p>In the <em>New lines</em> section, you can control if new lines should be added
-after annotations on <code>enum</code> constants.</p>
-</div>
+<div class="paragraph"><p>In the <em>New lines</em> section, you can control if new lines should be added
+after annotations on <span class="monospaced">enum</span> constants.</p></div>
<div class="imageblock">
<div class="content">
-<img src="images/formatter-enum-constants.png" alt="formatter enum constants">
+<img src="images/formatter-enum-constants.png" alt="images/formatter-enum-constants.png">
</div>
</div>
</div>
<div class="sect3">
<h4 id="_create_new_fields_from_method_parameters">Create new fields from method parameters</h4>
-<div class="paragraph">
-<p>You can now assign all parameters of a method or constructor to new fields
-at once using the new <em>Quick Assist</em> (<code>Ctrl+1</code>):</p>
-</div>
+<div class="paragraph"><p>You can now assign all parameters of a method or constructor to new fields
+at once using the new <em>Quick Assist</em> (<span class="monospaced">Ctrl+1</span>):</p></div>
<div class="imageblock">
<div class="content">
-<img src="images/assign-all-params-to-new-fields.png" alt="assign all params to new fields">
+<img src="images/assign-all-params-to-new-fields.png" alt="images/assign-all-params-to-new-fields.png">
</div>
</div>
</div>
@@ -624,235 +1141,185 @@
<h3 id="_java_views_wizards_and_other_ui">Java Views, Wizards, and Other UI</h3>
<div class="sect3">
<h4 id="_project_explorer_improvements">Project Explorer Improvements</h4>
-<div class="paragraph">
-<p>The <em>Project Explorer</em> view now groups referenced libraries in a new container node.</p>
-</div>
+<div class="paragraph"><p>The <em>Project Explorer</em> view now groups referenced libraries in a new container node.</p></div>
<div class="imageblock">
<div class="content">
-<img src="images/show-referenced-libraries-node-project-explorer.png" alt="show referenced libraries node project explorer">
+<img src="images/show-referenced-libraries-node-project-explorer.png" alt="images/show-referenced-libraries-node-project-explorer.png">
</div>
</div>
-<div class="paragraph">
-<p>You can now hide empty library containers in the <em>Project Explorer</em> view by selecting
-the new filter in its <em>Customize View…​</em> dialog.</p>
-</div>
+<div class="paragraph"><p>You can now hide empty library containers in the <em>Project Explorer</em> view by selecting
+the new filter in its <em>Customize View…</em> dialog.</p></div>
<div class="imageblock">
<div class="content">
-<img src="images/hide-empty-library-containers-project-explorer.png" alt="hide empty library containers project explorer">
+<img src="images/hide-empty-library-containers-project-explorer.png" alt="images/hide-empty-library-containers-project-explorer.png">
</div>
</div>
</div>
<div class="sect3">
<h4 id="_add_meta_annotations_while_creating_a_new_java_annotation_type">Add meta-annotations while creating a new Java annotation type</h4>
-<div class="paragraph">
-<p>You can now choose to add <code>@Retention</code>, <code>@Target</code> and <code>@Documented</code> meta-annotations
-along with their applicable values while creating a new Java annotation type.</p>
-</div>
+<div class="paragraph"><p>You can now choose to add <span class="monospaced">@Retention</span>, <span class="monospaced">@Target</span> and <span class="monospaced">@Documented</span> meta-annotations
+along with their applicable values while creating a new Java annotation type.</p></div>
<div class="imageblock">
<div class="content">
-<img src="images/add-meta-annotations.png" alt="add meta annotations">
+<img src="images/add-meta-annotations.png" alt="images/add-meta-annotations.png">
</div>
</div>
</div>
<div class="sect3">
<h4 id="_search_on_multi_selections">Search on multi-selections</h4>
-<div class="paragraph">
-<p>You can now select multiple elements in views like <em>Package Explorer</em> and
+<div class="paragraph"><p>You can now select multiple elements in views like <em>Package Explorer</em> and
<em>Outline</em> and then search for <em>References</em>, <em>Declarations</em>, <em>Implementors</em>,
-and <em>Read/Write Access</em> (where applicable):</p>
-</div>
+and <em>Read/Write Access</em> (where applicable):</p></div>
<div class="imageblock">
<div class="content">
-<img src="images/search-on-multi-selections.png" alt="search on multi selections">
+<img src="images/search-on-multi-selections.png" alt="images/search-on-multi-selections.png">
</div>
</div>
-<div class="paragraph">
-<p>You can even select results in the <em>Search</em> view and start a new search for those
+<div class="paragraph"><p>You can even select results in the <em>Search</em> view and start a new search for those
elements. To follow method call chains, you’d probably use <em>Open Call Hierarchy</em>,
-though.</p>
-</div>
+though.</p></div>
</div>
<div class="sect3">
<h4 id="_junit_support">JUnit Support</h4>
-<div class="paragraph">
-<p>Assertions are now enabled by default for new JUnit launch configurations. You can
-disable this on the <code>Preferences > Java > JUnit</code> page.</p>
-</div>
+<div class="paragraph"><p>Assertions are now enabled by default for new JUnit launch configurations. You can
+disable this on the <span class="monospaced">Preferences > Java > JUnit</span> page.</p></div>
</div>
</div>
<div class="sect2">
<h3 id="_debug">Debug</h3>
<div class="sect3">
<h4 id="_installing_breakpoints_from_unrelated_projects">Installing breakpoints from unrelated projects</h4>
-<div class="paragraph">
-<p>Multiple versions of the same Java type can be available in a workspace, and
+<div class="paragraph"><p>Multiple versions of the same Java type can be available in a workspace, and
each version can have breakpoints configured at different source locations. When
debugging, JDT tries to determine the "right" set of breakpoints to install in
-the target VM. This analysis now uses Java project dependencies by default.</p>
-</div>
-<div class="paragraph">
-<p>To always install all enabled breakpoints, you can disable the new option
-<code>Preferences > Java > Debug > Do not install breakpoints from unrelated projects</code>.</p>
-</div>
+the target VM. This analysis now uses Java project dependencies by default.</p></div>
+<div class="paragraph"><p>To always install all enabled breakpoints, you can disable the new option
+<span class="monospaced">Preferences > Java > Debug > Do not install breakpoints from unrelated projects</span>.</p></div>
</div>
</div>
<div class="sect2">
<h3 id="_null_analysis">Null Analysis</h3>
<div class="sect3">
<h4 id="_multiple_sets_of_null_annotations">Multiple sets of null annotations</h4>
-<div class="paragraph">
-<p>You can now configure annotation-based null analysis to use multiple sets of
+<div class="paragraph"><p>You can now configure annotation-based null analysis to use multiple sets of
annotation types. This is relevant if your project uses 3rd party libraries
that already use null annotations in their API, where the annotations used in
-a library may be different from those used in the current project.</p>
-</div>
-<div class="paragraph">
-<p>Please open the dialog for configuring null annotation types from the project
-properties at <code>Java Compiler > Errors/Warnings > Null analysis</code>:</p>
-</div>
+a library may be different from those used in the current project.</p></div>
+<div class="paragraph"><p>Please open the dialog for configuring null annotation types from the project
+properties at <span class="monospaced">Java Compiler > Errors/Warnings > Null analysis</span>:</p></div>
<div class="imageblock">
<div class="content">
-<img src="images/prefs-errors-warnings.png" alt="prefs errors warnings">
+<img src="images/prefs-errors-warnings.png" alt="images/prefs-errors-warnings.png">
</div>
</div>
-<div class="paragraph">
-<p>In the dialog that opens, only one primary set of annotations is supported;
+<div class="paragraph"><p>In the dialog that opens, only one primary set of annotations is supported;
these are the annotations which JDT actively uses in <em>Quick Fixes</em>, error
-messages etc. These annotations must be present on the project’s build path.</p>
-</div>
-<div class="paragraph">
-<p>You can now add an arbitrary number of secondary <code>null</code> annotation types, to
+messages etc. These annotations must be present on the project’s build path.</p></div>
+<div class="paragraph"><p>You can now add an arbitrary number of secondary <span class="monospaced">null</span> annotation types, to
be evaluated when reading class files external to the project. Within the
configuration dialog, Content Assist is offered based on accessible annotation
types, but for secondary annotation types unresolved names will be tolerated.
This avoids the need to bloat the build path with transitive compile-time
-dependencies.</p>
-</div>
+dependencies.</p></div>
<div class="imageblock">
<div class="content">
-<img src="images/annotation-selection.png" alt="annotation selection">
+<img src="images/annotation-selection.png" alt="images/annotation-selection.png">
</div>
</div>
</div>
<div class="sect3">
-<h4 id="_improved_code_null_code_analysis_with_generics">Improved <code>null</code> analysis with generics</h4>
-<div class="paragraph">
-<p>The interplay of <code>null</code> annotations and generics has been improved in several
-regards.</p>
-</div>
-<div class="paragraph">
-<p>The basic concepts had already been documented in the online help, but not
-all that was documented was actually checked by <code>null</code> analysis. With
+<h4 id="_improved_span_class_monospaced_null_span_analysis_with_generics">Improved <span class="monospaced">null</span> analysis with generics</h4>
+<div class="paragraph"><p>The interplay of <span class="monospaced">null</span> annotations and generics has been improved in several
+regards.</p></div>
+<div class="paragraph"><p>The basic concepts had already been documented in the online help, but not
+all that was documented was actually checked by <span class="monospaced">null</span> analysis. With
the changes outlined below, null analysis based on type annotations is even
-more capable than previous versions.</p>
-</div>
-<div class="paragraph">
-<p>(1) The first batch of contributed improvements implements what we call
+more capable than previous versions.</p></div>
+<div class="paragraph"><p>(1) The first batch of contributed improvements implements what we call
<em>pessimistic analysis for free type variables</em>, which affects implementors
-of generic types.</p>
-</div>
+of generic types.</p></div>
<div class="imageblock">
<div class="content">
-<img src="images/pessimistic-analysis.png" alt="pessimistic analysis">
+<img src="images/pessimistic-analysis.png" alt="images/pessimistic-analysis.png">
</div>
</div>
-<div class="paragraph">
-<p>In order to allow clients to instantiate such a generic class with either
-a <code>@NonNull</code> or a <code>@Nullable</code> type as substitution for the "free type variable"
-<code><T></code>, the implementation of that class must account for the worst in both
-directions:</p>
-</div>
-<div class="ulist">
-<ul>
+<div class="paragraph"><p>In order to allow clients to instantiate such a generic class with either
+a <span class="monospaced">@NonNull</span> or a <span class="monospaced">@Nullable</span> type as substitution for the "free type variable"
+<span class="monospaced"><T></span>, the implementation of that class must account for the worst in both
+directions:</p></div>
+<div class="ulist"><ul>
<li>
-<p>To anticipate a <code>@NonNull</code> type, each field typed to a free type variable
-must be initialized with a non-<code>null</code> value, and passing <code>null</code> where <code>T</code> is
-expected is illegal; and</p>
+<p>
+To anticipate a <span class="monospaced">@NonNull</span> type, each field typed to a free type variable
+must be initialized with a non-<span class="monospaced">null</span> value, and passing <span class="monospaced">null</span> where <span class="monospaced">T</span> is
+expected is illegal; and
+</p>
</li>
<li>
-<p>To anticipate a <code>@Nullable</code> type, each dereference must be preceded by a <code>null</code> check.</p>
+<p>
+To anticipate a <span class="monospaced">@Nullable</span> type, each dereference must be preceded by a <span class="monospaced">null</span> check.
+</p>
</li>
-</ul>
-</div>
-<div class="paragraph">
-<p>At the bottom of each problem hover, you will find a link to the corresponding
+</ul></div>
+<div class="paragraph"><p>At the bottom of each problem hover, you will find a link to the corresponding
configuration option, should you like to change the severity of this diagnostic.
Note that configurability is mainly given for smooth migration from previous
JDT version; conceptually, problems detected by pessimistic analysis should be
treated as errors, because they invalidate the null-guarantees given by a generic
-type.</p>
-</div>
+type.</p></div>
<div class="imageblock">
<div class="content">
-<img src="images/configure-pessimistic-analysis.png" alt="configure pessimistic analysis">
+<img src="images/configure-pessimistic-analysis.png" alt="images/configure-pessimistic-analysis.png">
</div>
</div>
-<div class="paragraph">
-<p>(2) The second improvement concerns consumption of generic types from a library,
+<div class="paragraph"><p>(2) The second improvement concerns consumption of generic types from a library,
more specifically: invocations of library methods whose return type is given by
-a free type variable.</p>
-</div>
-<div class="paragraph">
-<p>If the library type is instantiated with a <code>@NonNull</code> type as the type argument,
-we generally want to interpret the mentioned return type as non-<code>null</code>, too.
-This is problematic only for some "legacy" methods, which may return <code>null</code>
-without declaring so. The most prominent example is <code>java.util.Map.get(K)</code>.</p>
-</div>
-<div class="paragraph">
-<p>The analysis cannot see whether absence of a null annotation for such a return
+a free type variable.</p></div>
+<div class="paragraph"><p>If the library type is instantiated with a <span class="monospaced">@NonNull</span> type as the type argument,
+we generally want to interpret the mentioned return type as non-<span class="monospaced">null</span>, too.
+This is problematic only for some "legacy" methods, which may return <span class="monospaced">null</span>
+without declaring so. The most prominent example is <span class="monospaced">java.util.Map.get(K)</span>.</p></div>
+<div class="paragraph"><p>The analysis cannot see whether absence of a null annotation for such a return
type is intentional (in the above sense of "free type variables"), or an omission
that should be fixed. For that reason a new warning has been implemented to alert
-about this situation.</p>
-</div>
+about this situation.</p></div>
<div class="imageblock">
<div class="content">
-<img src="images/unsafe-nonnull-interpretation.png" alt="unsafe nonnull interpretation">
+<img src="images/unsafe-nonnull-interpretation.png" alt="images/unsafe-nonnull-interpretation.png">
</div>
</div>
-<div class="paragraph">
-<p>In the above example, both fields list and map provide <code>@NonNull</code> <code>String</code> as a type
-argument, hence the return types of both <em>get</em> methods are interpreted as non-<code>null</code>.
-For <code>List</code> this is desired, for <code>Map</code> it is a bug.</p>
-</div>
-<div class="paragraph">
-<p>The dilemma can be resolved by adding a (possibly empty) external annotation file
-(<code>.eea</code>) to each affected library class. By using an empty annotation file, the user
+<div class="paragraph"><p>In the above example, both fields list and map provide <span class="monospaced">@NonNull</span> <span class="monospaced">String</span> as a type
+argument, hence the return types of both <em>get</em> methods are interpreted as non-<span class="monospaced">null</span>.
+For <span class="monospaced">List</span> this is desired, for <span class="monospaced">Map</span> it is a bug.</p></div>
+<div class="paragraph"><p>The dilemma can be resolved by adding a (possibly empty) external annotation file
+(<span class="monospaced">.eea</span>) to each affected library class. By using an empty annotation file, the user
signals that all types in this class should be interpreted verbatim (like in the
-<code>List</code> case - use with care). In the other case, the missing <code>@Nullable</code> annotation
-should be added as an external annotation (like in the <code>Map</code> case).</p>
-</div>
-<div class="paragraph">
-<p>In a project that is not yet configured to use external annotations for the
+<span class="monospaced">List</span> case - use with care). In the other case, the missing <span class="monospaced">@Nullable</span> annotation
+should be added as an external annotation (like in the <span class="monospaced">Map</span> case).</p></div>
+<div class="paragraph"><p>In a project that is not yet configured to use external annotations for the
library in question, the warning is demoted to level "information". Generally, the
severity of this problem is configured using the option right below the one mentioned
-above, titled <code>Unsafe '@NonNull'</code> interpretation of free type variable from library.</p>
-</div>
-<div class="paragraph">
-<p>(3) Finally, a small utility class, <code>org.eclipse.jdt.annotation.Checks</code>, has been
-included in the bundle <code>org.eclipse.jdt.annotation_2.1.0</code> containing helper methods
-for typical idioms for improving and documenting <code>null</code> safety.</p>
-</div>
+above, titled <span class="monospaced">Unsafe '@NonNull'</span> interpretation of free type variable from library.</p></div>
+<div class="paragraph"><p>(3) Finally, a small utility class, <span class="monospaced">org.eclipse.jdt.annotation.Checks</span>, has been
+included in the bundle <span class="monospaced">org.eclipse.jdt.annotation_2.1.0</span> containing helper methods
+for typical idioms for improving and documenting <span class="monospaced">null</span> safety.</p></div>
</div>
<div class="sect3">
-<h4 id="_quick_fix_to_add_code_nonnull_code_to_local_variable">Quick Fix to add <code>@NonNull</code> to local variable</h4>
-<div class="paragraph">
-<p>When a "potential null pointer access" problem is raised against a local variable,
-the reason is not always obvious. Perhaps <code>null</code> is assigned somewhere deep inside
-a complex control flow. If annotation-based <code>null</code> analysis is enabled, a new
-<em>Quick Fix</em> is offered (<code>Ctrl+1</code>), that adds a <code>@NonNull</code> annotation to the local
-variable.</p>
-</div>
+<h4 id="_quick_fix_to_add_span_class_monospaced_nonnull_span_to_local_variable">Quick Fix to add <span class="monospaced">@NonNull</span> to local variable</h4>
+<div class="paragraph"><p>When a "potential null pointer access" problem is raised against a local variable,
+the reason is not always obvious. Perhaps <span class="monospaced">null</span> is assigned somewhere deep inside
+a complex control flow. If annotation-based <span class="monospaced">null</span> analysis is enabled, a new
+<em>Quick Fix</em> is offered (<span class="monospaced">Ctrl+1</span>), that adds a <span class="monospaced">@NonNull</span> annotation to the local
+variable.</p></div>
<div class="imageblock">
<div class="content">
-<img src="images/add-nonnull1.png" alt="add nonnull1">
+<img src="images/add-nonnull1.png" alt="images/add-nonnull1.png">
</div>
</div>
-<div class="paragraph">
-<p>While this may not produce correct code, it tells the compiler your intention to
-not allow <code>null</code> in this variable, and subsequently the compiler will answer with more
+<div class="paragraph"><p>While this may not produce correct code, it tells the compiler your intention to
+not allow <span class="monospaced">null</span> in this variable, and subsequently the compiler will answer with more
helpful warnings or errors pointing to the root problem. In the given example,
-it will alert you of subtleties about using unconstrained type variables.</p>
-</div>
+it will alert you of subtleties about using unconstrained type variables.</p></div>
</div>
</div>
</div>
@@ -860,151 +1327,116 @@
<div class="sect1">
<h2 id="cdt">C/C++</h2>
<div class="sectionbody">
-<div class="paragraph">
-<p>C/C++ support is provided by the <a href="https://www.eclipse.org/downloads/packages/eclipse-ide-cc-developers/marsr">Eclipse IDE for C/C++ Developers</a>.</p>
-</div>
+<div class="paragraph"><p>C/C++ support is provided by the <a href="https://www.eclipse.org/downloads/packages/eclipse-ide-cc-developers/marsr">Eclipse IDE for C/C++</a> Developers.</p></div>
<div class="sect2">
<h3 id="_general_2">General</h3>
<div class="sect3">
<h4 id="_import_projects_2">Import Projects</h4>
-<div class="paragraph">
-<p>When code completion is invoked in a function call expression, appropriate
-substitutions are suggested for each of the function parameters.</p>
-</div>
+<div class="paragraph"><p>When code completion is invoked in a function call expression, appropriate
+substitutions are suggested for each of the function parameters.</p></div>
<div class="imageblock">
<div class="content">
-<img src="images/Function_call.png" alt="Function call">
+<img src="images/Function_call.png" alt="images/Function_call.png">
</div>
</div>
</div>
<div class="sect3">
<h4 id="_create_new_class_quick_fix">Create New Class - Quick Fix</h4>
-<div class="paragraph">
-<p>In C files if "Type not found" error is detected, there is a new *Quick Fix*
-now to create a class based on that type, which opens the *New C Class Wizard*.
+<div class="paragraph"><p>In C<span class="monospaced"> files if "Type not found" error is detected, there is a new <strong>Quick Fix</strong>
+now to create a class based on that type, which opens the <strong>New C</span> Class Wizard</strong>.
Note: to enable quick user must enable "Type cannot be resolved" problem in
-"Code Analysis" settings</p>
-</div>
+"Code Analysis" settings</p></div>
<div class="imageblock">
<div class="content">
-<img src="images/CPPnewClass.png" alt="CPPnewClass">
+<img src="images/CPPnewClass.png" alt="images/CPPnewClass.png">
</div>
</div>
</div>
<div class="sect3">
<h4 id="_format_edited_lines_save_action">Format Edited Lines Save Action</h4>
-<div class="paragraph">
-<p>It is now possible to format either the whole file or only the edited lines when a source or a
-header file is saved.</p>
-</div>
+<div class="paragraph"><p>It is now possible to format either the whole file or only the edited lines when a source or a
+header file is saved.</p></div>
<div class="imageblock">
<div class="content">
-<img src="images/Save_Actions.png" alt="Save Actions">
+<img src="images/Save_Actions.png" alt="images/Save_Actions.png">
</div>
</div>
</div>
<div class="sect3">
<h4 id="_suppressions_in_code">Suppressions in code</h4>
-<div class="paragraph">
-<p>It is now possible to suppress code analysis errors/warnings by adding comments in the code.</p>
-</div>
+<div class="paragraph"><p>It is now possible to suppress code analysis errors/warnings by adding comments in the code.</p></div>
<div class="literalblock">
-<div class="content">
+<div class="content monospaced">
<pre>x = x; // @suppress("assignment in condition") because I know better</pre>
-</div>
-</div>
-<div class="paragraph">
-<p>The comment is actually configurable using problem parameters (@suppress(<title>) is default).</p>
-</div>
+</div></div>
+<div class="paragraph"><p>The comment is actually configurable using problem parameters (@suppress(<title>) is default).</p></div>
</div>
</div>
<div class="sect2">
<h3 id="_debug_2">Debug</h3>
<div class="sect3">
<h4 id="_gdbserver_options">Gdbserver options</h4>
-<div class="paragraph">
-<p>For automatic remote debugging sessions, CDT now supports specifying extra options
+<div class="paragraph"><p>For automatic remote debugging sessions, CDT now supports specifying extra options
that will be passed to gdbserver when starting it. This way, users could activate
-debug messages (<code>--debug</code>), benefit of wrapper option (<code>--wrapper</code>) that gdbserver
-supports or use the other available command-line options of gdbserver.</p>
-</div>
+debug messages (<span class="monospaced">--debug</span>), benefit of wrapper option (<span class="monospaced">--wrapper</span>) that gdbserver
+supports or use the other available command-line options of gdbserver.</p></div>
<div class="imageblock">
<div class="content">
-<img src="images/Gdbserver-settings-tab.PNG" alt="Gdbserver settings tab">
+<img src="images/Gdbserver-settings-tab.PNG" alt="images/Gdbserver-settings-tab.PNG">
</div>
</div>
</div>
<div class="sect3">
<h4 id="_os_resources_view_improvements">OS Resources View Improvements</h4>
-<div class="paragraph">
-<p>The <em>OS Resources</em> view displays different information about the resources of the operating
+<div class="paragraph"><p>The <em>OS Resources</em> view displays different information about the resources of the operating
system, such as list of all processes running on the target or files opened by processes
-on target.</p>
-</div>
-<div class="paragraph">
-<p>Now it is possible to attach to processes associated with selected resources directly
-from <em>OS Resources</em> view without resorting to "Connect to a process" button from Debug View.</p>
-</div>
+on target.</p></div>
+<div class="paragraph"><p>Now it is possible to attach to processes associated with selected resources directly
+from <em>OS Resources</em> view without resorting to "Connect to a process" button from Debug View.</p></div>
<div class="imageblock">
<div class="content">
-<img src="images/OS_Resources_Attach.JPG" alt="OS Resources Attach">
+<img src="images/OS_Resources_Attach.JPG" alt="images/OS_Resources_Attach.JPG">
</div>
</div>
-<div class="paragraph">
-<p>This feature requires non-stop mode support to be activated.</p>
-</div>
-<div class="paragraph">
-<p>OS Resources View lists a lot of text information. Now it is possible to copy selected lines
-to the clipboard to save for later comparison.</p>
-</div>
+<div class="paragraph"><p>This feature requires non-stop mode support to be activated.</p></div>
+<div class="paragraph"><p>OS Resources View lists a lot of text information. Now it is possible to copy selected lines
+to the clipboard to save for later comparison.</p></div>
</div>
<div class="sect3">
<h4 id="_debug_ux">Debug UX</h4>
-<div class="paragraph">
-<p>In an effort to reduce clutter, the Connect button was removed from the Debug toolbar. The action is still available from the Debug view context-menu as shown below. Furthermore, connecting to a process can now be done using the OS Resources view as described in this section.</p>
-</div>
+<div class="paragraph"><p>In an effort to reduce clutter, the Connect button was removed from the Debug toolbar. The action is still available from the Debug view context-menu as shown below. Furthermore, connecting to a process can now be done using the OS Resources view as described in this section.</p></div>
<div class="imageblock">
<div class="content">
-<img src="images/CDT_Removed_Connect_Button.png" alt="CDT Removed Connect Button">
+<img src="images/CDT_Removed_Connect_Button.png" alt="images/CDT_Removed_Connect_Button.png">
</div>
</div>
-<div class="paragraph">
-<p>To streamline the UI, the "New…​" button of the Connect dialogue which was used to create a new process has been removed. This action is available instead from the Debug view context-menu as shown below.</p>
-</div>
+<div class="paragraph"><p>To streamline the UI, the "New…" button of the Connect dialogue which was used to create a new process has been removed. This action is available instead from the Debug view context-menu as shown below.</p></div>
<div class="imageblock">
<div class="content">
-<img src="images/CDT_RemoveNewButton.png" alt="CDT RemoveNewButton">
+<img src="images/CDT_RemoveNewButton.png" alt="images/CDT_RemoveNewButton.png">
</div>
</div>
</div>
</div>
<div class="sect2">
<h3 id="_other_change_and_improvements">Other Change and Improvements</h3>
-<div class="paragraph">
-<p>The <em>Makefile Editor</em> now provides a single key <code>Ctrl+/</code> to toggle comments rather than
-have <code>Ctrl+/</code> to comment and <code>Ctrl+\</code> to uncomment. This is consistent with CDT and Java editors.</p>
-</div>
+<div class="paragraph"><p>The <em>Makefile Editor</em> now provides a single key <span class="monospaced">Ctrl+/</span> to toggle comments rather than
+have <span class="monospaced">Ctrl+/</span> to comment and <span class="monospaced">Ctrl+\</span> to uncomment. This is consistent with CDT and Java editors.</p></div>
</div>
</div>
</div>
<div class="sect1">
<h2 id="pdt">PHP</h2>
<div class="sectionbody">
-<div class="paragraph">
-<p>We fixed / closed over 100 bugs in this release!</p>
-</div>
-<div class="paragraph">
-<p>Better error messages for unsupported PHP versions (especially for
-legacy versions)</p>
-</div>
+<div class="paragraph"><p>We fixed / closed over 100 bugs in this release!</p></div>
+<div class="paragraph"><p>Better error messages for unsupported PHP versions (especially for
+legacy versions)</p></div>
<div class="sect2">
<h3 id="pdt-general">General</h3>
-<div class="paragraph">
-<p>Final support for PHP 7 scalar type declarations</p>
-</div>
+<div class="paragraph"><p>Final support for PHP 7 scalar type declarations</p></div>
<div class="imageblock">
<div class="content">
-<img src="images/Pdt40_scalar.png" alt="Pdt40 scalar">
+<img src="images/Pdt40_scalar.png" alt="images/Pdt40_scalar.png">
</div>
</div>
</div>
@@ -1012,334 +1444,253 @@
<h3 id="_editors">Editors</h3>
<div class="sect3">
<h4 id="_code_assist">Code Assist</h4>
-<div class="paragraph">
-<p>The PHP validator identifies non abstract methods without body.</p>
-</div>
+<div class="paragraph"><p>The PHP validator identifies non abstract methods without body.</p></div>
<div class="imageblock">
<div class="content">
-<img src="images/Pdt40_no_body.png" alt="Pdt40 no body">
+<img src="images/Pdt40_no_body.png" alt="images/Pdt40_no_body.png">
</div>
</div>
-<div class="paragraph">
-<p>Inappropriate use of multiple access modifiers (eg. <code>public</code> <code>private</code>
-functions)</p>
-</div>
+<div class="paragraph"><p>Inappropriate use of multiple access modifiers (eg. <span class="monospaced">public</span> <span class="monospaced">private</span>
+functions)</p></div>
<div class="imageblock">
<div class="content">
-<img src="images/Pdt40_multiple_access_modifiers.png" alt="Pdt40 multiple access modifiers">
+<img src="images/Pdt40_multiple_access_modifiers.png" alt="images/Pdt40_multiple_access_modifiers.png">
</div>
</div>
-<div class="paragraph">
-<p>The validator no longer analyzes PHP comments (except in <em>PHPDoc</em> comments).</p>
-</div>
+<div class="paragraph"><p>The validator no longer analyzes PHP comments (except in <em>PHPDoc</em> comments).</p></div>
<div class="imageblock">
<div class="content">
-<img src="images/Pdt40_use.png" alt="Pdt40 use">
+<img src="images/Pdt40_use.png" alt="images/Pdt40_use.png">
</div>
</div>
-<div class="paragraph">
-<p>The PHP indexer is significantly faster than in previous versions.
-The UI remains responsive when indexing is in progress.</p>
-</div>
-<div class="paragraph">
-<p>Better task tags (e.g. <code>@todo</code>) detection</p>
-</div>
+<div class="paragraph"><p>The PHP indexer is significantly faster than in previous versions.
+The UI remains responsive when indexing is in progress.</p></div>
+<div class="paragraph"><p>Better task tags (e.g. <span class="monospaced">@todo</span>) detection</p></div>
<div class="imageblock">
<div class="content">
-<img src="images/Pdt40_task_tags.png" alt="Pdt40 task tags">
+<img src="images/Pdt40_task_tags.png" alt="images/Pdt40_task_tags.png">
</div>
</div>
-<div class="paragraph">
-<p>Methods and functions are visible as <code>void</code> only if they do not have
-<code>return</code> and <code>yield</code> statements. The otherwise have the declared
-return type or <code>mixed</code>.</p>
-</div>
+<div class="paragraph"><p>Methods and functions are visible as <span class="monospaced">void</span> only if they do not have
+<span class="monospaced">return</span> and <span class="monospaced">yield</span> statements. The otherwise have the declared
+return type or <span class="monospaced">mixed</span>.</p></div>
<div class="imageblock">
<div class="content">
-<img src="images/Pdt40_return_types.png" alt="Pdt40 return types">
+<img src="images/Pdt40_return_types.png" alt="images/Pdt40_return_types.png">
</div>
</div>
-<div class="paragraph">
-<p>Simple types (<code>int</code>, <code>bool</code>, <code>string</code>, …​) are included in the
-suggestions for for PHP >= 7 function return types.</p>
-</div>
+<div class="paragraph"><p>Simple types (<span class="monospaced">int</span>, <span class="monospaced">bool</span>, <span class="monospaced">string</span>, …) are included in the
+suggestions for for PHP >= 7 function return types.</p></div>
<div class="imageblock">
<div class="content">
-<img src="images/Pdt40_return_sugestion.png" alt="Pdt40 return sugestion">
+<img src="images/Pdt40_return_sugestion.png" alt="images/Pdt40_return_sugestion.png">
</div>
</div>
</div>
<div class="sect3">
<h4 id="_highlighting">Highlighting</h4>
-<div class="paragraph">
-<p>Improved support around <code>@inheritdoc</code> (coloring and code assist).</p>
-</div>
-<div class="paragraph">
-<p>More semantic highlighters are enabled by default, including class,
-deprecation, and constants.</p>
-</div>
+<div class="paragraph"><p>Improved support around <span class="monospaced">@inheritdoc</span> (coloring and code assist).</p></div>
+<div class="paragraph"><p>More semantic highlighters are enabled by default, including class,
+deprecation, and constants.</p></div>
<div class="imageblock">
<div class="content">
-<img src="images/Pdt40_default_highlighters.png" alt="Pdt40 default highlighters">
+<img src="images/Pdt40_default_highlighters.png" alt="images/Pdt40_default_highlighters.png">
</div>
</div>
-<div class="paragraph">
-<p>Improved highlighting for <code>array</code> type.</p>
-</div>
+<div class="paragraph"><p>Improved highlighting for <span class="monospaced">array</span> type.</p></div>
<div class="imageblock">
<div class="content">
-<img src="images/Pdt40_array_highlight.png" alt="Pdt40 array highlight">
+<img src="images/Pdt40_array_highlight.png" alt="images/Pdt40_array_highlight.png">
</div>
</div>
-<div class="paragraph">
-<p>Added support for <code>instanceof</code> and <code>insteadof</code> in class semantic
-highlighter.</p>
-</div>
+<div class="paragraph"><p>Added support for <span class="monospaced">instanceof</span> and <span class="monospaced">insteadof</span> in class semantic
+highlighter.</p></div>
<div class="imageblock">
<div class="content">
-<img src="images/Pdt40_class_instanceof.png" alt="Pdt40 class instanceof">
+<img src="images/Pdt40_class_instanceof.png" alt="images/Pdt40_class_instanceof.png">
</div>
</div>
-<div class="paragraph">
-<p>Assign to local quick assist (<code>ctrl/cmd + 2 + L</code>)</p>
-</div>
+<div class="paragraph"><p>Assign to local quick assist (<span class="monospaced">ctrl/cmd + 2 + L</span>)</p></div>
<div class="imageblock">
<div class="content">
-<img src="images/Pdt40_assign_to_local.png" alt="Pdt40 assign to local">
+<img src="images/Pdt40_assign_to_local.png" alt="images/Pdt40_assign_to_local.png">
</div>
</div>
-<div class="paragraph">
-<p>The syntax highlighter now fully supports PHP 7 context sensitive
-keywords.</p>
-</div>
+<div class="paragraph"><p>The syntax highlighter now fully supports PHP 7 context sensitive
+keywords.</p></div>
<div class="imageblock">
<div class="content">
-<img src="images/Pdt40_context_sensitive.png" alt="Pdt40 context sensitive">
+<img src="images/Pdt40_context_sensitive.png" alt="images/Pdt40_context_sensitive.png">
</div>
</div>
-<div class="paragraph">
-<p>Function / method return types are available in Content Assist
-proposals</p>
-</div>
+<div class="paragraph"><p>Function / method return types are available in Content Assist
+proposals</p></div>
<div class="imageblock">
<div class="content">
-<img src="images/Pdt40_ca_return_types.png" alt="Pdt40 ca return types">
+<img src="images/Pdt40_ca_return_types.png" alt="images/Pdt40_ca_return_types.png">
</div>
</div>
-<div class="paragraph">
-<p>Content Assist now supports colored labels</p>
-</div>
+<div class="paragraph"><p>Content Assist now supports colored labels</p></div>
<div class="imageblock">
<div class="content">
-<img src="images/Pdt40_colored_labels.png" alt="Pdt40 colored labels">
+<img src="images/Pdt40_colored_labels.png" alt="images/Pdt40_colored_labels.png">
</div>
</div>
</div>
<div class="sect3">
<h4 id="_php_editor_commands">PHP Editor Commands</h4>
-<div class="paragraph">
-<p>Buttons have been added to the editor toolbar to enable/disable <em>Word wrap</em>,
-<em>Block selection</em>, and <em>Show white space characters</em>.</p>
-</div>
+<div class="paragraph"><p>Buttons have been added to the editor toolbar to enable/disable <em>Word wrap</em>,
+<em>Block selection</em>, and <em>Show white space characters</em>.</p></div>
<div class="imageblock">
<div class="content">
-<img src="images/Pdt40_editor_actions.png" alt="Pdt40 editor actions">
+<img src="images/Pdt40_editor_actions.png" alt="images/Pdt40_editor_actions.png">
</div>
</div>
-<div class="paragraph">
-<p>??? Quick Source and Quick Refactor menu entries have been added.</p>
-</div>
+<div class="paragraph"><p>??? Quick Source and Quick Refactor menu entries have been added.</p></div>
<div class="imageblock">
<div class="content">
-<img src="images/Pdt40_quick_menu.png" alt="Pdt40 quick menu">
+<img src="images/Pdt40_quick_menu.png" alt="images/Pdt40_quick_menu.png">
</div>
</div>
-<div class="paragraph">
-<p>Quick Outline saves size and location</p>
-</div>
-<div class="paragraph">
-<p>Improved code folding -
+<div class="paragraph"><p>Quick Outline saves size and location</p></div>
+<div class="paragraph"><p>Improved code folding -
<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=443379">bug 443379</a>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=486018">bug 486018</a></p>
-</div>
+<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=486018">bug 486018</a></p></div>
</div>
<div class="sect3">
<h4 id="_more_php_editor_improvemvents">More PHP Editor Improvemvents</h4>
-<div class="ulist">
-<ul>
+<div class="ulist"><ul>
<li>
-<p>Improved code assist performance for files with many assignments;</p>
+<p>
+Improved code assist performance for files with many assignments;
+</p>
</li>
<li>
-<p>General performance improvements for <em>PHPDoc</em> generation</p>
+<p>
+General performance improvements for <em>PHPDoc</em> generation
+</p>
</li>
<li>
-<p>Smart parenthesis works correctly inside closures</p>
+<p>
+Smart parenthesis works correctly inside closures
+</p>
</li>
<li>
-<p><code>abstract</code> keyword is no longer proposed inside method body</p>
+<p>
+<span class="monospaced">abstract</span> keyword is no longer proposed inside method body
+</p>
</li>
<li>
-<p>Deprecated highlighting is shown even if class in same namespace</p>
+<p>
+Deprecated highlighting is shown even if class in same namespace
+</p>
</li>
<li>
-<p>Content assist and hover tooltips shows function / method return types</p>
+<p>
+Content assist and hover tooltips shows function / method return types
+</p>
</li>
<li>
-<p>Improved deprecation highlighter support for inherited members</p>
+<p>
+Improved deprecation highlighter support for inherited members
+</p>
</li>
-</ul>
-</div>
+</ul></div>
</div>
</div>
<div class="sect2">
<h3 id="pdt-debugging">Debugging</h3>
-<div class="paragraph">
-<p>OSX support improvements
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=488630">bug 488630</a></p>
-</div>
-<div class="paragraph">
-<p>Improvements in debugger variables support
+<div class="paragraph"><p>OSX support improvements
+<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=488630">bug 488630</a></p></div>
+<div class="paragraph"><p>Improvements in debugger variables support
<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=487966">bug 487966</a>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=490697">bug 490697</a></p>
-</div>
-<div class="paragraph">
-<p>No longer display outdated values
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=477241">bug 477241</a></p>
-</div>
-<div class="paragraph">
-<p>Fix ignored breakpoints
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=489646">bug 489646</a></p>
-</div>
-<div class="paragraph">
-<p>Added support for class statics inside namespace
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=492992">bug 492992</a></p>
-</div>
-<div class="paragraph">
-<p>Remove PDT "Parameter Stack" view
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=492010">bug 492010</a></p>
-</div>
-<div class="paragraph">
-<p>Breakpoints works with linked resources -
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=240553">bug 240553</a></p>
-</div>
-<div class="paragraph">
-<p>Fix xdebug debugging via SSH tunnel -
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=478402">bug 478402</a></p>
-</div>
-<div class="paragraph">
-<p>Support for PHP exception breakpoints -
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=483694">bug 483694</a></p>
-</div>
+<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=490697">bug 490697</a></p></div>
+<div class="paragraph"><p>No longer display outdated values
+<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=477241">bug 477241</a></p></div>
+<div class="paragraph"><p>Fix ignored breakpoints
+<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=489646">bug 489646</a></p></div>
+<div class="paragraph"><p>Added support for class statics inside namespace
+<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=492992">bug 492992</a></p></div>
+<div class="paragraph"><p>Remove PDT "Parameter Stack" view
+<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=492010">bug 492010</a></p></div>
+<div class="paragraph"><p>Breakpoints works with linked resources -
+<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=240553">bug 240553</a></p></div>
+<div class="paragraph"><p>Fix xdebug debugging via SSH tunnel -
+<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=478402">bug 478402</a></p></div>
+<div class="paragraph"><p>Support for PHP exception breakpoints -
+<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=483694">bug 483694</a></p></div>
<div class="sect3">
<h4 id="_zend_debugger">Zend Debugger</h4>
-<div class="paragraph">
-<p>Fix variables fetching with static context in PHP 7
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=493839">bug 493839</a></p>
-</div>
-<div class="paragraph">
-<p>Fix 'Display debug information' saving
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=493154">bug 493154</a></p>
-</div>
+<div class="paragraph"><p>Fix variables fetching with static context in PHP 7
+<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=493839">bug 493839</a></p></div>
+<div class="paragraph"><p>Fix <em>Display debug information</em> saving
+<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=493154">bug 493154</a></p></div>
</div>
</div>
<div class="sect2">
<h3 id="pdt-other">Other</h3>
-<div class="paragraph">
-<p>"Short method return types" are enabled by default in all PDT views
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=469503">bug 469503</a></p>
-</div>
-<div class="paragraph">
-<p>Better integration with eclipse Project Explorer. Support for PHP
+<div class="paragraph"><p>"Short method return types" are enabled by default in all PDT views
+<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=469503">bug 469503</a></p></div>
+<div class="paragraph"><p>Better integration with eclipse Project Explorer. Support for PHP
Project elements and specific actions.
<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=480376">bug 480376</a>
<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=480374">bug 480374</a>
<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=494124">bug 494124</a>
<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=494124">bug 494124</a>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=494253">bug 494253</a></p>
-</div>
-<div class="paragraph">
-<p>Support for traits in PHP Project Explorer when "group by namespace"
+<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=494253">bug 494253</a></p></div>
+<div class="paragraph"><p>Support for traits in PHP Project Explorer when "group by namespace"
is active <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=488685">bug
-488685</a></p>
-</div>
-<div class="paragraph">
-<p>PHP Language Library have PHP Version badge
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=494137">bug 494137</a><br></p>
-</div>
+488685</a></p></div>
+<div class="paragraph"><p>PHP Language Library have PHP Version badge
+<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=494137">bug 494137</a><br></p></div>
<div class="imageblock">
<div class="content">
-<img src="images/Pdt40_php_version_badge.png" alt="Pdt40 php version badge">
+<img src="images/Pdt40_php_version_badge.png" alt="images/Pdt40_php_version_badge.png">
</div>
</div>
-<div class="paragraph">
-<p>"Add PHP support…​" no longer visible in PHP-enabled projects</p>
-</div>
-<div class="paragraph">
-<p>Fixed regression during updating PHP file outline with PHP < 5.3</p>
-</div>
+<div class="paragraph"><p>"Add PHP support…" no longer visible in PHP-enabled projects</p></div>
+<div class="paragraph"><p>Fixed regression during updating PHP file outline with PHP < 5.3</p></div>
</div>
<div class="sect2">
<h3 id="general">General</h3>
-<div class="paragraph">
-<p>PHP 7 is default version for new workspaces</p>
-</div>
+<div class="paragraph"><p>PHP 7 is default version for new workspaces</p></div>
<div class="imageblock">
<div class="content">
<img src="images/Pdt37_php7.jpg" alt="pdt37_php7.jpg">
</div>
-<div class="title">Figure 1. fig:pdt37_php7.jpg</div>
</div>
-<div class="paragraph">
-<p>Restored Call Hierarchy feature</p>
-</div>
+<div class="paragraph"><p>Restored Call Hierarchy feature</p></div>
<div class="imageblock">
<div class="content">
-<img src="images/Pdt37_ca1.png" alt="Pdt37 ca1">
+<img src="images/Pdt37_ca1.png" alt="images/Pdt37_ca1.png">
</div>
</div>
<div class="imageblock">
<div class="content">
-<img src="images/Pdt37_ca2.png" alt="Pdt37 ca2">
+<img src="images/Pdt37_ca2.png" alt="images/Pdt37_ca2.png">
</div>
</div>
-<div class="paragraph">
-<p>Improved Code Assist for unfinished class and method bodies.</p>
-</div>
-<div class="paragraph">
-<p>Usage validator is case insensitive.</p>
-</div>
-<div class="paragraph">
-<p>Improved external files support -
+<div class="paragraph"><p>Improved Code Assist for unfinished class and method bodies.</p></div>
+<div class="paragraph"><p>Usage validator is case insensitive.</p></div>
+<div class="paragraph"><p>Improved external files support -
<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=479073">bug 479073</a>
<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=332741">bug 332741</a>
<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=484763">bug 484763</a>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=479139">bug 479139</a></p>
-</div>
-<div class="paragraph">
-<p>PHP quick fixes are available in Problems View -</p>
-</div>
+<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=479139">bug 479139</a></p></div>
+<div class="paragraph"><p>PHP quick fixes are available in Problems View -</p></div>
<div class="imageblock">
<div class="content">
-<img src="images/Pdt37_quickfix.png" alt="Pdt37 quickfix">
+<img src="images/Pdt37_quickfix.png" alt="images/Pdt37_quickfix.png">
</div>
</div>
-<div class="paragraph">
-<p>Task list was added to PHP perspective -
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=462644">bug 462644</a></p>
-</div>
-<div class="paragraph">
-<p>Improved Save As dialog for Untitled PHP File -
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=479235">bug 479235</a></p>
-</div>
-<div class="paragraph">
-<p>PHP Explorer refresh operation no longer block eclipse interface -
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=318960">bug 318960</a></p>
-</div>
-<div class="paragraph">
-<p>Support for OSX alternative PHP executables -
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=460926">bug 460926</a></p>
-</div>
+<div class="paragraph"><p>Task list was added to PHP perspective -
+<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=462644">bug 462644</a></p></div>
+<div class="paragraph"><p>Improved Save As dialog for Untitled PHP File -
+<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=479235">bug 479235</a></p></div>
+<div class="paragraph"><p>PHP Explorer refresh operation no longer block eclipse interface -
+<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=318960">bug 318960</a></p></div>
+<div class="paragraph"><p>Support for OSX alternative PHP executables -
+<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=460926">bug 460926</a></p></div>
</div>
</div>
</div>
@@ -1348,67 +1699,137 @@
<div class="sectionbody">
<div class="sect2">
<h3 id="_code_generation">Code Generation</h3>
-<div class="paragraph">
-<p><a href="http://www.eclipse.org/acceleo">Acceleo</a> introduced a new mechanism to launch code generators as part of a Maven build which is way easier and more robust by integrating with Tycho.</p>
-</div>
+<div class="paragraph"><p><a href="http://www.eclipse.org/acceleo">Acceleo</a> introduced a new mechanism to launch code generators as part of a Maven build which is way easier and more robust by integrating with Tycho.</p></div>
<div class="imageblock">
<div class="content">
-<img src="images/acceleo-launcher.png" alt="acceleo launcher">
+<img src="images/acceleo-launcher.png" alt="images/acceleo-launcher.png">
</div>
</div>
+<div class="paragraph"><p>You will find several examples on <a href="https://github.com/cbrun/acceleo-launcher-examples/">this repository</a> ranging from an UML to <span class="monospaced">C</span> generation to the export of a Modeling project as a website.</p></div>
</div>
<div class="sect2">
<h3 id="_model_editors">Model Editors</h3>
-<div class="paragraph">
-<p>The <a href="http://www.eclipse.org/modeling/amalgam">Amalgam</a> project brings a new view to navigate and explore models.</p>
-</div>
+<div class="sect3">
+<h4 id="_amalgam">Amalgam</h4>
+<div class="paragraph"><p>The <a href="http://www.eclipse.org/modeling/amalgam">Amalgam</a> project brings a new view to navigate and explore models. Ecore models are supported right away but the view can be extended to support your domain specific models.</p></div>
<div class="imageblock">
<div class="content">
-<img src="images/amalgam-explorer.png" alt="amalgam explorer">
+<img src="images/amalgam-explorer.png" alt="images/amalgam-explorer.png">
</div>
</div>
-<div class="paragraph">
-<p>When using the Ecore graphical modeler references might now be displayed directly within the class shapes if it’s target is not in the diagram.</p>
</div>
+<div class="sect3">
+<h4 id="_ecoretools">EcoreTools</h4>
+<div class="paragraph"><p>When using the Ecore graphical modeler references might now be displayed directly within the class shapes if it’s target is not in the diagram.</p></div>
<div class="imageblock">
<div class="content">
-<img src="images/ecoretools-refnodes.png" alt="ecoretools refnodes">
+<img src="images/ecoretools-refnodes.png" alt="images/ecoretools-refnodes.png">
</div>
</div>
-</div>
-<div class="sect2">
-<h3 id="_custom_graphical_editors">Custom Graphical Editors</h3>
-<div class="paragraph">
-<p>With the new version of <a href="http://www.eclipse.org/sirius">Sirius</a> you can now define rich property views alongside the diagram definition without having to write a line of code.
-This capability is introduced as an experimental feature for Neon and will be extended in the next months based on the user community feedback.</p>
-</div>
+<div class="paragraph"><p>Inherited references will also be displayed if the super types are not part of the diagram.</p></div>
<div class="imageblock">
<div class="content">
-<img src="images/sirius-properties.png" alt="sirius properties">
+<img src="images/ecoretools-inheritedcontent.png" alt="images/ecoretools-inheritedcontent.png">
</div>
</div>
-<div class="paragraph">
-<p>Packs of SVG shapes can now be contributed through a plugin to be reused in other modelers:</p>
-</div>
-<div class="imageblock">
-<div class="content">
-<img src="images/svg-stencils.png" alt="svg stencils">
-</div>
-</div>
-<div class="imageblock">
-<div class="content">
-<img src="images/svg-stencils-pick.gif" alt="svg stencils pick">
-</div>
</div>
</div>
<div class="sect2">
<h3 id="_model_comparison">Model Comparison</h3>
-<div class="paragraph">
-<p>The Neon release brings experimental support for comparing diagrams of <a href="http://www.eclipse.org/sirius">Sirius</a> based modelers</p>
+<div class="paragraph"><p>The Neon release brings experimental support for comparing diagrams of <a href="http://www.eclipse.org/sirius">Sirius</a> based modelers</p></div>
+<div class="imageblock">
+<div class="content">
+<img src="images/compare-sirius-family.png" alt="images/compare-sirius-family.png">
+</div>
+</div>
+<div class="paragraph"><p>With a right-click on a model element or resource in the viewer, a new context menu now offers you to merge all <em>non-conflicting</em> differences that are <em>contained</em> in the selected model element or resource with one click.
+With local models (both writable)</p></div>
+<div class="imageblock">
+<div class="content">
+<img src="images/compare-local.png" alt="images/compare-local.png">
+</div>
+</div>
+<div class="paragraph"><p>With a read-only side (for example when comparing with EGit)</p></div>
+<div class="imageblock">
+<div class="content">
+<img src="images/compare-readonly.png" alt="images/compare-readonly.png">
+</div>
+</div>
+<div class="paragraph"><p>Each button now has a specific tooltip for each case depending on the selected element. It will display the best information depending on the context: which object will be affected by the merge action, and which side will be modified (or not) by the action.</p></div>
+<div class="imageblock">
+<div class="content">
+<img src="images/compare-context-tooltips.png" alt="images/compare-context-tooltips.png">
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_custom_graphical_editors">Custom Graphical Editors</h3>
+<div class="paragraph"><p>With the new version of <a href="http://www.eclipse.org/sirius">Sirius</a> you can now define rich property views alongside the diagram definition without having to write a line of code.
+This capability is introduced as an experimental feature for Neon and will be extended in the next months based on the user community feedback.</p></div>
+<div class="imageblock">
+<div class="content">
+<img src="images/sirius-properties.png" alt="images/sirius-properties.png">
+</div>
+</div>
+<div class="paragraph"><p>Packs of SVG shapes can now be contributed through a plugin to be reused in other modelers:</p></div>
+<div class="imageblock">
+<div class="content">
+<img src="images/svg-stencils.png" alt="images/svg-stencils.png">
+</div>
</div>
<div class="imageblock">
<div class="content">
-<img src="images/compare-sirius-family.png" alt="compare sirius family">
+<img src="images/svg-stencils-pick.gif" alt="images/svg-stencils-pick.gif">
+</div>
+</div>
+<div class="paragraph"><p>SVG rendering has been improved and is now pixel-perfect <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=442268">whatever the zoom level</a>.</p></div>
+<div class="paragraph"><p>Before:</p></div>
+<div class="imageblock">
+<div class="content">
+<img src="images/svg-render-before.png" alt="images/svg-render-before.png">
+</div>
+</div>
+<div class="paragraph"><p>With Sirius 4.0:</p></div>
+<div class="imageblock">
+<div class="content">
+<img src="images/svg-render-after.png" alt="images/svg-render-after.png">
+</div>
+</div>
+<div class="paragraph"><p>It is now possible to define dash edge styles for both the nodes and the containers (like it was already possible for edges).</p></div>
+<div class="imageblock">
+<div class="content">
+<img src="images/sirius-border-styles.png" alt="images/sirius-border-styles.png">
+</div>
+</div>
+<div class="paragraph"><p>And the border node position relative to its parent can now be constrained on a specific side (NORTH, EAST, WEST or SOUTH).</p></div>
+<div class="imageblock">
+<div class="content">
+<img src="images/bordernodeposition.png" alt="images/bordernodeposition.png">
+</div>
+</div>
+<div class="paragraph"><p>The "Link with editor" button has been immproved and is now bidirectional.</p></div>
+<div class="imageblock">
+<div class="content">
+<img src="images/bidi-link.gif" alt="images/bidi-link.gif">
+</div>
+</div>
+<div class="paragraph"><p>You now have the possibility to configure which elements to automatically select after a tool execution, using this it is possible to streamline the user experience
+by making sure that it is always possible to directly type right after the application of the tool.</p></div>
+<div class="imageblock">
+<div class="content">
+<img src="images/elements-to-select.png" alt="images/elements-to-select.png">
+</div>
+</div>
+<div class="paragraph"><p>The labels which are attached to an edge are now staying closer to it during a user modification.</p></div>
+<div class="imageblock">
+<div class="content">
+<img src="images/edge-stability.gif" alt="images/edge-stability.gif">
+</div>
+</div>
+<div class="paragraph"><p>A new mechanism is introduced to externalize the messages in a <span class="monospaced">.odesign</span> model.</p></div>
+<div class="imageblock">
+<div class="content">
+<img src="images/i18n.png" alt="images/i18n.png">
</div>
</div>
</div>
@@ -1417,50 +1838,67 @@
<div class="sect1">
<h2 id="sources">Sources</h2>
<div class="sectionbody">
-<div class="paragraph">
-<p>Content for this document were harvested from multiple sources, including:</p>
-</div>
-<div class="ulist">
-<ul>
+<div class="paragraph"><p>Content for this document were harvested from multiple sources, including:</p></div>
+<div class="ulist"><ul>
<li>
-<p><a href="https://www.eclipse.org/eclipse/news/4.6/M1/">Eclipse Project Neon (4.6) M1 - New and Noteworthy</a></p>
+<p>
+<a href="https://www.eclipse.org/eclipse/news/4.6/M1/">Eclipse Project Neon (4.6) M1 - New and Noteworthy</a>
+</p>
</li>
<li>
-<p><a href="https://www.eclipse.org/eclipse/news/4.6/M2/">Eclipse Project Neon (4.6) M2 - New and Noteworthy</a></p>
+<p>
+<a href="https://www.eclipse.org/eclipse/news/4.6/M2/">Eclipse Project Neon (4.6) M2 - New and Noteworthy</a>
+</p>
</li>
<li>
-<p><a href="https://www.eclipse.org/eclipse/news/4.6/M3/">Eclipse Project Neon (4.6) M3 - New and Noteworthy</a></p>
+<p>
+<a href="https://www.eclipse.org/eclipse/news/4.6/M3/">Eclipse Project Neon (4.6) M3 - New and Noteworthy</a>
+</p>
</li>
<li>
-<p><a href="https://www.eclipse.org/eclipse/news/4.6/M4/">Eclipse Project Neon (4.6) M4 - New and Noteworthy</a></p>
+<p>
+<a href="https://www.eclipse.org/eclipse/news/4.6/M4/">Eclipse Project Neon (4.6) M4 - New and Noteworthy</a>
+</p>
</li>
<li>
-<p><a href="https://www.eclipse.org/eclipse/news/4.6/M5/">Eclipse Project Neon (4.6) M5 - New and Noteworthy</a></p>
+<p>
+<a href="https://www.eclipse.org/eclipse/news/4.6/M5/">Eclipse Project Neon (4.6) M5 - New and Noteworthy</a>
+</p>
</li>
<li>
-<p><a href="https://www.eclipse.org/eclipse/news/4.6/M6/">Eclipse Project Neon (4.6) M6 - New and Noteworthy</a></p>
+<p>
+<a href="https://www.eclipse.org/eclipse/news/4.6/M6/">Eclipse Project Neon (4.6) M6 - New and Noteworthy</a>
+</p>
</li>
<li>
-<p><a href="https://www.eclipse.org/eclipse/news/4.6/M7/">Eclipse Project Neon (4.6) M7 - New and Noteworthy</a></p>
+<p>
+<a href="https://www.eclipse.org/eclipse/news/4.6/M7/">Eclipse Project Neon (4.6) M7 - New and Noteworthy</a>
+</p>
</li>
<li>
-<p><a href="https://wiki.eclipse.org/CDT/User/NewIn90">Eclipse C/C++ Development Tools 9.0 New and Noteworthy</a></p>
+<p>
+<a href="https://wiki.eclipse.org/CDT/User/NewIn90">Eclipse C/C++ Development Tools 9.0 New and Noteworthy</a>
+</p>
</li>
<li>
-<p><a href="https://wiki.eclipse.org/PDT/NewIn37">Eclipse PHP Development Tools 3.7 New and Noteworthy</a></p>
+<p>
+<a href="https://wiki.eclipse.org/PDT/NewIn37">Eclipse PHP Development Tools 3.7 New and Noteworthy</a>
+</p>
</li>
<li>
-<p><a href="https://wiki.eclipse.org/PDT/NewIn40">Eclipse PHP Development Tools 4.0 New and Noteworthy</a></p>
+<p>
+<a href="https://wiki.eclipse.org/PDT/NewIn40">Eclipse PHP Development Tools 4.0 New and Noteworthy</a>
+</p>
</li>
-</ul>
+</ul></div>
</div>
</div>
</div>
-</div>
+<div id="footnotes"><hr></div>
<div id="footer">
<div id="footer-text">
-Last updated 2016-06-13 21:39:48 -04:00
+Last updated 2016-06-15 09:09:39 CEST
</div>
</div>
</body>
-</html>
\ No newline at end of file
+</html>