Eclipse Jetty - Servlet Engine and Http Server 10.0 Release Review

Type
Release
State
Successful
End Date of the Review Period

Reviews run for a minimum of one week. The outcome of the review is decided on this date. This is the last day to make comments or ask questions about this review.

Release

10.0

Description

Eclipse Jetty 10.0 will be the first Jetty release embracing the migration of JavaEE to JakartaEE coupled with the newer Java release process.

  • Jakarta Servlet 4.0 Support
  • Jakarta Websocket 1.1 Support
  • Websocket Performance Refactor
  • Java 11+ Support
  • JPMS Support
API Certification

The project leadership certifies that the APIs in this release are "Eclipse Quality".

Architectural Issues

Jetty has always embraced a strong component-based architecture and provided a standalone distribution as a production-oriented executable which additionally serves as a best of breed example on how users themselves may leverage the components of Jetty. The core of Jetty offers a highly scalable extensible IO architecture with which the projects builds HTTP/1.1, HTTP/2.0, and Websockets support.  The Jetty project continues to update and implement specifications for HTTP, Cookies, TLS and other standards which are core to the Internet, offering togglable compliance modes where appropriate.

Security Issues

Security issues are addressed when they appear and there is nothing pending for a Jetty 10.0 release.

Non-Code Aspects

The Jetty team has ceased providing P2 repositories and that effort has been taken on by a team that uses those artifacts.  This resolves a long-standing disconnect between the developers of Jetty producing artifacts for which they had no experience using.

Conforms To UI/UX Guidelines
Not applicable (project doesn't provide UI)
End of Life
  • Jetty Runner is likely being deprecated in this release in factor of a jlink style approach that will provide similar functionality.  This feature (and really most any EoL feature) can always be recovered given sufficient interest.
Standards
  • JakartaEE Servlet 4.0
  • JakartaEE Websocket 1.1
  • WebSocket
    • RFC6455
  • HTTP/1.1
    • RFC7230 (default, and recommended for modern browsers)
    • RFC2616 (option, not recommended)
  • HTTP/2.0
    • RFC7540
  • Cookies
    • RFC6265 (default, recommended for Chrome / Firefox / Safari compatibility)
    • RFC2965 (option, not recommended for modern browsers, libraries, and mobile devices)
  • Multipart/Mime form data
    • RFC7578 (recommended)
    • RFC2045 is available as an option (not recommended for security reasons)
  • IPv6 addressing in URLs
    • RFC2732
  • HTTP over TLS (aka https scheme)
    • RFC2818
  • TLS Protocol
    • RFC2246
  • ALPN / TLS
    • RFC7301
  • `Digest` and `Basic` HTTP authentication mechanisms
    • RFC7235 
  • `permessage-deflate` extension for WebSocket
    • RFC7692
  • `Forward` HTTP header (replacing older)
    • RFC7239
Communities

The overall community remains very active and committed to using Jetty and updating appropriately. The mailing lists remain active, the migration to Github was very well received and the transition from Bugzilla has been tremendous, contributions to Jetty upon leaving Bugzilla have been substantial. Stackoverflow remains an important overall part of the Jetty community interaction.