-
Notifications
You must be signed in to change notification settings - Fork 520
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Migrate to Jetty 10/11 #439
Comments
It would mean updating the minimum JVM version from 8 to 11. Are there any benefits to upgrading before 9.4 is officially deprecated? |
The most interesting thing is I think the websocket refactoring (https://webtide.com/jetty-10-and-11-have-arrived/). |
|
I'll update to 9.4.40. |
9.4.40 seems to have two vulnerabilities https://nvd.nist.gov/vuln/detail/CVE-2021-28169 https://nvd.nist.gov/vuln/detail/CVE-2021-34428 |
FYI, Jetty 9.x Community support ended on 6/1/22, but security updates will continue probably until 2025. See more at jetty/jetty.project#7958 |
I think Jetty will have at least 2 supported stable versions for some time. Jetty 10 also comes with servlet 4 API . Instead of migration, maybe supporting multiple versions concurrently is better. WDYT? |
If you want to create and maintain a Ring adapter for Jetty 10, then by all means feel free to do so. |
There's already https://github.com/sunng87/ring-jetty9-adapter available (the project name is misleading). |
Thanks, I just found the project after James mentioned it just now on slack. If ring has the default jetty adapter here, people will feel the impulse to ask for upgrade / features since they are going to use it. Hopefully this will help with managing expectations. |
Supporting loom would be one good reason to upgrade: jetty/jetty.project#8007 |
I'm hitting some challenges right now, moving Pedestal from Jetty 9 to Jetty 11 ... some of the Ring code we rely on (such as ring.middlewhare.multipart-params) is coded against the older servlet API ( |
If I recall correctly, the multipart-params middleware is the only part of Ring core that depends on the servlet API, and that's because it uses the commons-fileupload library. At the time it was originally written there weren't many mature options for reading multipart uploads in Java that weren't tied to a particular server implementation, and writing our own multipart parser in order to avoid the servlet dependency didn't garner enough interest to seem worth the trouble. However, it looks like within the last month commons-fileupload 2.0 has been released, and unlike 1.x, this does not appear to have a dependency on the servlet API. I haven't looked at it closely so I may be mistaken, but we may be able to update commons-upload and cut out the servlet dependency from Ring core once and for all. |
@hlship I've created a branch |
Thanks for that; I created a fork and added a deps.edn so that I can use it in my Pedestal work branch in the meantime. |
Update the Jetty adapter to version 11.0 Fixes #439.
For future reference I should probably document why I changed my mind on this, or at least upgraded earlier than 2025, when Jetty's 9 security updates will finally come to an end (assuming enterprise customers don't push the date back further). There were several factors that tipped the balance:
|
Hello,
The Ring Jetty adapter uses Jetty
9.4.38
. Jetty 10 and 11 are available.I would liek to know if you would be interested to migrate to one of these versions. The main difference between 10 and 11 seems to be the renaming of the
javax.servlet
packages tojakarta.servlet
.I'm not a Jetty expert but I think I can find some time to do the migration if you are interested.
The text was updated successfully, but these errors were encountered: