First Pax Web releases were based on Chapter 102 (org.osgi.service.http.HttpService).
Then some clever things in Pax Web (before I even learned what OSGi is) inspired Http Whiteboard Specification.
With OSGi CMPN 8.1 which partially embraces javax → jakarta transition, we have these important changes impacting the landscape and Pax Web itself:
The main goal for Pax Web 10 (I'll write about Pax Web 11 in a moment) was simple - move from javax.servlet to jakarta.servlet.
`s/javax.servlet/jakarta.servlet/g` was the easy part. The problems started when upgrading Jetty, Tomcat and Undertow to versions based on jakarta.servlet API.
While Tomcat and Undertow were good citizens here, Jetty was the rebel (in the end - in positive way).
Jetty 12 stood against the same problem we all had/have in Java - should we support javax AND jakarta or do the Spring Boot 3 move to forget about javax? Jetty chose the BOTH approach.
This lead to full refactoring of Jetty internals and Pax Web had to use many tricks to switch the implementation (ee8, ee9, ee10 parts of Jetty 12). But we did it!
So I decided to do the BIG release named as Pax Web 11 and replace Pax Web 8 (Jetty 9) and 9 (Jetty 10) with Pax Web 10 (Jetty 12).
Let me proudly present: