<!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.3 M2 News</title>
</head>
<body>
<h1>Eclipse Project 4.3 M2 - New and Noteworthy</h1>
<p>Here are some of the more noteworthy things available in milestone build M2 
  (September 21, 2012) which is now available for <a href="http://download.eclipse.org/eclipse/downloads/" target="_top">download</a>.
</p>
<ul>
  <li><a href="#Platform">Platform</a></li>
  <li><a href="#JDT">JDT</a></li>
  <li><a href="#PDE">PDE</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="detached-sash">
    <td class="title">Detached windows with sash</td>
    <td class="content">
      When you detach a view or editor into its own separate window, it now
      has all the capabilities of a normal workbench window. They now support multiple stacks of
      views separated by sashes with arbitrary layouts. The detached parts will remain synchronized
      with the master window that they were detached from. This is especially handy for people developing
      with two or more monitors, so they can spread views across several monitors and keep them synchronized.
		<p><img src="images/detached-sash.png" alt="Detached window with multiple views separated by sash."/></p>
    </td>
  </tr>

  <tr id="trim-drag">
    <td class="title">Trim dragging</td>
    <td class="content">
      You can now drag toolbars to reposition them. 
      <p><img src="images/trim-drag.png" alt="Dragging a toolbar."/></p>
      <p>The perspective switcher can also be dragged to the left or right of the window and it will switch to a 
        vertical orientation.</p>
	  <p><img src="images/vertical-switcher.png" alt="Dragging perspective switcher to vertical orientation."/></p>
    </td>
  </tr>

  <tr id="import-nested">
    <td class="title">Import nested projects</td>
    <td class="content">
      The <b>Import Projects</b> wizard now has an option to continue searching for projects to import
      recursively within any project it finds. This allows you to import physically nested projects
      at the same time.
      <p><img src="images/import-nested.png" alt="Import nested projects."/></p>
    </td>
  </tr>

  <tr id="ant184">
    <td class="title">Platform updated to Ant 1.8.4</td>
    <td class="content">
      The platform has been updated to use Apache Ant version 1.8.4. To see what is new in version 1.8.4 you can
      check the <a href="http://apache.mirrors.tds.net//ant/README.html">Apache Ant what's new</a>.
    </td>
  </tr>
  
  <tr>
    <td colspan="2" class="section" id="JDT">JDT</td>
  </tr>
  <tr id="content-assist-additional-info-in-debug-views">
    <td class="title">Content assist shows Javadoc in Display, Expressions and Variables view</td>
    <td class="content">
        Content assist in the Display, Expressions and Variables view now shows Javadoc:
		<p><img src="images/additional-info.png" alt="Screenshot showing Javadoc when doing content assist"/></p>
	</td>
  </tr>
  
  
  <tr>
    <td colspan="2" class="section" id="PDE">PDE</td>
  </tr>
  
  <tr id="ee-desc-feature">
    <td class="title">New API Tools EE descriptions feature</td>
    <td class="content">
      The API Tools Execution Environment descriptions are now supplied on the Eclipse update sites as a single
      installable feature.  The feature includes the descriptions for all supported execution environments.
      
       <p><img src="images/eedescfeature.png" alt="New EE Desc feature on update sites"/></p> 
    </td>
  </tr>
  
  <tr id="improved-feature-selection">
    <td class="title">Improved feature selection dialog</td>
    <td class="content">
      The feature selection dialog used in wizards and editors has been enhanced with better wildcard support
      and filtering options.
      
       <p><img src="images/featureselection.png" alt="Improved feature selection dialog"/></p> 
    </td>
  </tr>
  
  <tr> 
    <td colspan="2">  </td>
  </tr>
</table>
<p>The above features are just the ones that are new since the previous milestone
build. Summaries for earlier Kepler milestone builds:</p>
<ul>
  <li><a href="http://download.eclipse.org/eclipse/downloads/drops4/S-4.3M1-201208101300/news/">New for Eclipse Kepler milestone build M1 (August 10, 2012)</a></li>
</ul>
</body>
</html>
