Jetty 10 includes major changes of its WebSocket API as well as other changes to fairly prominent API types (e.g. access to headers via HttpFields). For 5.3.x we need to support 9.4.x and 10.x side by side.

Comment From: rstoyanchev

After some experimentation, currently for Jetty 10 it is expected to extend JettyWebSocketServlet and use a JettyWebSocketCreator argument passed into a protected method to register WebSocket endpoints. That alone won't help us. It is possible to do what JettyWebSocketServlet does with all public classes but some are in internal packages.

A better option would be to have a dedicated SPI for programmatic upgrades. There is now an issue to track that https://github.com/eclipse/jetty.project/issues/5866 and once available we'll make use of it.

Comment From: rstoyanchev

Support for Jetty 10 is now in master. I've done basic testing with: - spring-websocket server and client - spring-webflux server and client - Jetty reactive HTTP client.