<?xml version="1.0" ?>
<rss version="2.0">

<channel>

<title>AJDT News</title>
<description>The latest news and developments for AJDT, the Eclipse tooling
for AspectJ.</description>
<link>http://www.eclipse.org/ajdt/</link>

<item>
  <title>Translations available</title>
  <description>
  		Translations have been contributed for AJDT 1.3.  Please see the
  		New Features page for more details.
  </description>
  <link>http://www.eclipse.org/ajdt/newfeatures/#translations</link>
</item>

<item>
  <title>AJDT 1.2.1 and 1.3 released!</title>
  <description>
  		AJDT 1.2.1 and 1.3 released!
  </description>
  <link>http://www.eclipse.org/ajdt/downloads/</link>
</item>

<item>
  <title>AspectJ 5 M5</title>
  <description>
  		The latest AspectJ milestone release is now included in AJDT development
		builds. Please see the New Features page for
		more details.
  </description>
  <link>http://www.eclipse.org/ajdt/newfeatures/#compilerM5</link>
</item>

<item>
  <title>Load-time weaving</title>
  <description>
	AJDT 1.2.1 and 1.3 now provide support for load-time weaving your applications in Eclipse. 
	Please see the New Features page for more details.
  </description>
  <link>http://www.eclipse.org/ajdt/newfeatures/#ltw</link>
</item>

<item>
  <title>Accessibility</title>
  <description>
  		AJDT 1.3 has undergone a full accessibility review in anticipation of the upcoming release. 
		Please see the New Features page for more details.
  </description>
  <link>http://www.eclipse.org/ajdt/newfeatures/#accessibility</link>
</item>

<item>
  <title>AspectJ 5 M4</title>
  <description>
  		The latest AspectJ milestone release is now included in AJDT development
		builds. Please see the New Features page for
		more details.
  </description>
  <link>http://www.eclipse.org/ajdt/newfeatures/#compilerM4</link>
</item>

<item>
  <title>Internationalization - call for help!</title>
  <description>
  		Recently we have been focusing on support for message translations in AJDT. But we need
		your help with this - please see the New Features page for
		details of how you can help.
  </description>
  <link>http://www.eclipse.org/ajdt/newfeatures/#i18n</link>
</item>

<item>
  <title>Another new feature: Crosscutting Comparison view</title>
  <description>
       This new view and related functionality helps you manage changes
       to the crosscutting structure of your project.  
  </description>
  <link>http://www.eclipse.org/ajdt/newfeatures/#comparison</link>
</item>
       
<item>
  <title>This week's new AJDT feature: Updated New Aspect Wizard</title>
  <description>
       The New Aspect wizard now more closely matches the appearance and
       functionality of the New Class wizard, plus it can generate stubs
       for pointcuts inherited from an abstract aspect.</description>
  <link>http://www.eclipse.org/ajdt/newfeatures/#newaspect</link>
</item>

<item>
  <title>More new features in AJDT: Cross References Filter and upgraded compiler</title>
  <description>
       The New Features page has been updated
       to cover the filtering capability added to the Cross References view. The version of the
       AspectJ compiler included in AJDT has also been updated to the latest development build.
  </description>
  <link>http://www.eclipse.org/ajdt/newfeatures/#xrefFilter</link>
</item>

<item>
  <title>New features in AJDT: Pointcut navigation and source hovers</title>
  <description>
       Find out more about the latest new features added to AJDT
       development builds from the New Features page,
       starting this week with support for navigation and source hovers for
       pointcuts.
  </description>
  <link>http://www.eclipse.org/ajdt/newfeatures/#pointcuts</link>
</item>

<item>
  <title>developerWorks article published: New AJDT releases ease AOP development</title>
  <description>
      This article explores AJDT 1.2 and 1.3, the latest releases of the AspectJ development
      tools for Eclipse 3.0 and 3.1, respectively. The major focus of these releases is to
      more closely integrate AspectJ with the Eclipse platform and to offer AspectJ developers
      more of the advanced tooling support available to Java™ developers using Eclipse.
  </description>
  <link>http://www.ibm.com/developerworks/java/library/j-aopwork9/</link>
</item>

<item>
  <title>AJDT 1.2 released for Eclipse 3.0</title>
  <description>
       The stable release is now here! See the New and Noteworthy for a summary of the
       changes since version 1.1. The release is available from the update site and as
       a zip file. See the AJDT download page for more information.
  </description>   
  <link>http://www.eclipse.org/ajdt/whatsnew12/</link>
</item>

</channel>

</rss>
