---
layout: default
title: Announcements 2004
---

<h1>Announcements - 2004</h1>

<p class="pull-right">
  Skip to: <a href="announce-2003.html">Announcements - 2003</a>
</p>

<h4 id="a20041212">12 Dec 2004 - Struts 1.2.6 (Beta)</h4>
<p>
  The Struts team is pleased to announce the release of Struts
  1.2.6
  Beta. This release includes minor new functionality, and a
  number of
  fixes for bugs which were reported against previous versions.
</p>
<p>
  The binary, source and library distributions are available
  from the
  <a href="http://struts.apache.org/download.cgi">Struts
    download page</a>
  .
  The
  <a href="http://struts.apache.org/userGuide/release-notes.html">
    Release Notes</a>
  are available on the Struts web site.
</p>
<hr/>

<h4 id="a20040919">19 Sep 2004 - Struts 1.2.4 (General
  Availability)</h4>
<p>
  The Struts team is pleased to announce the release of Struts
  1.2.4 for
  General Availability. This release includes significant new
  functionality, as well as numerous fixes for bugs which were
  reported
  against the previous release, and supersedes the earlier 1.1
  version
  as the latest official release of Struts from The Apache
  Software
  Foundation.
</p>
<p>
  The binary, source and library distributions are available
  from the
  <a href="http://struts.apache.org/download.cgi">Struts
    download page</a>
  .
  The
  <a href="http://struts.apache.org/userGuide/release-notes.html">
    Release Notes</a>
  are available on the Struts web site.
</p>
<hr/>

<h4 id="a20040831">31 Aug 2004 - Struts 1.2.2 (General
  Availability)</h4>
<p>
  The Apache Struts team is proud to announce the release of
  Struts 1.2.2.
  This release includes many new enhancements and features as
  well as numerous
  bug fixes since the last generally available release (1.1).
  This release supersedes the earlier 1.1 version as the latest
  official release
  of The Apache Struts framework.
</p>
<ul>
  <li>
    <a href="http://struts.apache.org/userGuide/release-notes.html">
      http://struts.apache.org/userGuide/release-notes.html</a>
  </li>
</ul>
<p>
  The binary, source, and library distributions are available at
</p>
<ul>
  <li>
    <a href="http://struts.apache.org/download.cgi">
      http://struts.apache.org/download.cgi/</a>
  </li>
</ul>
<p>
  The library distribution contains only the requisite JARs,
  without the documentation or example applications.
</p>
<p>
  We invite your comments on how well this release works with
  your own applications. Based on feedback from the Struts
  community, this release may be dubbed "ready for prime time"
  and promoted to "General Availabilty" quality.
</p>
<p>
  Please note that Struts now uses "Tomcat-style" releases. If
  the feedback on this release were positive, Struts 1.2.1 may
  be promoted directly to "GA", without creating yet-another
  distribution. If a serious problem were found and fixed, then
  we will issue Struts 1.2.2 and try again.
</p>
<hr/>

<h4 id="a20040711">11 Jul 2004 - Struts 1.2.1 (Beta)
  Available</h4>
<p>
  The Struts team announces the release of Struts 1.2.1,
  currently ranked at Beta quality.
</p>
<p>
  This release removes many features deprecated in prior
  releases (Struts 1.1 and Struts 1.0.2) and also provides
  several new features. Fixes to known problems have been
  applied. More detail is available at:
</p>
<ul>
  <li>
    <a href="http://struts.apache.org/userGuide/release-notes.html">
      http://struts.apache.org/userGuide/release-notes.html</a>
  </li>
</ul>
<p>
  The binary, source, and library distributions are available at
</p>
<ul>
  <li>
    <a href="http://cvs.apache.org/dist/struts/v1.2.1/">
      http://cvs.apache.org/dist/struts/v1.2.1/</a>
  </li>
</ul>
<p>
  The library distribution contains only the requisite JARs,
  without the documentation or example applications.
</p>
<p>
  We invite your comments on how well this release works with
  your own applications. Based on feedback from the Struts
  community, this release may be dubbed "ready for prime time"
  and promoted to "General Availabilty" quality.
</p>
<p>
  Please note that Struts now uses "Tomcat-style" releases. If
  the feedback on this release were positive, Struts 1.2.1 may
  be promoted directly to "GA", without creating yet-another
  distribution. If a serious problem were found and fixed, then
  we will issue Struts 1.2.2 and try again.
</p>

<p class="right">
  <strong>Next:</strong>
  <a href="announce-2003.html">Announcements - 2003</a>
</p>

<p class="pull-left">
  <strong>Next:</strong>
  <a href="kickstart.html">Kickstart FAQ</a>
</p>
