---
layout: default
title: Announcements 2003
---

<h1>Announcements - 2003</h1>

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

<h4 id="a20030630">30 Jun 2003 - Struts 1.1 Final released</h4>
<p>
  The Struts team is proud, and extremely pleased, to announce
  the Final
  release of Struts 1.1. 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.0.2
  version
  as the latest official release of Struts from the Apache
  Software
  Foundation.
</p>
<p>The binary distribution is available at:
  <a href=
         "http://www.apache.org/dist/jakarta/struts/binaries/">
    http://www.apache.org/dist/jakarta/struts/binaries/</a>
</p>
<p>and the source distribution is available at:
  <a href=
         "http://www.apache.org/dist/jakarta/struts/source/">
    http://www.apache.org/dist/jakarta/struts/source/</a>
</p>
<p>In addition, the library distribution, which contains updated
  binaries
  without the sample applications, is available at:</p>
<p>
  <a href="http://www.apache.org/dist/jakarta/struts/library/">
    http://www.apache.org/dist/jakarta/struts/library/</a>
</p>
<p>Details of the changes in this release are available in the
  Release
  Notes,which can be found here:</p>
<p>
  <a href=
         "http://jakarta.apache.org/struts/userGuide/release-notes-1.1.html">
    http://jakarta.apache.org/struts/userGuide/release-notes-1.1.html</a>
</p>
<hr/>

<h4 id="a20030223">23 Feb 2003 - Struts 1.1 Release Candidate 1
  Released</h4>
<p>
  The Struts team is proud to announce the release of Struts 1.1
  Release
  Candidate 1. This release includes some new functionality, as
  well as
  fixes for a number of bugs which were reported against earlier
  versions.
  The Struts Team believes that this release is ready for prime
  time, hence
  its designation as a release candidate.
</p>
<p>
  The binary distribution is available at:
</p>
<p>
  <a href="http://www.apache.org/dist/jakarta/struts/binaries/">
    http://www.apache.org/dist/jakarta/struts/binaries/</a>
</p>
<p>
  and the source distribution is available at:
</p>
<p>
  <a href="http://www.apache.org/dist/jakarta/struts/source/">
    http://www.apache.org/dist/jakarta/struts/source/</a>
</p>
<p>
  In addition, the library distribution, which contains updated
  binaries
  without the sample applications, is available at:
</p>
<p>
  <a href="http://www.apache.org/dist/jakarta/struts/library/">
    http://www.apache.org/dist/jakarta/struts/library/</a>
</p>
<p>
  Details of the changes in this release are available in the
  Release
  Notes, which can be found here:
</p>
<p>
  <a href="http://jakarta.apache.org/struts/userGuide/release-notes-1.1-rc1.html">
    http://jakarta.apache.org/struts/userGuide/release-notes-1.1-rc1.html</a>
</p>

<p class="pull-right">
  <strong>Next:</strong>
  <a href="announce-2002.html">Announcements 2002 and prior</a>
</p>

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