<!doctype html PUBLIC "-//W3C//DTD html 4.0 transitional//EN">

<html>
<head>
   <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
   <title>ASTView Release Notes</title>
</head>
<body>

<h1>
ASTView Build Notes</h1>

<!-- template:
<h3>Date</h3>
<ul>
	<li>
		Item
	</li>
</ul>

-->

<h3>2007-04-02 (1.1.4)</h3>
<ul>
	<li>
		Added new JDT/Core API from 3.3 stream:
	</li>
	<li>
		ITypeBinding#createArrayType(int)
	</li>
	<li>
		[Super]MethodInvocation#isResolvedTypeInferredFromExpectedType()
	</li>
	<li>
		bindings recovery
	</li>
</ul>

<h3>2006-07-26 (1.1.3)</h3>
<ul>
	<li>
		support ASTParser#setFocalPosition(..) and reconcile(..) on class file working copy
	</li>
	<li>
		added "Create Binding from Element Handle..."
	</li>
	<li>
		fixed highlighting of parent nodes of the editor selection
	</li>
</ul>

<h3>2006-01-20 (1.1.0)</h3>
<ul>
	<li>
		Added new JDT/Core API from 3.2 stream.
	</li>
</ul>


<h3>2005-05-30</h3>
<ul>
	<li>
		Added IMethodBinding#isSubsignature(IMethodBinding) (in comparison tray).
	</li>
	<li>
		Changed license from cpl-v10 to epl-v10
	</li>
</ul>

<h3>2005-04-21</h3>
<ul>
	<li>
		Show Expression attributes: boxing, unboxing, constantExpressionValue.
	</li>
	<li>
		ITypeBinding#isCapture() and #getWildcard()
	</li>
	<li>
		Show arguments of problem nodes.
	</li>
	<li>
		Mark non-existent java elements, render resolved elements.
	</li>
</ul>

<h3>2005-03-22</h3>
<ul>
	<li>
		Added IVariableBinding#getVariableDeclaration().
	</li>
</ul>

<h3>2005-03-03</h3>
<ul>
	<li>
		Added "Resolve Binding Key..." action in view menu.<br>
		The key is converted into a binding by <code>ASTParser.createASTs(..)</code>.
	</li>
</ul>

<h3>2005-02-18</h3>
<ul>
	<li>
		Added toggle "Create Bindings" in view menu.
	</li>
</ul>

<h3>2004-11-29</h3>
<ul>
	<li>
		Added Delete action for items in comparison tray.
	</li>
	<li>
		Added toggle "Use Reconciler" in view menu.
	</li>
	<li>
		Doubleclicking a node whose calculation threw an exception now gives a dialog
		with the caught exception and writes it to the log.
	</li>
</ul>

<h3>2004-11-26</h3>
<ul>
	<li>
		Improved comparison tray: Use ViewForm, show comparions as children, not in status line,
		added new comparisons.
	</li>
</ul>

<h3>2004-11-23</h3>
<ul>
	<li>
		Added <b>Copy to clipboard</b> (Ctrl+C, Edit > Copy, Context Menu > Copy) for single- and multiselections.
	</li>
	<li>
		Added 'Context Menu > <b>Add To Comparison Tray</b>'. This action allows to temporarily copy
		a selected binding to a 'Comparison Tray' in the lower part of the ASTView.
		The workbench window status line shows interesting relationships between the selected
		bindings in the AST tree (upper part of the ASTView) and the comparison tray (lower part).
	</li>
</ul>

<h3>2004-11-22</h3>
<ul>
	<li>
		Added all new properties for bindings.
	</li>
	<li>
		Showing <b>expression type bindings</b> in addition to node's binding where applicable (e.g for MethodInvocation).
	</li>
	<li>
		Combined related <b>boolean properties of ITypeBindings</b> to use only one line (KIND, ORIGIN, GENERICS).
	</li>
	<li>
		Added link to <b>java element</b>. Doubleclick or press Enter to reveal in editor.
		Navigate > Show In > Package Explorer is also supported.
	</li>
	<li>
		The ASTView can be opened with shortcut <b>Alt+Shift+Q, A</b>.
	</li>
</ul>

</body>
</html>

