[jetty-dev] Just Released: Jetty 9.0.0.RC0

Joakim Erdfelt <[email protected]> Mon, 4 Feb 2013 16:55:01 -0700
Newsgroups gmane.comp.java.jetty.general
Message-ID <CAG4zZZDm3uQF1J=m5XgYNaOpuhVeAMYkbKUaPLExbOaYRiJ=RQ__46817.6309172579$1360022286$gmane$org@mail.gmail.com>
--047d7b603c023d491e04d4eed275
Content-Type: text/plain; charset=ISO-8859-1

The Eclipse Jetty Project team is proud to announce the first Release
Candidate for the new Jetty 9

        Jetty 9.0.0.RC0

The Java Web Server with support for SPDY and WebSocket.

Distributions Available at http://download.eclipse.org/jetty/

Java Artifacts Available on Maven Central:
http://search.maven.org/#search%7Cga%7C1%7Cg%3A%22org.eclipse.jetty%22%20AND%20v%3A%229.0.0.RC0%22

<groupId>org.eclipse.jetty</groupId>
<version>9.0.0.RC0</version>

Jetty 9.x Features:
 + Java 1.7 Compatible
 + Completely overhauled I/O layer
 + Servlet API 3.0
 + JSP 2.1
 + SPDY/3
 + New WebSocket API (RFC-6455)

Of special note for early adopters of Jetty 9.x:

 + The XML DTD has a XML id reference bug that forced us to create a new
DTD to handle id references better.
    old way:
<!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" "*
http://www.eclipse.org/jetty/configure.dtd*">
<Configure id="Server" class="org.eclipse.jetty.server.Server">
  <Call name="addConnector">
    <Arg>
      <New class="org.eclipse.jetty.server.ServerConnector">
        <Arg>*<Ref id="Server" />*</Arg>
    new way:
<!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" "*
http://www.eclipse.org/jetty/configure_9.0.dtd*">
<Configure id="Server" class="org.eclipse.jetty.server.Server">
  <Call name="addConnector">
    <Arg>
      <New class="org.eclipse.jetty.server.ServerConnector">
        <Arg>*<Ref refid="Server" />*</Arg>

 + The Jetty WebSocket API has been reworked to better support future
Extensions and to better align it with the upcoming JSR-356 (Java WebSocket
API)
    Be aware that the old techniques that used a WebSocketConnection have
been changed to a new Session object.
    See Javadoc:
http://download.eclipse.org/jetty/stable-9/apidocs/org/eclipse/jetty/websocket/api/Session.html

    *Old Way*:
      Listener Approach

http://git.eclipse.org/c/jetty/org.eclipse.jetty.project.git/tree/jetty-websocket/websocket-common/src/test/java/examples/echo/ListenerEchoSocket.java?id=e1c516c7d1937b8604864dfe57236877ef5be4ea
      Annotation Approach

http://git.eclipse.org/c/jetty/org.eclipse.jetty.project.git/tree/jetty-websocket/websocket-common/src/test/java/examples/echo/AnnotatedEchoSocket.java?id=e1c516c7d1937b8604864dfe57236877ef5be4ea

    *New Way*:
      Listener Approach

http://git.eclipse.org/c/jetty/org.eclipse.jetty.project.git/tree/jetty-websocket/websocket-common/src/test/java/examples/echo/ListenerEchoSocket.java
      Annotation Approach

http://git.eclipse.org/c/jetty/org.eclipse.jetty.project.git/tree/jetty-websocket/websocket-common/src/test/java/examples/echo/AnnotatedEchoSocket.java

Please File Bugs at
https://bugs.eclipse.org/bugs/enter_bug.cgi?product=Jetty&format=guided

Changelog for Jetty 9.0.0.RC0

jetty-9.0.0.RC0 - 01 February 2013
 + 362226 HttpConnection "wait" call causes thread resource exhaustion
 + 370384 jetty-aggregate not used in jetty-distribution
 + 381351 defaults for keymanager and trustmanager come from their factories
   and not hardcoded
 + 381521 Only set Vary header when content could be compressed
 + 381689 Allow jetty-runner to specify listen host along with listen port
 + 382237 support non java JSON classes
 + 385306 added getURI method
 + 391248 fixing localhost checking in statistics servlet
 + 391249 fix for invalid XML node dispatchedTimeMean in statistics servlet
 + 391345 fix missing br tag in statistics servlet
 + 393933 remove deprecated classes/methods and consolidate some static methods
   to SslContextFactory
 + 393968 fix typo in javadoc
 + 394541 remove continuation jar from distro, add as dep to test-jetty-webapp
 + 395232 UpgradeRequest object passed to createWebSocket() has null Session
 + 395444 Disabling Websocket Compress Extensions (not working with Chrome /
   deflate problem)
 + 396428 Test for WebSocket masking on client fragments per RFC 6455 Sec 5.1
 + 396574 add JETTY_HOME as a location for pid to be found
 + 396606 make spdy proxy capable of receiving SPDY and talk HTTP to the
   upstream server
 + 397168 backed of test timing
 + 397769 TimerScheduler does not relinquish cancelled tasks.
 + 398872 SslConnection should not be notified of idle timeouts. First
   solution. Merge branch 'ssl_idle_timeout_ignored'.
 + 399132 check parent dir of session store against file to be removed
 + 399173 UpgradeRequest.getParameterMap() should never return null
 + 399242 Reduce/eliminate false sharing in BlockingArrayQueue.
 + 399319 Request.getURI() may return negative ports.
 + 399324 HttpClient does not handle correctly UnresolvedAddressException.
 + 399343 OnWebSocketConnect should use api.Session parameter instead.
 + 399344 Add missing @OnWebSocketError annotation
 + 399397 websocket-client needs better upgrade failure checks
 + 399421 Add websocket.api.Session.disconnect() for harsh low level connection
   disconnect
 + 399515 Websocket-client connect issues should report to websocket onError
   handlers
 + 399516 Websocket UpgradeException should contain HTTP Request/Response
   information
 + 399566 Running org.eclipse.jetty.server.session.MaxInactiveMigrationTest
   produces stack trace
 + 399568 OSGi tests can't find websocket classes
 + 399576 Server dumpStdErr throws exception if server is stopping
 + 399669 Remove WebSocketConnection in favor of websocket.api.Session
 + 399689 Websocket RFC6455 extension handshake fails if server doesn't have
   extension
 + 399703 made encoding error handling consistent
 + 399721 Change <Ref id= ...> to <Ref refid= ...>


--
Joakim Erdfelt <[email protected]>
webtide.com <http://www.webtide.com/>
Developer advice, services and support
from the Jetty & CometD experts
eclipse.org/jetty - cometd.org

--047d7b603c023d491e04d4eed275
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

<div><div>The Eclipse Jetty Project team is proud to announce the first Rel=
ease Candidate for the new Jetty 9</div><div><br>=A0 =A0 =A0 =A0 Jetty 9.0.=
0.RC0</div><div><br></div><div>The Java Web Server with support for SPDY an=
d WebSocket.</div>

<div><br></div><div>Distributions Available at=A0<a href=3D"http://download=
.eclipse.org/jetty/" style=3D"color:rgb(17,85,204);font-size:13px;font-fami=
ly:arial,sans-serif" target=3D"_blank">http://download.eclipse.org/jetty/</=
a></div>

<div><br></div><div>Java Artifacts Available on Maven Central:</div><div><a=
 href=3D"http://search.maven.org/#search%7Cga%7C1%7Cg%3A%22org.eclipse.jett=
y%22%20AND%20v%3A%229.0.0.RC0%22" target=3D"_blank">http://search.maven.org=
/#search%7Cga%7C1%7Cg%3A%22org.eclipse.jetty%22%20AND%20v%3A%229.0.0.RC0%22=
</a></div>

<div><br></div><div>&lt;groupId&gt;org.eclipse.jetty&lt;/groupId&gt;</div><=
div>&lt;version&gt;9.0.0.RC0&lt;/version&gt;</div><div><br></div><div>Jetty=
 9.x Features:</div><div>=A0+ Java 1.7 Compatible</div><div>=A0+ Completely=
 overhauled I/O layer</div>

<div>=A0+ Servlet API 3.0</div><div>=A0+ JSP 2.1</div><div>=A0+ SPDY/3</div=
><div>=A0+ New WebSocket API (RFC-6455)</div><div><br></div><div>Of special=
 note for early adopters of Jetty 9.x:</div><div><br></div><div><div>=A0+ T=
he XML DTD has a XML id reference bug that forced us to create a new DTD to=
 handle id references better.</div>

<div>=A0 =A0 old way:</div><div><font face=3D"courier new, monospace">&lt;!=
DOCTYPE Configure PUBLIC &quot;-//Jetty//Configure//EN&quot; &quot;<b><a hr=
ef=3D"http://www.eclipse.org/jetty/configure.dtd" target=3D"_blank">http://=
www.eclipse.org/jetty/configure.dtd</a></b>&quot;&gt;</font></div>

<div><font face=3D"courier new, monospace">&lt;Configure id=3D&quot;Server&=
quot; class=3D&quot;org.eclipse.jetty.server.Server&quot;&gt;</font></div><=
div><font face=3D"courier new, monospace">=A0 &lt;Call name=3D&quot;addConn=
ector&quot;&gt;</font></div>

<div><font face=3D"courier new, monospace">=A0 =A0 &lt;Arg&gt;</font></div>=
<div><font face=3D"courier new, monospace">=A0 =A0 =A0 &lt;New class=3D&quo=
t;org.eclipse.jetty.server.ServerConnector&quot;&gt;</font></div><div><font=
 face=3D"courier new, monospace">=A0 =A0 =A0 =A0 &lt;Arg&gt;<b>&lt;Ref id=
=3D&quot;Server&quot; /&gt;</b>&lt;/Arg&gt;</font></div>

<div>=A0 =A0 new way:</div><div><div><font face=3D"courier new, monospace">=
&lt;!DOCTYPE Configure PUBLIC &quot;-//Jetty//Configure//EN&quot; &quot;<b>=
<a href=3D"http://www.eclipse.org/jetty/configure_9.0.dtd" target=3D"_blank=
">http://www.eclipse.org/jetty/configure_9.0.dtd</a></b>&quot;&gt;</font></=
div>

<div><font face=3D"courier new, monospace">&lt;Configure id=3D&quot;Server&=
quot; class=3D&quot;org.eclipse.jetty.server.Server&quot;&gt;</font></div><=
div><font face=3D"courier new, monospace">=A0 &lt;Call name=3D&quot;addConn=
ector&quot;&gt;</font></div>

<div><font face=3D"courier new, monospace">=A0 =A0 &lt;Arg&gt;</font></div>=
<div><font face=3D"courier new, monospace">=A0 =A0 =A0 &lt;New class=3D&quo=
t;org.eclipse.jetty.server.ServerConnector&quot;&gt;</font></div><div><font=
 face=3D"courier new, monospace">=A0 =A0 =A0 =A0 &lt;Arg&gt;<b>&lt;Ref refi=
d=3D&quot;Server&quot; /&gt;</b>&lt;/Arg&gt;</font></div>

</div><div><font face=3D"courier new, monospace"><br></font></div></div><di=
v>=A0+ The Jetty WebSocket API has been reworked to better support future E=
xtensions and to better align it with the upcoming JSR-356 (Java WebSocket =
API)</div>

<div>=A0 =A0 Be aware that the old techniques that used a WebSocketConnecti=
on have been changed to a new Session object.</div><div>=A0 =A0 See Javadoc=
:=A0<a href=3D"http://download.eclipse.org/jetty/stable-9/apidocs/org/eclip=
se/jetty/websocket/api/Session.html" target=3D"_blank">http://download.ecli=
pse.org/jetty/stable-9/apidocs/org/eclipse/jetty/websocket/api/Session.html=
</a></div>

<div><br></div><div>=A0 =A0 <u>Old Way</u>:</div><div>=A0 =A0 =A0 Listener =
Approach</div><div>=A0 =A0 =A0=A0<a href=3D"http://git.eclipse.org/c/jetty/=
org.eclipse.jetty.project.git/tree/jetty-websocket/websocket-common/src/tes=
t/java/examples/echo/ListenerEchoSocket.java?id=3De1c516c7d1937b8604864dfe5=
7236877ef5be4ea" target=3D"_blank">http://git.eclipse.org/c/jetty/org.eclip=
se.jetty.project.git/tree/jetty-websocket/websocket-common/src/test/java/ex=
amples/echo/ListenerEchoSocket.java?id=3De1c516c7d1937b8604864dfe57236877ef=
5be4ea</a></div>

<div>=A0 =A0 =A0 Annotation Approach</div><div>=A0 =A0 =A0=A0<a href=3D"htt=
p://git.eclipse.org/c/jetty/org.eclipse.jetty.project.git/tree/jetty-websoc=
ket/websocket-common/src/test/java/examples/echo/AnnotatedEchoSocket.java?i=
d=3De1c516c7d1937b8604864dfe57236877ef5be4ea" target=3D"_blank">http://git.=
eclipse.org/c/jetty/org.eclipse.jetty.project.git/tree/jetty-websocket/webs=
ocket-common/src/test/java/examples/echo/AnnotatedEchoSocket.java?id=3De1c5=
16c7d1937b8604864dfe57236877ef5be4ea</a></div>

<div><br></div><div>=A0 =A0 <u>New Way</u>:</div><div>=A0 =A0 =A0 Listener =
Approach</div><div>=A0 =A0 =A0=A0<a href=3D"http://git.eclipse.org/c/jetty/=
org.eclipse.jetty.project.git/tree/jetty-websocket/websocket-common/src/tes=
t/java/examples/echo/ListenerEchoSocket.java" target=3D"_blank">http://git.=
eclipse.org/c/jetty/org.eclipse.jetty.project.git/tree/jetty-websocket/webs=
ocket-common/src/test/java/examples/echo/ListenerEchoSocket.java</a></div>

<div>=A0 =A0 =A0 Annotation Approach</div><div>=A0 =A0 =A0=A0<a href=3D"htt=
p://git.eclipse.org/c/jetty/org.eclipse.jetty.project.git/tree/jetty-websoc=
ket/websocket-common/src/test/java/examples/echo/AnnotatedEchoSocket.java" =
target=3D"_blank">http://git.eclipse.org/c/jetty/org.eclipse.jetty.project.=
git/tree/jetty-websocket/websocket-common/src/test/java/examples/echo/Annot=
atedEchoSocket.java</a></div>

<div><br></div><div>Please File Bugs at=A0<a href=3D"https://bugs.eclipse.o=
rg/bugs/enter_bug.cgi?product=3DJetty&amp;format=3Dguided" target=3D"_blank=
">https://bugs.eclipse.org/bugs/enter_bug.cgi?product=3DJetty&amp;format=3D=
guided</a></div>
<div><br></div>
<div>Changelog for Jetty 9.0.0.RC0</div></div><div><br></div><div><pre styl=
e=3D"color:rgb(34,34,34);white-space:pre-wrap;word-wrap:break-word">jetty-9=
.0.0.RC0 - 01 February 2013
 + 362226 HttpConnection &quot;wait&quot; call causes thread resource exhau=
stion
 + 370384 jetty-aggregate not used in jetty-distribution
 + 381351 defaults for keymanager and trustmanager come from their factorie=
s
   and not hardcoded
 + 381521 Only set Vary header when content could be compressed
 + 381689 Allow jetty-runner to specify listen host along with listen port
 + 382237 support non java JSON classes
 + 385306 added getURI method
 + 391248 fixing localhost checking in statistics servlet
 + 391249 fix for invalid XML node dispatchedTimeMean in statistics servlet
 + 391345 fix missing br tag in statistics servlet
 + 393933 remove deprecated classes/methods and consolidate some static met=
hods
   to SslContextFactory
 + 393968 fix typo in javadoc
 + 394541 remove continuation jar from distro, add as dep to test-jetty-web=
app
 + 395232 UpgradeRequest object passed to createWebSocket() has null Sessio=
n
 + 395444 Disabling Websocket Compress Extensions (not working with Chrome =
/
   deflate problem)
 + 396428 Test for WebSocket masking on client fragments per RFC 6455 Sec 5=
.1
 + 396574 add JETTY_HOME as a location for pid to be found
 + 396606 make spdy proxy capable of receiving SPDY and talk HTTP to the
   upstream server
 + 397168 backed of test timing
 + 397769 TimerScheduler does not relinquish cancelled tasks.
 + 398872 SslConnection should not be notified of idle timeouts. First
   solution. Merge branch &#39;ssl_idle_timeout_ignored&#39;.
 + 399132 check parent dir of session store against file to be removed
 + 399173 UpgradeRequest.getParameterMap() should never return null
 + 399242 Reduce/eliminate false sharing in BlockingArrayQueue.
 + 399319 Request.getURI() may return negative ports.
 + 399324 HttpClient does not handle correctly UnresolvedAddressException.
 + 399343 OnWebSocketConnect should use api.Session parameter instead.
 + 399344 Add missing @OnWebSocketError annotation
 + 399397 websocket-client needs better upgrade failure checks
 + 399421 Add websocket.api.Session.disconnect() for harsh low level connec=
tion
   disconnect
 + 399515 Websocket-client connect issues should report to websocket onErro=
r
   handlers
 + 399516 Websocket UpgradeException should contain HTTP Request/Response
   information
 + 399566 Running org.eclipse.jetty.server.session.MaxInactiveMigrationTest
   produces stack trace
 + 399568 OSGi tests can&#39;t find websocket classes
 + 399576 Server dumpStdErr throws exception if server is stopping
 + 399669 Remove WebSocketConnection in favor of websocket.api.Session
 + 399689 Websocket RFC6455 extension handshake fails if server doesn&#39;t=
 have
   extension
 + 399703 made encoding error handling consistent
 + 399721 Change &lt;Ref id=3D ...&gt; to &lt;Ref refid=3D ...&gt;</pre></d=
iv><br clear=3D"all"><div><div>--</div><div>Joakim Erdfelt &lt;<a href=3D"m=
ailto:[email protected]" target=3D"_blank">[email protected]</a>&gt;</div=
><div>

<a href=3D"http://www.webtide.com/" target=3D"_blank">webtide.com</a></div>=
<div><span>Developer advice, services and support</span><br><span>from the =
Jetty &amp; CometD experts</span></div><div><a href=3D"http://eclipse.org/j=
etty/" target=3D"_blank">eclipse.org/jetty</a>=A0-=A0<a href=3D"http://come=
td.org/" target=3D"_blank">cometd.org</a></div>

</div>

--047d7b603c023d491e04d4eed275--