---
layout: default
title: Announcements 2009
---

<h1>Announcements - 2009</h1>

<p class="pull-right">
  Skip to: <a href="announce-2008.html">Announcements - 2008</a>
</p>

<h4 id="a20091116">16 November 2009 - Struts 2.1.8.1 General Availability Release</h4>
<p>
  The Apache Struts group is pleased to announce that Struts 2.1.8.1 is
  available as a "General Availability" release. The GA designation is our
  highest quality grade.
</p>
<p>
  Apache Struts 2 is an elegant, extensible framework for creating
  enterprise-ready Java web applications. The framework is designed to
  streamline the full development cycle, from building, to deploying, to
  maintaining applications over time.
</p>
<p>
  This release is a significant upgrade. We have worked hard to improve
  some of the trouble spots from 2.0. In particular, we are releasing a
  new plugin for XML-free configuration called the Conventions Plugin. This
  release also features the new REST and Javatemplates plugins. The
  AJAX functionality has been moved to a plugin to improve maintainability.
  Many bugs have been fixed for this release, see release notes for more
  details.
</p>
<p>
  Struts 2.0 will continue to be supported, but for new projects, we
  suggest moving to Struts 2.1.
</p>
<p>
  Struts 2.1.8.1 is available in a full distribution, or as separate
  library, source, example and documentation distributions, from the
  releases page. The release is also available through the central Maven
  repository under Group ID "org.apache.struts". The release notes are
  available online.
</p>
<p>
  The 2.1.x series of the Apache Struts framework has a minimum
  requirement of the following specification versions: Servlet API 2.4,
  JSP API 2.0, and Java 5.
</p>
<p>
  Should any issues arise with your use of any version of the Struts
  framework, please post your comments to the user list, and, if
  appropriate, file a tracking ticket.
</p>

<p class="pull-right">
  Skip to: <a href="announce-2008.html">Announcements - 2008</a>
</p>

<p class="pull-left">
  <strong>Next:</strong>
  <a href="kickstart.html">Kickstart FAQ</a>
</p>
