<!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 2016. 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 Oxygen - New and Noteworthy</title>
</head>

<body>
<h2>Plug-in Development Environment</h2>
<ul>
	<li><a href="#dialogs-editors-views">Dialogs, Editors, and Views</a></li>
	<li><a href="#declarative-services">OSGi Declarative Services</a></li>
	<li><a href="#wizards">Wizards</a></li>
	<li><a href="#APITools">API Tools</a></li>
</ul>

<table class="news">
<colgroup>
  <col class="title" />
  <col />
</colgroup>
<tbody>

  <!-- ******************** Dialogs, Editors, and Views ********************** -->
  <tr>
    <td id="dialogs-editors-views" class="section" colspan="2"><h2>Dialogs, Editors, and Views</h2></td>
  </tr>
  
  <tr id="layout-spy">
    <td class="title">New Layout Spy Tool</td>
    <td class="content">
      PDE has added a new tool for debugging SWT layouts. To activate it, use the
      shortcut <b>Ctrl+Alt+Shift+F9</b> from any window.
      <p>Usage:</p>
      <ul>
      <li>Click <b>Select Control</b> then click the control you want to inspect</li>
      <li>Enable <b>Show Overlay</b> and navigate the widget hierarchy until you find a
          control whose boundary is correct (the red rectangle) and whose child's boundary
          is incorrect (the yellow rectangle).</li>
      <li>Look at the results of computeSize. If the result of computeSize is correct,
          the problem is in the parent layout or its attributes. Otherwise the problem
          is in the child widget.</li>
      </ul>
        <p>
          <img src="images/layout-spy.png" alt="" />
        </p>
    </td>
  </tr>
  
  <tr id="nested-categories-support">
    <td class="title">Support for Nested categories</td>
    <td class="content">
      You can now organize features into hierarchies by using the nested categories support in the <b>Category Definition</b> editor.
      <p>
      The created definition can be used as input for the <b>Categorize repository</b> parameter in the <b>Options</b> tab of <b>File &gt; Export... &gt; Deployable features</b> wizard.
      They are also visible in the <b>Install</b> dialog.
      </p>
      <p>
        <img src="images/pde-support-for-nested-categories.png" alt=""/>
      </p>
    </td>
  </tr>
  
  <tr id="manage-versions-for-included-features">
    <td class="title">Manage versions for included features</td>
    <td class="content">
      The <b>PDE Feature editor</b> now allows you to manage versions for included features (previously this was possible for included plug-ins only).
      In the <b>Included Features</b> tab, a new <b>Versions...</b> button has been added, which allows you to synchronize the current feature with
      actual versions of included features, or sets included feature versions to be synchronized on build.
      <p>
        <img src="images/pde-version-included-feature.png" alt=""/>
      </p>
    </td>
  </tr>
  
<tr id="workspace-overriding-target-option">
    <td class="title">Option added for workspace plug-ins overriding target plug-ins </td>
    <td class="content">
       A new option to specify if workspace plug-ins should override target platform plug-ins with the same id has been 
       added on the <b>Plug-in Development </b> preference page.
       <p>
        	<img src="images/workspace-plugins-override-target.png" alt=""/>
       </p>
       <p>
       This option is enabled by default. When it's disabled, all plug-in versions from the workspace and target platform will 
       be used and the best available plug-in for a plug-in id will be chosen.
       </p>
    </td>
  </tr>
  
  <tr id="error-log-show-in-console">
    <td class="title">'Show In Console' added to context menu of Error Log view</td>
    <td class="content">
       In the <b>Error Log</b> view, the context menu now includes <b>Show In Console</b>, which performs the same
       action as <b>Show Stack Trace in Console View</b> from the view toolbar.
      <p>
        <img src="images/pde-show-in-console-view-context-menu-error-log-view.png" alt=""/>
      </p>
    </td>
  </tr>
  
  <tr id="reload-target-editor">
    <td class="title">Reload Target Editor</td>
    <td class="content">
      When a target platform is already active, the <b>Target Editor</b> now shows a <b>Reload Target Platform</b> link instead of <b>Set Active Platform</b>. 
      The reload link has the same effect as clicking the <b>Reload</b> button in the <b>Plug-in Development &gt; Target Platform</b> preference page.
      <p>
        <img src="images/pde-target-editor-reload.png" alt=""/>
      </p>
      If the .target file has been modified, clicking the
      link will now ask you to save the target editor and then reload the target.
    </td>
  </tr>
  
  <tr id="target-definition-generic-editor-extension">
    <td class="title">Target definition files can be edited with the Generic Editor</td>
    <td class="content">
      The <b>Generic Editor</b> has been extended to enable it to edit target definition files (.target files). It supports syntax highlighting for the most used keywords.
      It also supports content assist for tags and their attributes, installable units for a given repository, and the available versions for a given installable unit.
      <p>
        <img src="images/target-editor-screenshot.png" alt=""/>
      </p>
    </td>
  </tr>
  
  <tr id="p2-inf-editor">
    <td class="title">p2.inf files open in Properties Editor</td>
    <td class="content">
      The <b>Properties File Editor</b> is now the default editor associated with <code>p2.inf</code> files. 
    </td>
  </tr>
  
  <tr id="search-in-features">
    <td class="title">Search finds plug-in references in features</td>
    <td class="content">
      <b>Search > Plug-ins...</b> that finds references to a plug-in now also finds references to a plug-in in features.
    <p>
        	<img src="images/pde-search-plugin-in-feature.png" alt=""/>
    </p>
    </td>
  </tr>
  
  <tr id="quickfix-adds-import-statement">
    <td class="title"> Quick Fix to add bundle or package adds import statement</td>
    <td class="content">
      The Quick Fix that adds an <code>Import-Package</code> or <code>Require-Bundle</code> dependency
      in the <code>MANIFEST.MF</code> now also adds the relevant import statement for the unresolved type in the <b>Java editor</b>.
    </td>
  </tr>
  
    <tr id="validate-launch-configuration">
    <td class="title">Validate launch configuration activated by default</td>
    <td class="content">
      When you create a new Eclipse Application launch configuration, PDE will now by default enable the option to
      <b>Validate Plug-ins automatically prior to launching</b>.
      <p>
       This helps identify missing plug-in dependencies before the start of the application and makes it easier for new plug-in
       and RCP developers to identify common problems.
       This validation can be disabled in the <b>Plug-ins</b> tab of the launch configuration dialog.
       </p>
    <p>
        	<img src="images/validate-launch-config-by-default.png" alt=""/>
    </p>
    </td>
  </tr>
  
  <tr id="tracing-tab-restore-defaults">
    <td class="title">'Restore to defaults' buttons added to Tracing tab</td>
    <td class="content">
       In the <b> Tracing</b> tab of the launch configuration dialog, new options to <b>Restore Selected to Defaults</b>
       and <b>Restore All to Defaults</b> have been added.
      <p>
        <img src="images/pde-restore-default-tracing-tab.png" alt=""/>
      </p>
     
    </td>
  </tr>
  
  <!-- ******************** OSGi Declarative Services ********************** -->
  <tr>
    <td id="declarative-services" class="section" colspan="2"><h2>OSGi Declarative Services</h2></td>
  </tr>
  
  <tr id="ds-annotations">
    <td class="title">Support for Declarative Services Annotations v1.3</td>
    <td class="content">
    	Version 1.3 of OSGi Declarative Services delivers a number of improvements, including
    	Component Property Types for strongly-typed configuration parameter handling,
    	Field Strategy for dependency injection, service/reference scoping, and others.
    	<p>
    	PDE now supports the enhanced annotations and new usage options. It generates component
    	properties from any Component Property Types that you may use in your component lifecycle
    	methods. It also creates reference entries from <code>@Reference</code> annotations
    	specified directly in <code>@Component</code> as well as annotated member fields. New
    	reference event method signatures are also supported.
    	</p>
    	<p>
			<img src="images/ds-annotations.png" alt="" />
    	</p>
    	<p>
      To enable this feature, go to <b>Preferences</b> or <b>Project Properties &gt; Plug-in Development &gt; DS Annotations</b>
      and check <b>Generate descriptors from annotated sources</b>.
    </p>
    </td>
  </tr>
  
  <!-- ******************** Wizards ********************** -->
  <tr>
    <td id="wizards" class="section" colspan="2"><h2>Wizards</h2></td>
  </tr>
  
  <tr id="generic-editor-template">
    <td class="title">Plug-in project template added for Generic Text Editor</td>
    <td class="content">
      A plug-in project template has been added to show off the new extensible generic editor functionality. It will kick-start you with a sample .target file editor with syntax highlighting.
    <p>
        	<img src="images/pde-generic-editor.png" alt=""/>
    </p>
    </td>
  </tr>
  
  <tr id="plug-in-template-names">
    <td class="title">More descriptive plug-in template names</td>
    <td class="content">
      The template name for plug-ins have been modified to be more descriptive.
      <p>
        <img src="images/pde-plugin-template-names.png" alt=""/>
      </p>
    </td>
  </tr>
  
  <tr id="new-feature-project-filtered-tree">
    <td class="title">Plug-in selection filter in Feature project wizard</td>
    <td class="content">
      You can now use a text filter when selecting plug-ins in the <b>New > Feature Project</b> wizard.
      <p>
        <img src="images/new-feature-project-filtered-tree.png" alt=""/>
      </p>
    </td>
  </tr>
  
  <tr id="plugin-and-feature-export-wizards-filtered-selection">
    <td class="title">Filter in plug-in and feature export wizards</td>
    <td class="content">
	  You can now use a text filter when selecting plug-ins in the <b>Export.. > Deployable plug-ins and fragments</b> or
	  features in the <b>Export.. > Deployable features</b> wizards.
      <p>
        <img src="images/plugin-and-feature-export-wizards-filtered-selection.png" alt=""/>
      </p>
    </td>
  </tr>
  
  <!-- ******************** APITools ********************** -->
  <tr>
    <td id="APITools" class="section" colspan="2"><h2>API Tools</h2></td>
  </tr>

  <tr id="changed-exec-env-version-problem">
    <td class="title">Change in Execution Environment creates a version problem</td>
    <td class="content">
       Changing the <b>Execution Environments </b> in a plug-in now creates a problem marker indicating that the minor version should be increased. This happens
       if the minor version is not already increased with respect to the baseline. 
       <p>
         The preference to control the severity of this problem is located in
         the <b>Version Management</b> tab of the <b>Plug-in Development &gt; API Errors/Warnings</b> preference page.
       </p>
      <p>
        <img src="images/pde-changed-exec-env-version-problem.png" alt=""/>
      </p>
    </td>
  </tr>
  
  <tr id="default-method-addition">
    <td class="title">Default method addition reported as a breaking change</td>
    <td class="content">
      The API Tools now reports the addition of a default method in an API interface that can be implemented by 
      clients as a <a href="https://wiki.eclipse.org/Evolving_Java-based_APIs_2#Evolving_API_Interfaces">
      breaking change</a>.
      <p>
       On the <b>Plug-in Development &gt; API Errors/Warnings</b> preference page in the <b>API Compatibility</b> tab,
       there is a new option in the <b>Interface</b> section to configure the severity of a "default method addition" API change.
      </p>
      <p>
        By default, this option is set to "Error" because adding the same method in multiple interfaces can break
        existing clients at run time (<a href="http://docs.oracle.com/javase/specs/jls/se8/html/jls-13.html#jls-13.5.6">JLS8 13.5.6</a>).
      </p>
      <p>
        	<img src="images/pde-default-method-addition-api-compat-option.png" alt=""/>
      </p>
    </td>
  </tr>
  
  <tr id="field-addition-to-class">
    <td class="title">Field addition to Class reported as a breaking change</td>
     <td class="content">
       The API Tools now reports the addition of a field to a Class that is extendable by clients as a <a href="https://wiki.eclipse.org/Evolving_Java-based_APIs_2#add-api-field ">breaking change.</a>
       <p>
       On the <b>Plug-in Development &gt; API Errors/Warnings</b> preference page in the <b>API Compatibility</b> tab,
       there is a new option in the <b>Class</b> section to configure the severity of a "field addition to class".
       Also, there is a new link at the top of <b>API Compatibility</b> tab that has more details on achieving API binary compatibility.
      </p>
      <p>
        <img src="images/pde-api-tools-field-addition-to-class-preference-ui.png" alt=""/>
      </p>
      
      The field addition error has a Quick Fix that opens help to explain the incompatibility in greater detail.
      <p>
        <img src="images/pde-api-tools-field-addition-to-class-quickfix.png" alt=""/>
      </p>
    </td>
  </tr>
  
  <tr id="field-addition-to-annotation-option">
    <td class="title">Option for field addition to an annotation</td>
    <td class="content">
      On the <b>Plug-in Development &gt; API Errors/Warnings</b> preference page in the <b>API Compatibility</b> tab,
      there is a new option in the <b>Annotation</b> section to configure the severity of a "field addition to annotation".
      <p>
        <img src="images/pde-field-addition-to-annotation.png" alt=""/>
      </p>
    </td>
  </tr>
  
  <tr id="api-tools-noimplement-noextend-leak">
    <td class="title">Types marked with <code>@noimplement</code> and <code>@noextend</code> processed by API leak analysis</td>
    <td class="content">
       Extending or implementing an interface marked as <code>@noimplement</code> is now reported as an API leak. This is because 
       adding a field or method to the interface marked as <code>@noimplement</code> may break a client that is using 
       the extended or implemented type. 
       <p>
        Also, extending a type marked as <code>@noextend</code> is now reported as an API leak. This is because it may indirectly 
        leak API types if the extended type is further extended by the client. 
       </p>
        Some of the new kinds of leak warnings are shown below:
       <p>
        <img src="images/pde-api-tool-warning-leak-noimplement-noextend.png" alt=""/>
       </p>
    </td>
  </tr>
  
  <tr id="quick-fix-for-apitool-pde-compiler-problems">
    <td class="title">Quick Fix to configure problem severity</td>
    <td class="content">
      You can now configure the severity of an <b>API Tools </b>problem or a <b>PDE compiler</b> problem by invoking the new <b>Quick Fix (Ctrl+1)</b>.
      <br/>
      <br/>
      <p>
        <img src="images/pde-configure-problem-api-tool.png" alt=""/>
      </p>
      For API tools problems, the Quick Fix will open the <b>Plug-in Development &gt; Errors/Warnings</b>
      preference page and highlight the configurable problem.
      
      <br/>
      <br/>
      <p>
        <img src="images/pde-configure-problem-pde-compiler.png" alt=""/>
      </p>
       For PDE compiler problems, the Quick Fix will open the <b>Plug-in Development &gt; Compilers</b>
       preference page and highlight the configurable problem.
     
    </td>
  </tr>
  
  <tr id="reorganized-version-management-tab">
    <td class="title">Reorganized Version Management preferences tab</td>
    <td class="content">
      The <b>Version Management</b> tab of the <b>Plug-in Development &gt; API Errors/Warnings</b> preference page has been
      reorganized as shown below:
      <ul>
       <li>
       The sub-options to control major/minor version change without API breakage/changes have been converted into normal options
       and they are set to warning by default.</li>
       <li>
       The option 'Report changed execution environment incompatibility' has been moved
       to the bottom of the tab.</li>
      </ul>
       <p>
         <img src="images/pde-version-management-tab-preference.png" alt="" />
       </p>
    </td>
  </tr>

</tbody>
</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>
