Jetty v11.0.0 Release Notes

Release Date: 2020-12-07 // 11 months ago
  • Eclipse Jetty 11.x Highlights

    • Jetty 11.x has a minimum Java requirement of Java 11.
    • Jetty 11.x modules are proper JPMS modules with module-info.class.
    • ๐Ÿ‘ Jetty 11.x supports the following technology specs (from the Jakarta EE 9 effort):
      • jakarta.servlet - 5.0.0
      • jakarta.servlet.jsp - 3.0.0
      • jakarta.servlet.jsp.jstl - 2.0.0
      • jakarta.el - 4.0.0
      • jakarta.websocket - 2.0.0
    • ๐Ÿ‘ Jetty 11.x is the first major version of Jetty to support the jakarta.servlet namespace.
      ๐Ÿ‘‰ Use Jetty 10.x for the older (now outdated) javax.servlet namespace.

    Important Changes

    • ๐ŸŒฒ Classic jetty logging facade has been replaced with slf4j-api usage
    • There is no longer a jetty-distribution, use jetty-home with a proper ${jetty.base} instead.
      ๐Ÿ“š See: Operations Guide: Architecture
      • New demo jetty-start module exists to replace the old demo-base functionality.
    • โœ‚ Remove jetty-all uber artifact
    • ๐Ÿ”ง Managing Configuration within a WebAppContext has a new API.
      (They are now self ordering and do not require knowledge of Jetty internals to use successfully)
    • โ™ป๏ธ Complete WebSocket refactoring, those using the Jetty APIs or embedded-jetty will need to update their code.
      • Support for WebSocket over HTTP/2 (client and server)
    • Jetty HttpClient has been improved.
      • Supports dynamic protocol upgrade (http/2 and http/1.1).
    • โ™ป๏ธ Session management has been refactored as well.

    ๐Ÿ”„ Changelog

    • โฌ†๏ธ #5715 - Fix problems caused by upgrade to jstl version.
    • #5701 - Bump jakarta.servlet.jsp-api from 3.0.0-M1 to 3.0.0
    • #5700 - Bump jakarta.servlet.jsp.jstl-api from 2.0.0-RC1 to 2.0.0
    • ๐Ÿ”Œ #5626 - Bump maven-resources-plugin from 3.1.0 to 3.2.0
    • ๐Ÿ”Œ #5608 - Bump maven-project-info-reports-plugin from 3.0.0 to 3.1.1
    • #5585 - Bump jakarta.annotation-api from 2.0.0-RC1 to 2.0.0
    • ๐Ÿ”Œ #5550 - Bump maven-source-plugin from 3.0.1 to 3.2.1
    • #5549 - Bump hazelcast.version from 4.0.1 to 4.0.3
    • #5548 - Bump geronimo-interceptor_1.2_spec from 1.1 to 1.2
    • #5506 - Bump weld-servlet-core from 4.0.0.Beta1 to 4.0.0.Beta5
    • ๐Ÿ”Œ #5473 - Bump appassembler-maven-plugin from 2.0.0 to 2.1.0
    • #5472 - Bump jna from 5.5.0 to 5.6.0
    • #5470 - Bump mail-api.version from 2.0.0-RC4 to 2.0.0-RC6
    • #5423 - Bump jakarta.servlet-api from 5.0.0-M1 to 5.0.0
    • ๐Ÿ”Œ #5380 - Bump maven-war-plugin from 3.2.3 to 3.3.1
    • #4568 - Use jakarta.* namespace for new Jakarta EE 9 "Big Bang" artifacts

Previous changes from v11.0.0.beta3

  • ๐Ÿ”„ Changes

    • #5022 : Cleanup ServletHandler, specifically with respect to making filter chains more extensible
    • #5287 : CompressionPools should use the new jetty-util Pool class
    • #5360 : demo-spec module incorrectly depends on demo-jndi
    • #5368 : WebSocket text event execute in same thread as running binary event and destroy Threadlocal
    • #5378 : Filter/Servlet/Listener Holders are not started if added during STARTING state.
    • ๐Ÿ‘ #5379 : Better handling for wrong SNI
    • #5394 : Quickstart does not inject/decorate objects
    • ๐Ÿšš #5401 : Move jetty-http-tools under the project root
    • #5409 : HttpClient fails intermittently with "Invalid response state TRANSIENT"
    • ๐Ÿ”ง #5417 : Badly configured HttpConfiguration.securePort can lead to wrong port produced by ForwardedRequestCustomizer
    • #5443 : Request without Host header fails with NullPointerException in ForwardedRequestCustomizer
    • #5448 : Request.isSecure() returns false for https schemes in Jetty 10+
    • #5451 : Improve Working Directory creation
    • #5454 : Request error context is not reset
    • โšก๏ธ #5475 : Update to spifly 1.3.2 and asm 9
    • #5480 : NPE from WebInfConfiguration.deconfigure during WebAppContext shutdown