<?xml version="1.0"?>
<!DOCTYPE document [
  <!ENTITY project SYSTEM "project.xml">
]>
<document url="20050101.html">
 
  &project;
 
  <properties>
    <author email="general.AT.tomcat.DOT.apache.DOT.org">Apache Jakarta Project</author>
    <title>2005 News and Status</title>
  </properties>

<body>

<section name="2005 News &amp; Status">
<br />
<!--
<a name="2004****.1">
<h3></h3>
</a>
<hr size="1" noshade="noshade" />
-->
<a name="20051108.1"> 
<h3>8 November - JK-1.2.15 released</h3>
</a>
<p>The Apache Tomcat team is proud to announce the immediate availability
of Jakarta Tomcat Connectors 1.2.15. This is Stable release and it contains
few bug fixes found in 1.2.14 version.
</p>
<p>
 Please see the <a href="../miscellaneous/changelog.html">ChangeLog</a> for a full list of changes.
</p>
<p>If you find any bugs while using this release, please fill in the
<a href="http://issues.apache.org/bugzilla/enter_bug.cgi?product=Tomcat%205">Bugzilla</a>
Bug Report. When entering bug select <b>Native:JK</b> Component.
</p>
<hr size="1" noshade="noshade" />

<a name="20050713.1"> 
<h3>13 July - JK-1.2.14 released</h3>
</a>
<p>The Apache Tomcat team is proud to announce the immediate availability
of Jakarta Tomcat Connectors 1.2.14. This is Stable release and it contains
few bug fixes found in 1.2.13 version.
</p>
<p>
 Please see the <a href="../miscellaneous/changelog.html">ChangeLog</a> for a full list of changes.
</p>
<p>If you find any bugs while using this release, please fill in the
<a href="http://issues.apache.org/bugzilla/enter_bug.cgi?product=Tomcat%205">Bugzilla</a>
Bug Report. When entering bug select <b>Native:JK</b> Component.
</p>
<hr size="1" noshade="noshade" />
<a name="20050516.1"> 
<h3>7 May - JK-1.2.13 released</h3>
</a>
<p>The Apache Jakarta Tomcat team is proud to announce the immediate availability
of Jakarta Tomcat Connectors 1.2.13. This is development release and contains
few bug fixes found in 1.2.12 version.
</p>
<p>
 Please see the <a href="../miscellaneous/changelog.html">ChangeLog</a> for a full list of changes.
</p>
<p>If you find any bugs while using this release, please fill in the
<a href="http://issues.apache.org/bugzilla/enter_bug.cgi?product=Tomcat%205">Bugzilla</a>
Bug Report. When entering bug select <b>Native:JK</b> Component.
</p>
<hr size="1" noshade="noshade" />
<a name="20050507.1"> 
<h3>7 May - JK-1.2.12 released</h3>
</a> 
<p>The Apache Jakarta Tomcat team is proud to announce the immediate availability
of Jakarta Tomcat Connectors 1.2.12 The release contains a significant number
of bug fixes and new features. 
</p>
<p>
We expect it to be ratified as a Stable release when the vote takes place
in the next week.
</p>
<p>
 Please see the <a href="../miscellaneous/changelog.html">ChangeLog</a> for a full list of changes.
</p>
<p>If you find any bugs while using this release, please fill in the
<a href="http://issues.apache.org/bugzilla/enter_bug.cgi?product=Tomcat%205">Bugzilla</a>
Bug Report. When entering bug select <b>Native:JK</b> Component.
</p>
<hr size="1" noshade="noshade" />
<a name="20050429.1"> 
<h3>29 April - JK-1.2.11 released</h3>
</a> 
<p>The Apache Jakarta Tomcat team is proud to announce the immediate availability
of Jakarta Tomcat Connectors 1.2.11 The release contains a significant number
of bug fixes and new features. 
</p>
<p>
This version has not been released.
</p>
<p>
 Please see the <a href="../miscellaneous/changelog.html">ChangeLog</a> for a full list of changes.
</p>
<p>If you find any bugs while using this release, please fill in the
<a href="http://issues.apache.org/bugzilla/enter_bug.cgi?product=Tomcat%205">Bugzilla</a>
Bug Report. When entering bug select <b>Native:JK</b> Component.
</p>
<hr size="1" noshade="noshade" />
<a name="20050330.1"> 
<h3>30 March - JK-1.2.10 released</h3>
</a> 
<p>The Apache Jakarta Tomcat team is proud to announce the immediate availability
of Jakarta Tomcat Connectors 1.2.10 The release contains a significant number
of bug fixes and new features. 
</p>
<p>
We expect it to be ratified as a Stable release when the vote takes place
in the next two weeks.
</p>
<p>
 Please see the <a href="../miscellaneous/changelog.html">ChangeLog</a> for a full list of changes.
</p>
<warn>
Since release 1.2.10 the <b>JkShmFile</b> property has been added for
Apache 1.3.x and Apache 2.x web servers on UNIX and LINUX platforms.
Load balancer will not work properly if this directive is not present.
</warn>
<p>If you find any bugs while using this release, please fill in the
<a href="http://issues.apache.org/bugzilla/enter_bug.cgi?product=Tomcat%205">Bugzilla</a>
Bug Report. When entering bug select <b>Native:JK</b> Component.
</p>
<hr size="1" noshade="noshade" />
<a name="20050318.1"> 
<h3>18 March - JK-1.2.9-beta released</h3>
</a> 
<p>The Apache Jakarta Tomcat team is proud to announce the immediate availability
of Jakarta Tomcat Connectors 1.2.9-beta. The release contains a significant number
of bug fixes and new features. 
</p>
<p>
We expect it to be ratified as a Stable release when the vote takes place
in the next two weeks.
</p>
<p>
 Please see the <a href="../miscellaneous/changelog.html">ChangeLog</a> for a full list of changes.
</p>
<warn>
Since release 1.2.9 the <b>JkShmFile</b> property has been added for
Apache 1.3.x and Apache 2.x web servers on UNIX and LINUX platforms.
Load balancer will not work properly if this directive is not present.
</warn>
<p>If you find any bugs during testing this release, please fill in the
<a href="http://issues.apache.org/bugzilla/enter_bug.cgi?product=Tomcat%205">Bugzilla</a>
Bug Report. When entering bug select <b>Native:JK</b> Component.
</p>
<hr size="1" noshade="noshade" />

</section>
</body>
</document>  
