blob: 9a98642a50937275011869784f9f8ebc1770cbf9 [file] [log] [blame]
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<?xml-stylesheet type="text/xsl" href="http://www.eclipse.org/projects/project-plan.xsl"?>
<!-- Use this to test local rendering in firefox -->
<!-- <?xml-stylesheet type="text/xsl" href="project-plan-render.xsl"?> -->
<plan plan-format="1.0" xmlns="http://www.eclipse.org/project/plan"
xmlns:html="http://www.w3.org/1999/xhtml" name="Jetty">
<release projectid="rt.jetty" version="7.x.y.z" />
<introduction>
<html:p> Jetty provides server and clients for HTTP and Websocket
plus a javax.servlet container. The Jetty 7 version targets the
2.5 servlet specification and the 1.5 JVM. The Jetty 8 version
targets the 3.0 servlet specification and the 1.6 JVM.</html:p>
<html:p> The plan deals with the important matters of release
deliverables, release milestones, target operating environments,
and release-to-release compatibility. These are all things that
need to be clear for any release, even if no features were to
change.</html:p>
</introduction>
<release_deliverables>
<html:p> We will continue to publish artifacts into the central
maven repository as we have done all along for our other user
bases. Primary download bundles will be determined as well but we
intend to retain our traditional jetty download bundle in addition
to other eclipse oriented packaging. An update site is available
and will be provided for all eclipse releases.</html:p>
</release_deliverables>
<release_milestones>
<preamble>
<html:p> Point release milestones will be occurring in roughly 6-8 week
intervals.</html:p>
<html:p> Minor release milestones will be occurring in roughly 2-3 month
intervals.</html:p>
</preamble>
<milestone date="03/04/2009" milestone="M0">
<html:div>7.0.0.M0 - published</html:div>
</milestone>
<milestone date="21/04/2009" milestone="M1">
<html:div>7.0.0.M1 - published</html:div>
</milestone>
<milestone date="18/05/2009" milestone="M2">
<html:div>7.0.0.M2 - published</html:div>
</milestone>
<milestone date="22/06/2009" milestone="M3">
<html:div>7.0.0.M3 - published</html:div>
</milestone>
<milestone date="01/07/2009" milestone="M4">
<html:div>7.0.0.M4 - published</html:div>
</milestone>
<milestone date="09/07/2009" milestone="RC0">
<html:div>7.0.0.RC0 - published</html:div>
</milestone>
<milestone date="15/07/2009" milestone="RC1">
<html:div>7.0.0.RC1 - published</html:div>
</milestone>
<milestone date="22/07/2009" milestone="RC2">
<html:div>7.0.0.RC2 - published</html:div>
</milestone>
<milestone date="29/07/2009" milestone="RC3">
<html:div>7.0.0.RC3 - published</html:div>
</milestone>
<milestone date="18/08/2009" milestone="RC4">
<html:div>7.0.0.RC4 - published</html:div>
</milestone>
<milestone date="27/08/2009" milestone="RC5">
<html:div>7.0.0.RC5 - published</html:div>
</milestone>
<milestone date="05/10/2009" milestone="7.0.0.v20091005">
<html:div>7.0.0.v20091005 - published</html:div>
</milestone>
<milestone date="25/11/2009" milestone="7.0.1.v20091125">
<html:div>7.0.1.v20091125 - published</html:div>
</milestone>
<milestone date="07/03/2010" milestone="7.0.2.RC0">
<html:div>7.0.2.RC0 - published</html:div>
</milestone>
<milestone date="01/04/2010" milestone="7.0.2.v20100331">
<html:div>7.0.2.v20100331 - published</html:div>
</milestone>
<milestone date="05/05/2010" milestone="7.1.0.v20100505">
<html:div>7.1.0.v20100505 - published</html:div>
</milestone>
<milestone date="17/05/2010" milestone="7.1.1.v20100517">
<html:div>7.1.1.v20100517 - published</html:div>
</milestone>
<milestone date="23/05/2010" milestone="7.1.2.v20100523">
<html:div>7.1.2.v20100523 - published</html:div>
</milestone>
<milestone date="26/05/2010" milestone="7.1.2.v20100526">
<html:div>7.1.3.v20100526 - published</html:div>
</milestone>
<milestone date="10/06/2010" milestone="7.1.4.v20100610">
<html:div>7.1.4.v20100610 - published</html:div>
</milestone>
<milestone date="05/07/2010" milestone="7.1.5.v20100705">
<html:div>7.1.5.v20100705 - published</html:div>
</milestone>
<milestone date="15/07/2010" milestone="7.1.5.v20100715">
<html:div>7.1.6.v20100715 - published</html:div>
</milestone>
<milestone date="20/10/2010" milestone="7.2.0.v20101020">
<html:div>7.2.0.v20101020 - published</html:div>
</milestone>
<milestone date="11/11/2010" milestone="7.2.1.v20101111">
<html:div>7.2.1.v20101111 - published</html:div>
</milestone>
<milestone date="20/11/2010" milestone="7.2.1.v2010XXXX">
<html:div>7.2.1.v2010XXXX</html:div>
</milestone>
<milestone date="05/12/2010" milestone="7.2.2.v20101205">
<html:div>7.2.2.v20101205 - published</html:div>
</milestone>
<milestone date="03/02/2011" milestone="7.3.0.v20110203">
<html:div>7.3.0.v20110203 - published</html:div>
</milestone>
<milestone date="04/03/2011" milestone="7.3.1.v20110304">
<html:div>7.3.1.v20110304 - published</html:div>
</milestone>
<milestone date="14/04/2011" milestone="7.4.0.v20110414">
<html:div>7.4.0.v20110414 - published</html:div>
</milestone>
<milestone date="13/05/2011" milestone="7.4.1.v20110513">
<html:div>7.4.1.v20110513 - published</html:div>
</milestone>
<milestone date="26/05/2011" milestone="7.4.2.v20110526">
<html:div>7.4.2.v20110526 - published</html:div>
</milestone>
<milestone date="01/07/2011" milestone="7.4.3.v20110701">
<html:div>7.4.3.v20110701 - published</html:div>
</milestone>
<milestone date="07/07/2011" milestone="7.4.4.v20110707">
<html:div>7.4.4.v20110707 - published</html:div>
</milestone>
<milestone date="25/07/2011" milestone="7.4.5.v20110725">
<html:div>7.4.5.v20110725 - published</html:div>
</milestone>
<milestone date="01/09/2011" milestone="7.5.0.v20110901">
<html:div>7.5.0.v2010901 - published</html:div>
</milestone>
<milestone date="08/09/2011" milestone="7.5.1.v20110908">
<html:div>7.5.1.v20110908 - published</html:div>
</milestone>
<milestone date="06/10/2011" milestone="7.5.2.v20111006">
<html:div>7.5.2.v20111006 - publish</html:div>
</milestone>
<milestone date="01/12/2011" milestone="7.6.0.v20111201">
<html:div>7.6.0.v20111201 - planned</html:div>
</milestone>
<milestone date="02/28/2010" milestone="8.0.0.M0">
<html:div>8.0.0.M0 - published</html:div>
</milestone>
<milestone date="01/04/2010" milestone="8.0.0.M1">
<html:div>8.0.0.M1 - published</html:div>
</milestone>
<milestone date="22/11/2010" milestone="8.0.0.M2">
<html:div>8.0.0.M2 - published</html:div>
</milestone>
<milestone date="27/05/2010" milestone="8.0.0.M2">
<html:div>8.0.0.M3 - published</html:div>
</milestone>
<milestone date="01/09/2011" milestone="8.0.0.v20110901">
<html:div>8.0.0.v20110901 - published</html:div>
</milestone>
<milestone date="08/09/2011" milestone="8.0.1.v20110908">
<html:div>8.0.1.v20110908 - published</html:div>
</milestone>
<milestone date="06/10/2011" milestone="8.0.2.v20111006">
<html:div>8.0.2.v20111006 - published</html:div>
</milestone>
<milestone date="01/12/2011" milestone="8.1.0.v20111201">
<html:div>8.1.0.v20111201 - planned</html:div>
</milestone>
<postamble>
<html:div>
<html:p>
Individual, milestone level plans for the components that make
up the Eclipse Project can be found on the
<html:a href="http://wiki.eclipse.org/Jetty/ProjectPlan">Jetty Project Plan page</html:a>
on the Eclipse wiki.
</html:p>
<html:p> Our target is to maintain and innovate with 7.x.y.z
releases based on the servlet api version 2.5. We also intend
to release a version 8.x.y.z of jetty based on the servlet api
version 3.0 once that is available and maintain parallel
development on these two codebases, exactly how jetty
development has proceeded historically.</html:p>
</html:div>
</postamble>
</release_milestones>
<target_environments>
<html:p> Jetty closely follows the requirements of the servlet-api
version that it implements and works with. As such JDK/JRE
versions and other dependency versions are dictated to us by the
spec in question.</html:p>
<html:p> Starting with the Jetty 7.1.x releases we will have JSP
support once more only using eclipse IP approved dependencies.
Starting with the Jetty 7.2.x releases, we include support for the latest WebSockets
specification.</html:p>
<html:p>
The Jetty project will support:
<html:ul>
<html:li>Jetty 7/(Servlet Api 2.5) - JDK/JRE 1.5.x and up
</html:li>
<html:li>Jetty 8/(Servlet Api 3.0) - JDK/JRE 1.6.x and up
</html:li>
</html:ul>
</html:p>
<internationalization>
<html:p> Jetty does not currently ship with internationalized
exceptions or documentation.</html:p>
</internationalization>
</target_environments>
<compatibility_with_previous_releases>
<html:p>Within eclipse releases of Jetty from version 7.x onwards we
will maintain backward compatibility</html:p>
<html:p>Packaging changes (org.mortbay.jetty -> org.eclipse.jetty)
have broken the seamless transition from previous versions of
jetty.</html:p>
</compatibility_with_previous_releases>
<themes_and_priorities>
<preamble>
<html:p> The project several stated major areas of work that will
be the priorities for this and future development cycle.
</html:p>
</preamble>
<theme name="Eclipse Migration">
<description>
<html:p> Continue to move appropriate modules (eg JSP,
jetty-maven-plugin) to the eclipse project as the required
dependencies are CQ'd and become available.</html:p>
</description>
</theme>
<theme name="OSGi Integration">
<description>
<html:p> Continue to improve the integration of jetty with OSGi
frameworks and tooling including: continuing work on eclispe
IDE integration; supporting efforts of the Gemini and Virgo
projects; improving the bundling and feature breakdown of
jetty; support and maintenance of the OSGi HttpService and
RFC66 webapplication deployment.</html:p>
</description>
</theme>
<theme name="Component Oriented Design">
<description>
<html:p> At its core, Jetty is a simply a set of components that
fufill the role of a web server and adding on additional
functionalities are a matter of adding additional components
to the system. JMX, JNDI, Servlets, an asynchronous http
client, are all components that can be added to an application
with a minimal amount of effort. This is a overridding goal
and design philosophy behind Jetty. We strive to make it as
easy to deploy your application by copying a war file as it is
to embed jetty directly into your application and in many
cases you can add webserver functionality to your application
in less then 5 or 6 lines of code.</html:p>
</description>
</theme>
<theme name="Light-weight Web Server and Servlet Engine">
<description>
<html:p> The internals of jetty are designed around efficient
use of the available resources and jetty works extremely well
in many different environments. Since jetty 6 the internals
have made extensive use of NIO and the scaling benefits that
such technology provides. With the Continuations concept in
place, jetty is able to allow modern 2.5 servlets to scale to
previously unattainable hieghts as it provides a mechanism by
which the servlet connection can be suspended out of the stack
and reused for other incoming connections. This technique is
what has allowed jetty to scale to 20k simulatious connections
for a servlet application.</html:p>
</description>
</theme>
<theme name="Embedded Use">
<description>
<html:p> Jetty runs on a variety of platforms including Android
and other cell phone platforms. This has been effort for the
jetty team for many years and jetty has run on a large variety
of devices as a result. Phones, switches and other network
applicances can be found with jetty running on them.</html:p>
<html:p> This is not to say that jetty can only be embedded on
devices, it is also key for being deployed inside of various
applications and containers. Jetty maintains an integration
with jboss and is increasingly working with OSGI for servicing
the HTTPService community at large. This is in fact a large
reason that jetty decided to work with the eclipse community
at a greater level to facilitate this sort of usage scenario.
</html:p>
</description>
</theme>
<theme name="Tooling and IDE Integration">
<description>
<html:p> Jetty also intends to support and work with other
maintainers of IDE integrations as well as increase the native
support of servlet and application development with jetty
plugins and tooling options.</html:p>
</description>
</theme>
<theme name="Emerging protocol support">
<description>
<html:p> Protocols such as Websocket, SPDY and BWTP have been
proposed as ways to improve bidirectional web applications
(aka comet). The Jetty project will implement, evaluate,
improve and assist the standardization of these emerging
protocols.</html:p>
</description>
</theme>
<theme name="Eclipse 4.1">
<description>
<html:p> We will contribute to Indigo</html:p>
</description>
</theme>
<theme name="Eclipse 4.2">
<description>
<html:p> We will contribute to Juno</html:p>
</description>
</theme>
</themes_and_priorities>
</plan>