<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta name="copyright" content="Copyright (c) Eclipse contributors and others 2018. This page is made available under license. For full details see the LEGAL in the documentation book that contains this page."/>
<meta http-equiv="Content-Language" content="en-us"/>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<link rel="STYLESHEET" href="news.css" type="text/css"/>
<style type="text/css">
body {max-width: 900px;}
table.news col.title {width: 30%;}
/*img {max-width: 520px;}*/
table.news {table-layout: fixed; border-collapse: collapse; width: 100%;}
table.news td {border-top: solid thin black; padding: 10px; overflow: visible;}
table.news tr {vertical-align: top;}
table.news tr td.section {font-size: 20px; font-weight: bold;}
table.news tr td.title {vertical-align: top; font-weight: bold;}
table.news tr td.content {vertical-align: top;}
ul {padding-left: 13px;}
</style>
<title>Eclipse Project 4.13 - New and Noteworthy</title>
</head>

<body>
<h2>Plug-in Development Environment</h2>
<ul>
	<li><a href="#dialogs-wizards-views">Dialogs, Wizards and Views</a></li>
	<!-- <li><a href="#editors">Editors</a></li> -->
	<li><a href="#APITools">API Tools</a></li>
	<li><a href="#pde-compiler">PDE Compiler</a></li>
</ul>

<!-- ****************** START OF N&N TABLE****************** -->
<table class="news">
<colgroup>
  <col class="title" />
  <col />
</colgroup>
<tbody>
  <!-- ******************** Dialogs, Wizard and Views ********************** -->
  <tr>
    <td id="dialogs-wizards-views" class="section" colspan="2"><h2>Dialogs, Wizards and Views</h2></td>
  </tr>
  <tr id="feature-launch-startlevels"> <!-- https://bugs.eclipse.org/bugs/show_bug.cgi?id=331595 -->
    <td class="title">Configure start levels for feature based launch</td>
    <td class="content">
      <b>Feature-based Launch Configuration</b> now supports custom start levels and auto-start properties for individual plugins.
      <p>
       To configure them, you need to add the plugins via <b>Add Plug-ins...</b> first.
      </p>
      <p>
       When launching a feature-based product, defined start levels and selected features are automatically
       filled out in the created launch configuration. You can then select <b>features selected below</b> to
       convert it to feature-based without any further configuration. 
      </p>
      <p>
       <img src="images/feature-launch-startlevels.png" alt="" />
      </p>
    </td>
  </tr>
  
  <tr id="features-view"> <!-- https://bugs.eclipse.org/bugs/show_bug.cgi?id=543217 -->
    <td class="title">New Features view</td>
    <td class="content">
      You can now view the structure of features in your workspace projects using the new <b>Features</b> view.
      <p>
       To open the view, go to the <b>Show View</b> dialog (<b>Window &gt; Show View &gt; Other...</b>) and choose it from
			 the <b>Plug-in Development</b> category.
      </p>
			<p>
       <img src="images/show-view-dialog.png" alt="" />
      </p>
      <p>
       By default the view shows only features, with child features listed under their parents rather than at the top level.
			 The buttons on the view's toolbar allow plugins/fragments included within a feature to be shown, child features to be
			 shown at the top level, and for the hierarchy to be inverted (to show the features including each feature).
      </p>
      <p>
       <img src="images/features-view.png" alt="" />
      </p>
    </td>
  </tr>
  <!-- ******************** End ofDialogs, Wizard and Views ********************** -->
  
  <!-- ******************** Editors ********************** -->
  <!-- <tr> -->
    <!-- <td id="editors" class="section" colspan="2"><h2>Editors</h2></td> -->
  <!-- </tr> -->
  <!-- ******************** End of Editors ********************** -->

  <!-- ******************** APITools ********************** -->
  <tr>
    <td id="APITools" class="section" colspan="2"><h2>API Tools</h2></td>
  </tr>

  <tr id="quickfix-for-first-api-addition"> <!--https://bugs.eclipse.org/bugs/show_bug.cgi?id=243878 -->
    <td class="title">Quickfix to add missing since tag after version update</td>
    <td class="content">
      On any API addition that also results in a version change, a quickfix is now available that first
      updates the version appropriately and then adds the <code>@since</code> tag based on the updated version.
      <p>
       <img src="images/pde-api-addition.png" alt="" />
      </p>
    </td>
  </tr>
  
   <tr id="optimization-pde-api-tools-build"> 
     <!--https://bugs.eclipse.org/bugs/show_bug.cgi?id=344110 -->
	 <!--https://bugs.eclipse.org/bugs/show_bug.cgi?id=344163 -->
	 <!--https://bugs.eclipse.org/bugs/show_bug.cgi?id=549630 -->
    <td class="title">Optimization in  API tools builder </td>
    <td class="content">
      There are various optimizations that are done for API analysis builder which has
      improved the performance in some scenarios tremendously. 
      <ul>
	   <li>Changing <b>Missing API baseline</b> option in <b>Preferences &gt; Plug-in Development &gt; API Baselines</b> preference page 
	   updates the marker appropriately instead of doing a full build.</li>
	   <li>Removing or unchecking baseline in  <b>Preferences &gt; Plug-in Development &gt; API Baselines</b> preference page  removes all markers 
	   which requires a baseline instead of a full build.</li>
	   <li>Removing or unchecking all API Use Scan locations  in <b>Preferences &gt; Plug-in Development &gt; API Use Scans</b> preference page  removes the relevant markers instead of doing a full build.</li>
      </ul>
      <p>
      For example, changing <b>Missing API baseline</b> option in <code>org.eclipse.jdt.core</code> finishes instantaneously instead of 3 to 4 seconds earlier.
      </p>
    </td>
  </tr>
  
    <tr id="full-build-on-pde-api-tools-settings-change"> <!-- https://bugs.eclipse.org/bugs/show_bug.cgi?id=549838 -->
    <td class="title">Full build on API tools preferences change</td>
    <td class="content">
      Manually changing the settings file <b>.settings/org.eclipse.pde.api.tools.prefs</b> of a project
      will result in a full project build, if the workspace auto-build is on. 
      <p>For the 4.13 release, it is possible to disable this new behavior with the VM property:
      <b><span style="white-space: nowrap;">-Dorg.eclipse.disableAutoBuildOnSettingsChange=true</span></b>.
      It is planned to remove this VM property in a future release.</p>
    </td>
  </tr>
  
  <!-- ******************** End of APITools ********************** -->
  
   <!-- ******************** PDE Compiler ********************** -->
   <tr> 
     <td id="pde-compiler" class="section" colspan="2"><h2>PDE Compiler</h2></td> 
   </tr> 
   
    <tr id="full-build-on-pde-compiler-settings-change"> <!-- https://bugs.eclipse.org/bugs/show_bug.cgi?id=549839 -->
    <td class="title">Full build on PDE compiler preferences change</td>
    <td class="content">
      Manually changing the settings file <b>.settings/org.eclipse.pde.prefs</b> of a project
      will result in a full project build, if the workspace auto-build is on. 
      <p>For the 4.13 release, it is possible to disable this new behavior with the VM property:
      <b><span style="white-space: nowrap;">-Dorg.eclipse.disableAutoBuildOnSettingsChange=true</span></b>.
      It is planned to remove this VM property in a future release.</p>
    </td>
  </tr>
   
   <!-- ******************** End of PDE Compiler ********************** --> 
  
</tbody>
</table>
<!-- ****************** END OF N&N TABLE ****************** -->

<script type="text/javascript" src="scripts.js"></script>
  <p style="text-align:center">
    <a href="platform_isv.php">Previous</a> <a style="margin:1em" href=".">Up</a> <span style="color:#808080">Next</span>
  </p>
</body>
</html>
