Jetty v11.0.0.beta2 Release Notes

Release Date: 2020-10-02 // over 3 years ago
  • Important Changes

    • ๐ŸŒฒ #4572 : Replace jetty logging facade with slf4j-api usage
    • ๐Ÿšš #5317 : Remove jetty-all
    • ๐Ÿšš #5174 : Remove jetty-distribution in favor of jetty-home
    • #5264 : Create new demo jetty-start module (to replace the old demo-base functionality)

    ๐Ÿ›  Issues Fixed

    • #1337 : MultiPart Part.write(String fileName) - Write method used unexpected path
    • ๐Ÿ”ง #1761 : Make GzipHandler module more configurable
    • #2609 : Make finding orphaned expired sessions common across SessionDataStores
    • #2796 : HTTP/2 max local stream count exceeded when request fails
    • #3766 : Introduce HTTP/2 API to batch frames
    • #3916 : multipart/byterange output is invalid to RFC7233
    • #4430 : Duplicate generation of servlets/filters/listeners from context xml with quickstart
    • โšก๏ธ #4736 : Update Import-Package version start ranges
    • #4808 : Review HttpClient Request header APIs
    • #4809 : Set a max number of requests per connection
    • #4824 : WebSocket server outgoing message queue memory growth
    • #4888 : Request getSession() method throws IllegalStateException when Session exists
    • #4919 : websocket container stop ordering
    • #4954 : Simplify ability to get Byte Counts about requests
    • #4985 : Fix NPE related to use of Attributes.Wrapper getAttributeNameSet()
    • #4988 : The check for whether a mime type is gzipable modifies (lower-cases) the content type
    • โš  #4996 : Warning log printed when debug is enabled in AbstractLifecycle.java
    • ๐ŸŒ #5013 : Bundle-ClassPath and lib place on WEB-INF/lib make classpath duplicate
    • โฌ†๏ธ #5018 : WebSocketClient connect / upgrade timeout not configurable
    • #5019 : Automatically hot-reload SSL certificates if keystore file changed
    • #5020 : LifeCycle.Listener not called for Filter/Servlet/Listener lifecycle events
    • #5025 : dispatcher.include() with welcome files lead to stack overflow error
    • #5029 : Open redirect when sending custom Host header to URL with no trailing forward-slash
    • #5032 : Introduce Listeners to aid in tracking timings within ServletContext and WebApp
    • #5043 : WebSocketListener anonymous classes should be invocable
    • โฌ†๏ธ #5044 : Jetty WebSocket UpgradeRequest & UpgradeResponse types in Jetty 10
    • #5053 : CWE-331 in DigestAuthentication class
    • #5057 : javax.servlet.include.context_path attribute on root context. should be empty string, but is "/"
    • #5064 : NotSerializableException for OpenIdConfiguration
    • #5079 : :authority header for IPv6 address not having square brackets
    • ๐Ÿ”€ #5083 : Convert synchronized usages to AutoLock
    • โฌ†๏ธ #5096 : using JettyWebSocketServlet without having a WebSocketUpgradeFilter
    • #5103 : Proxy sets protocol version to 2.0 instead of 1.1 when accessed from H2 client
    • #5104 : AbstractProxyServlet include incorrect protocol version in Via header when accessed over H2
    • #5105 : Graceful shutdown does not wait for resumed requests
    • #5108 : Improve SessionTracker scalability
    • #5122 : Retrieving websocket connections via jmx
    • #5129 : No jars added when using a folder in extraClasspath of the webapp context xml file
    • #5133 : Improve ResourceFactory and Resource list handling
    • #5147 : Set MaxUsageCount with existing connection pool changing the behavior
    • โฑ #5150 : Zero connection timeout is not supported in HTTP client with non-blocking connect
    • #5152 : HttpClient should handle unsolicited responses
    • #5162 : DecoratingListener raises a NullPointerException
    • #5165 : Wrong messagesIn count for HttpClient
    • โฌ†๏ธ #5170 : NullPointerException in HttpReceiverOverHTTP during WebSocket client Upgrade
    • ๐Ÿ”ง #5171 : GzipHandler Vary head should be configurable
    • โšก๏ธ #5178 : Update to asm 8.0.1
    • #5185 : Introduce DoSFilter Listener for Alert messages
    • #5193 : WebSocket unimplemented BINARY message handling can result in TEXT message delivery to fail
    • โšก๏ธ #5198 : Update GzipHandler
    • #5201 : QueuedThreadPool setDetailedDump gives less detail
    • #5204 : SNI does not work with PKIX
    • ๐Ÿ‘ #5214 : Servlet HEAD doesn't support content-length over Integer.MAX_VALUE
    • #5217 : Review RoundRobinConnectionPool
    • #5224 : HttpServletRequest.getServerName can include port when using ForwardedRequestCustomizer
    • ๐Ÿ‘ #5233 : Bad/Unsupported HTTP version should return 505 not 400
    • #5246 : GzipHandler's DeflaterPool should be dumpable
    • #5247 : Improve ForwardRequestCustomizer authority priority
    • #5254 : Short list of Jetty modules
    • #5256 : Cleanup Jetty 10 Start
    • โš  #5263 : Introduce jetty-home contamination warning
    • #5268 : WARN Ignoring eviction setting: 0
    • ๐Ÿšš #5280 : Remove unused methods on SessionHandler
    • ๐Ÿ‘ #5285 : Per RFC7694, if a Content-Encoding isn't recognized, reject with 415 Unsupported Media Type
    • #5304 : HTTP/2 with HttpServletRequest.getHeader("Host") returns null on Jetty 10, but a valid value on Jetty 9
    • #5316 : Review element in Jetty XML
    • ๐Ÿ‘ #5324 : Jetty XML should support nested elements
    • โœ… #5327 : NPE from jetty test webapp
    • โšก๏ธ #5357 : Update http://eclipse.org to https://eclipse.org in source
    • #5360 : demo-spec module incorrectly depends on demo-jndi
    • 0๏ธโƒฃ #5362 : Default ProxyServlet cannot proxy to https urls
    • #5365 : org.eclipse.jetty.server.Request throws NullPointerException if SessionHandler newHttpSession returns null