| <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> |
| <html xmlns="http://www.w3.org/1999/xhtml"> |
| <head> |
| <meta http-equiv="Content-Language" content="en-us" /> |
| <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> |
| <link rel="stylesheet" href="default_style.css" type="text/css" title="main" media="screen" /> |
| <title>Eclipse Project 4.5 M4 News</title> |
| </head> |
| <body> |
| <h1>Eclipse Project 4.5 M4 - New and Noteworthy</h1> |
| <p>Here are some of the more noteworthy things available in the Mars milestone build M4 (2014-12-12) |
| which is now available for <a href="http://download.eclipse.org/eclipse/downloads/#4.5_Stable_Build" target="_top">download</a>. |
| <br/> |
| We also recommend to read the Tips and Tricks, either via <b>Help > Tips and Tricks...</b> or online for |
| <a href="http://help.eclipse.org/topic/org.eclipse.platform.doc.user/tips/platform_tips.html">Platform</a>, |
| <a href="http://help.eclipse.org/topic/org.eclipse.jdt.doc.user/tips/jdt_tips.html">JDT</a>, and |
| <a href="http://help.eclipse.org/topic/org.eclipse.pde.doc.user/tips/pde_tips.htm">PDE</a>. |
| </p> |
| <ul> |
| <li><a href="#Platform">Platform</a></li> |
| <li><a href="#JDT">JDT</a></li> |
| <li><a href="#PDE">PDE</a></li> |
| <li><a href="#Equinox">Equinox</a></li> |
| </ul> |
| |
| <table class="news" border="0" cellpadding="10" cellspacing="0" width="80%"> |
| |
| <tr> |
| <td colspan="2" class="section" id="Platform">Platform</td> |
| </tr> |
| |
| |
| <tr id="css-inherit-prop"> |
| <td class="title">New 'inherit' value for CSS properties</td> |
| <td class="content"> |
| When CSS property gets 'inherit' value then the parent's value will be applied. See more in <b><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=419377">bug 419377</a></b> |
| <p> |
| <img src="images/css-inherit-prop.png" alt="" /> |
| </p> |
| </td> |
| </tr> |
| |
| <tr id="apply-git-patch"> |
| <td class="title">Apply Patch... wizard more resilient</td> |
| <td class="content"> |
| Patches that have been created via "<code>git format-patch</code>" sometimes couldn't be |
| applied successfully using Eclipse's <b>Team > Apply Patch...</b> wizard. |
| <p> |
| Now, the wizard properly skips lines that are not part of an actual file diff section |
| (e.g. the <code>--↵2.1.1</code> that Git appends). |
| </p> |
| </td> |
| </tr> |
| |
| <tr id="Job-groups-api"> |
| <td class="title">Job groups API</td> |
| <td class="content"> |
| A JobGroup API (<code>org.eclipse.core.runtime.jobs.JobGroup</code>) has been added that makes it |
| easier to implement parallel algorithms in Eclipse. |
| <p>Job groups provide a simple way to manage a set of Eclipse Jobs that are responsible |
| for pieces of the same large task. The API supports throttling, joining, cancellation, |
| combined progress and error reporting for all of the jobs in the group. The job grouping |
| functionality can be used to implement performance critical algorithms using cooperating |
| jobs. More information can be found in |
| <b><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=432049">bug 432049</a></b>.</p> |
| </td> |
| </tr> |
| |
| <tr id="stdin-file"> |
| <td class="title">Assigning stdin to a file</td> |
| <td class="content"> |
| Stdin can now be assigned to a file in the "Common" tab of launch configuration dialogs. |
| <p> |
| <img src="images/stdin-file.png" alt="" /> |
| </p> |
| </td> |
| </tr> |
| |
| <tr id="scroll-lock"> |
| <td class="title">Automatic scroll lock in Console view</td> |
| <td class="content"> |
| Scrolling up in the <b>Console</b> view using keys, mouse wheel, or scroll bar now automatically enables the <b>Scroll Lock</b> mode. |
| <p> |
| When you scroll down to the end of the console, the scroll lock is automatically released again. |
| </p> |
| </td> |
| </tr> |
| |
| <tr id="console-output-limit"> |
| <td class="title">Console output limit</td> |
| <td class="content"> |
| <b>Preferences > Run/Debug > Console > Console buffer size (characters)</b> |
| is now only limited by the amount of characters the Console view can render. |
| <p> |
| The arbitrary limit of 1 million characters has been removed. |
| </p> |
| </td> |
| </tr> |
| |
| <tr id="menuitem-tooltip"> |
| <td class="title">Added API to set tooltip for MenuItem</td> |
| <td class="content"> |
| SWT now supports setting a tooltip on menu items via <code>MenuItem.setToolTipText()</code>. |
| <p> |
| For an example, see the <b>Menu</b> tab in the <a href="https://www.eclipse.org/swt/examples.php">ControlExample</a>.</p> |
| <p> |
| <img src="images/tooltip.png" alt="" /> |
| </p> |
| </td> |
| </tr> |
| |
| <tr> |
| <td colspan="2" class="section" id="JDT">JDT</td> |
| </tr> |
| |
| <tr id="loop-flows"> |
| <td class="title">Improved flow analysis for loops</td> |
| <td class="content"> |
| Flow analysis has been improved to more precisely capture the flow of null values in loops. |
| This mainly achieves a reduction of false positive reports from null analysis. |
| <p> |
| <a href="images/loop-flows.txt"><img src="images/loop-flows.png" alt="" /></a> |
| </p> |
| <p> |
| Previously, example method "test1" would raise a potential null pointer warning at point (3). |
| To correct this issue the merging of information leading towards point (3) has been |
| improved to correctly see that the null value from point (1) can never reach point (3). |
| </p><p> |
| In example method "test2" JDT previously reported a redundant null check at (3), |
| because analysis didn't see that the assignment directly above could indeed assign a non-null value. |
| </p><p> |
| In example method "test3" it was reported that "o can only be null" at (3), |
| because the information from the two null-assignments wrongly overruled the one assignment from non-null. |
| With improved analysis this is now softened to saying "o may be null". |
| </p><p> |
| The graph on the right hand side illustrates the new composition of flow information: |
| for each relevant point (3) inside a loop, the analysis first merges the flows that lead into (1). |
| This result is concatenated with the partial flow (b.c), which leads from the loop start to point (3). |
| Improved precision has thus been achieved within the design limits of a single AST traversal |
| in order to minimize impact on compiler performance. |
| </p> |
| </td> |
| </tr> |
| |
| <tr id="junit-rerun"> |
| <td class="title">Re-run parameterized JUnit tests</td> |
| <td class="content"> |
| The JUnit view now allows you to re-run groups of parameterized tests, or actually any |
| kind of tests that are run by a specialized runner and add another level of grouping |
| in the JUnit view. |
| <p> |
| <img src="images/junit-rerun-parameterized.png" alt="'Rerun' in context menu of the parameter of a" /> |
| </p> |
| <p> |
| See the full story in |
| <a href="http://blog.moritz.eysholdt.de/2014/11/new-eclipse-junit-feature-run-subtrees.html">Moritz' Blog</a>. |
| </p> |
| </td> |
| </tr> |
| |
| <tr id="unused-exception-parameters"> |
| <td class="title">Unused exception parameters</td> |
| <td class="content"> |
| A new compiler option to report unused exception parameters in try-catch statements has been added. The option |
| is set to <code>Ignore</code> by default. |
| <p> |
| <img src="images/unused-exception.png" alt="" /> |
| </p> |
| (In earlier Mars milestones, detection for unused exception parameters was added as part of |
| the old "Value of parameter is not used" option. But since it turned out that there are |
| situations were not using an exception parameter actually makes sense, we've reverted the old option |
| to only apply to method parameters.) |
| </td> |
| </tr> |
| |
| <tr id="formatter-extension"> |
| <td class="title">Extension point for third-party formatters</td> |
| <td class="content"> |
| JDT now provides an extension point (<code>org.eclipse.jdt.core.javaFormatter</code>) to allow third-party source code formatters as extensions. |
| <p> |
| <img src="images/java-formatter.png" alt="" /> |
| </p> |
| The default code formatter is used if no third-party formatter is provided. |
| </td> |
| </tr> |
| |
| <tr> |
| <td colspan="2" class="section" id="PDE">PDE</td> |
| </tr> |
| |
| <tr id="pde-target-editor-retains-selection"> |
| <td class="title">Target editor retains selection </td> |
| <td class="content"> |
| In the <b> Target Editor</b>, while editing an existing software site location, |
| the <b> Edit Software Site </b> dialog now opens with the appropriate selection. |
| |
| </td> |
| </tr> |
| |
| <tr id="pde-api-use-scan"> |
| <td class="title">API use scan report specifies additional filters used </td> |
| <td class="content"> |
| <b> API use scan report</b> specifies the location of additional filters (.api_filter files) |
| used during the scan. It also reports the number of illegal references filtered out due to |
| additional filters used. |
| <p> |
| <img src="images/pde-additional-filter-information.png" alt="Additional Filter Information"/> |
| </p> |
| </td> |
| </tr> |
| |
| <tr id="pde-error-log-size"> |
| <td class="title">Option to set maximum log size</td> |
| <td class="content"> |
| In the <b>Error Log</b> view, on the <b>view menu > Filters...</b> dialog, there now is an option to set |
| the maximum log size that can be read by the Error Log view. If the size of the error log exceeds |
| this limit, a warning is logged. |
| <p> |
| <img src="images/pde-logsize-filter-dialog.png" alt="Maximum log size in filter log dialog"/> |
| </p> |
| </td> |
| </tr> |
| |
| <tr> |
| <td colspan="2" class="section" id="Equinox">Equinox</td> |
| </tr> |
| |
| <tr id="default-gtk3"> |
| <td class="title">GTK+ 3 used by default on Linux distributions (when installed and available)</td> |
| <td class="content"> |
| SWT and Eclipse will use the GTK+ 3 libraries by default on all Linux platforms, |
| whenever GTK+ 3 is installed and available (including GTK+ 3.10 and above). |
| <p>You can force Eclipse to use GTK+ 2 port by setting the environment |
| variable <code>SWT_GTK3</code> to 0 or using the launcher parameter <code>--launcher.GTK_version</code> flag in .ini file, if needed. |
| (For example: export SWT_GTK3=0) </p> |
| </td> |
| </tr> |
| |
| <tr id="gtk-supported-versions-update"> |
| <td class="title">Dropped support for GTK+ 2 versions older than 2.18 in Eclipse launcher</td> |
| <td class="content"> |
| GTK+ 2.18.0 or later (and its dependencies) will be the pre-requisites necessary to |
| run Eclipse successfully on all Linux/UNIX platforms as opposed to GTK+ 2.10.0 earlier. |
| Support for all versions older than 2.18 has been dropped effective Mars M3 milestone release. |
| <p> |
| Note: As of now, Eclipse shows the following error dialog, which allows you to run even when |
| a GTK+ version older than 2.18.0 is detected. But that behavior will soon be changed to not run |
| Eclipse with unsupported GTK+ versions. |
| </p> |
| <p> |
| <img src="images/gtk-version-warning.png" alt="" /> |
| </p> |
| |
| </td> |
| </tr> |
| |
| <tr id="p2-native-dependencies"> |
| <td class="title">Prompt for native dependencies</td> |
| <td class="content"> |
| It is now possible with p2 to express dependencies on OS packages and prompt the user to install those when they are not installed. |
| <p><img src="images/os-prompt.png" alt="" /></p> |
| <p>This functionality can be enabled by a new touchpoint instruction. For example:</p> |
| <pre>org.eclipse.equinox.p2.touchpoint.natives.checkAndPromptNativePackage(distro:debian,package:handbrake,comparator:ge,version:0.9);</pre> |
| <p>At this point, the support is limited to Ubuntu. |
| <a href="https://bugs.eclipse.org/bugs/enter_bug.cgi?product=Equinox&component=p2">Contributions</a> to add this support for other OS are welcomed.</p> |
| <p>Integration with Tycho is available from 0.23.0-SNAPSHOT and above.</p> |
| </td> |
| </tr> |
| |
| <tr> |
| <td colspan="2"/> |
| </tr> |
| </table> |
| <p>The above features are just the ones that are new since the previous milestone |
| build. Summaries for earlier Mars milestone builds:</p> |
| <ul> |
| <li><a href="https://www.eclipse.org/eclipse/news/4.5/M3/">News for Eclipse Mars milestone build M3</a></li> |
| <li><a href="https://www.eclipse.org/eclipse/news/4.5/M2/">News for Eclipse Mars milestone build M2</a></li> |
| <li><a href="https://www.eclipse.org/eclipse/news/4.5/M1/">News for Eclipse Mars milestone build M1</a></li> |
| </ul> |
| </body> |
| </html> |