Skip to content
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

Jetty 10 End of Support/Life #10103

Closed
selva3k opened this issue Jul 13, 2023 · 12 comments
Closed

Jetty 10 End of Support/Life #10103

selva3k opened this issue Jul 13, 2023 · 12 comments
Labels

Comments

@selva3k
Copy link

selva3k commented Jul 13, 2023

Jetty version
Jetty 10
Java version
Java 11
Question
currently we are using jetty version 9.4.x
we are in the process of migrating Jetty 9.4.x to Jetty 10. we didn't choose Jetty 11, as our other dependent modules/jar are still in Javax namespace.

we would like to know the below information with respect to Jetty 10 and Jetty 11.

  1. All the new features and bug fixes will go to both Jetty 10 and Jetty 11. please confirm.

  2. we could not able to find the long term plans for Jetty 10 (like end of life/support). Is there any plan of EOL/EOS for Jetty 10 anytime sooner?

  3. Regarding Jetty 12, we noticed that both javax and jakarta namespace is present. Are there any plans to obsolete the Javax namespace usage in Jetty?

@gregw
Copy link
Contributor

gregw commented Jul 13, 2023

  1. All the new features and bug fixes will go to both Jetty 10 and Jetty 11. please confirm.

We keep 10 & 11 more or less in lock step, so any changes made in 10 are echoed in 11, but just with the javax name changed to jakarta

  1. we could not able to find the long term plans for Jetty 10 (like end of life/support). Is there any plan of EOL/EOS for Jetty 10 anytime sooner?

We've not yet determined EOL/EOS dates for 10/11, as that somewhat depends on the uptake of jetty-12. So they will be some time out, as we will first end new feature development, then end community support before finally reaching end-of-life.

  1. Regarding Jetty 12, we noticed that both javax and jakarta namespace is present. Are there any plans to obsolete the Javax namespace usage in Jetty?

There are no plans to remove javax support from Jetty-12. We expect to stay in the release until there is no demand or it is technically impossible for reasons beyond our control. It is one of the primary aims of jetty-12 (other than just being better/stronger/faster) to give support for javax API on the latest best supported version of Jetty into the future.

@jmcc0nn3ll
Copy link
Contributor

I'll expand a bit on @gregw's response.

In theory, we want to announce the timeline for End of Community Support for Jetty 10 and 11 once Jetty 12 is released. If Jetty 9's announcement is anything to go by, the actual EoCS will be a year out from the notice, so quite a ways out.

Furthermore, this is in the same way Jetty 9 is currently in EoCS. We are not processing issues or enhancements from the community but still supporting it for the customers of Webtide and pushing out any issue resolution or security changes out as normal community releases. So more End of Life Lite.

Given all the changes in Java and JavaEE/JakartaEE versions over the last several years, the project has accumulated four mainline-supported releases. Jetty 12 is intended to be a long-term release for Jetty, allowing the project to ease away from these forced major version updates slowly. Jetty 12 is architected in a way that now allows us to simply add another environment for any new Servlet release whilst further providing a very fast and efficient more general core jetty experience for those interested. We'll talk more about these things once Jetty 12 is fully released.

Exciting yet more version stable times are ahead!

@chiqiu
Copy link

chiqiu commented Jul 27, 2023

I'll expand a bit on @gregw's response.

In theory, we want to announce the timeline for End of Community Support for Jetty 10 and 11 once Jetty 12 is released. If Jetty 9's announcement is anything to go by, the actual EoCS will be a year out from the notice, so quite a ways out.

Furthermore, this is in the same way Jetty 9 is currently in EoCS. We are not processing issues or enhancements from the community but still supporting it for the customers of Webtide and pushing out any issue resolution or security changes out as normal community releases. So more End of Life Lite.

Given all the changes in Java and JavaEE/JakartaEE versions over the last several years, the project has accumulated four mainline-supported releases. Jetty 12 is intended to be a long-term release for Jetty, allowing the project to ease away from these forced major version updates slowly. Jetty 12 is architected in a way that now allows us to simply add another environment for any new Servlet release whilst further providing a very fast and efficient more general core jetty experience for those interested. We'll talk more about these things once Jetty 12 is fully released.

Exciting yet more version stable times are ahead!

Could you please share more on the EOL comparing to Jetty9? We know that the EOCS is 1 year later , will the EOL date be 1 year later than the jetty 9's EOL ? You know the EOL of jetty9 is not published yet.
Thanks!

@sbordet
Copy link
Contributor

sbordet commented Jul 27, 2023

Jetty 9.4 EOL and Jetty 10/11 EOL are only very loosely related.

This is because Java 8 (minimum requirement for Jetty 9.4) currently has longer support from Java vendors than Java 11 (minimum requirement for Jetty 10/11).
Certain vendors support Java 8 until 2030, but Java 11 only until 2026, for example.

For this reason, it may be possible that Jetty 10/11 will go in EOL at a different time than Jetty 9.4, possibly even earlier.

Having said that, your best course of action is to update to Java 17 and Jetty 11 now, so that in the near future you will be able to transition to Jetty 12 easily.

@chiqiu
Copy link

chiqiu commented Jul 27, 2023

Jetty 9.4 EOL and Jetty 10/11 EOL are only very loosely related.

This is because Java 8 (minimum requirement for Jetty 9.4) currently has longer support from Java vendors than Java 11 (minimum requirement for Jetty 10/11). Certain vendors support Java 8 until 2030, but Java 11 only until 2026, for example.

For this reason, it may be possible that Jetty 10/11 will go in EOL at a different time than Jetty 9.4, possibly even earlier.

Having said that, your best course of action is to update to Java 17 and Jetty 11 now, so that in the near future you will be able to transition to Jetty 12 easily.

Thank you for your reply.
I see that Jetty 12 supports Servlet 3.1, currenly we are running with javax.servlet.*. Does that mean if we can run on Java 17, we can transition to Jetty 12 with little change which is much less than upgrading to Jetty 11? Because the jakarta namespace change is huge.

@jmcc0nn3ll
Copy link
Contributor

@chiqiu you are correct, this is a fundamental reason we developed Jetty 12 to support this approach for users. You get a modern container with support for old servlet technology. We do encourage you to look to update to the Jakarta namespace at some point as all future Jakarta EE innovations will happen there, Java EE development is completely dead.

@chiqiu
Copy link

chiqiu commented Jul 27, 2023

@chiqiu you are correct, this is a fundamental reason we developed Jetty 12 to support this approach for users. You get a modern container with support for old servlet technology. We do encourage you to look to update to the Jakarta namespace at some point as all future Jakarta EE innovations will happen there, Java EE development is completely dead.

Thanks for your reply.
So will Jetty 9.4.x be compatible with Java 17 before EOL even if Java 17 has newer updates?

@gregw
Copy link
Contributor

gregw commented Jul 27, 2023

So will Jetty 9.4.x be compatible with Java 17 before EOL even if Java 17 has newer updates?

No. Jetty 9.4.x will forever be a minimum of Java 8 only (5but it can be run on Java >= 8). Once Java 8 is no longer supported, then Jetty 9.4.x will be EOL.

For Java 17 and newer use:

  • jetty-10 for servlet 4.0
  • Jetty-11 for servlet 5.0
  • Jetty-12 for servlet 4.0, 5.0 or 6.0

You can see, that once stable, Jetty-12 is the ideal target to get modern Java support, with the latest HTTP server, but with legacy servlet API support.

@chiqiu
Copy link

chiqiu commented Jul 27, 2023

@gregw Thanks for your reply. I understand Jetty 12 is the best choice. My question is can Jetty 9.4.51(the latest version) or 9.4.5x higher versions run on Java17 ? I think Java 17 is backward compatible with Jetty 9.4.x since it is compiled with Java 8 right?

@sbordet
Copy link
Contributor

sbordet commented Jul 27, 2023

My question is can Jetty 9.4.51(the latest version) or 9.4.5x higher versions run on Java17 ?

Yes, as @gregw said, it can run on any Java version >= 8.

@jmcc0nn3ll
Copy link
Contributor

@chiqiu Be careful as the JDK is not always backward compatible. For example, they have removed the SecurityManager completely in newer releases, and if a change like that breaks Jetty 9 or your application, we have no plans to invest time in Jetty 9 to resolve an issue like that.

@marcwrobel
Copy link

FYI, the timeline is now available on #10485.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

7 participants