Hello I'd like to announce new minor releases of Pax Web: 8.0.10 and 9.0.1.
There were quite a few actual bug fixes related to how TCCL is configured and how default context can be overriden. Jetty and Tomcat runtimes are upgraded and the current versions are: - Jetty 9.4.49.v20220914 - Tomcat 9.0.67 - Undertow 2.2.19.Final There's a new PID configuration option called "org.ops4j.pax.web.tccl.type" introduced with this issue <https://github.com/ops4j/org.ops4j.pax.web/issues/1760>[1]. It accepts two options: - "servlet" (which is the default) - TCCL inside service methods (like servlet.doGet()) is set to an OsgiServletContextClassLoader which delegates to all the bundles that are reachable for the context - this is perfect setting for a WAB scenario, however in Whiteboard scenario, TCCL doesn't delegate to bundles of the dynamically registered servlets! The problem is that each time a servlet is whiteboard-registered into a context, servlet's bundle would have to be added to the underlying list of bundles, but it causes classloader leaks due to the very JVM specification - "whiteboard" - TCCL is set for each service method (separately for each filter and target servlet in invocation chain) to a bundle classloader of the actual filter/servlet The problem with TCCL is that no OSGi CMPN specification mentions TCCL at all and I simply followed the "principle of least surprise <https://en.wikipedia.org/wiki/Principle_of_least_astonishment>"[2]. For completeness, the changelogs is available for 8.0.10[3] and 9.0.1[4]. kind regards Grzegorz Grzybek === [1]: https://github.com/ops4j/org.ops4j.pax.web/issues/1760 [2]: https://en.wikipedia.org/wiki/Principle_of_least_astonishment [3]: https://github.com/ops4j/org.ops4j.pax.web/milestone/224?closed=1 [4]: https://github.com/ops4j/org.ops4j.pax.web/milestone/225?closed=1