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

[🚀 Feature]: Java 11 as the minimum supported version for Selenium Java bindings #11526

Closed
pujagani opened this issue Jan 9, 2023 · 11 comments · Fixed by #12843
Closed

[🚀 Feature]: Java 11 as the minimum supported version for Selenium Java bindings #11526

pujagani opened this issue Jan 9, 2023 · 11 comments · Fixed by #12843
Assignees
Milestone

Comments

@pujagani
Copy link
Contributor

pujagani commented Jan 9, 2023

Feature and motivation

Currently, Java 8 is the minimum supported version. The goal is to bump this to Java 11.
This will help take advantage of JDK 11 HTTP client as the default client (which is currently optional, read more on the usage https://www.selenium.dev/blog/2022/using-java11-httpclient/) and remove dependency on AsyncHttpClient. This change will help resolve major issues like #9528 for all Selenium clients.
Additionally, it will help remove the Guava dependency for Immutable collections as well (this change can be done in iterations once we move to Java 11).

Usage example

Usage will remain as it is. Users will not need to add explicit dependency on Guava library in their test setups.

@github-actions
Copy link

github-actions bot commented Jan 9, 2023

@pujagani, thank you for creating this issue. We will troubleshoot it as soon as we can.


Info for maintainers

Triage this issue by using labels.

If information is missing, add a helpful comment and then I-issue-template label.

If the issue is a question, add the I-question label.

If the issue is valid but there is no time to troubleshoot it, consider adding the help wanted label.

If the issue requires changes or fixes from an external project (e.g., ChromeDriver, GeckoDriver, MSEdgeDriver, W3C), add the applicable G-* label, and it will provide the correct link and auto-close the issue.

After troubleshooting the issue, please add the R-awaiting answer label.

Thank you!

@titusfortner
Copy link
Member

Are you proposing that we make this change next month (4.9)? I thought we were going to give users a few months notice?

@pujagani
Copy link
Contributor Author

As Diego suggested, if there is a major feature in Java then we do it in the major release else we do it in a point release. I added the last milestone tag for the point release before the major release. I am open to doing it when we think it will be better for the users.

@diemol
Copy link
Member

diemol commented Jan 10, 2023

I think having the issue open is a good idea so we track this. We need to find a way to define a date for this. 6/12 months? @titusfortner had a proposal in Slack which I cannot find. Maybe we do a survey and get feedback on what a proper deadline is?

@pujagani
Copy link
Contributor Author

That is a good idea to understand it better from user's perspective.

@diemol diemol removed this from the 4.9 milestone Jan 10, 2023
@titusfortner
Copy link
Member

titusfortner commented Jan 10, 2023

I think I proposed July 1 for Java 11 requirement and Jan 1, 2024 for Java 17 requirement (since Java 11 EOL is September); though I'm not sure we have an idea for what we need Java 17 for, so maybe that is premature?
There's also the option that @asolntsev proposed, which is currently used in Selenide for developing with Java 11/17 code but generating Java 8 bytecode— https://github.com/bsideup/jabel

We need to have a lot more conversation about this, but I actually think we *could release a Selenium 5 on July 1 if we want to go the route of what I suggested in Slack about explicitly defining Selenium's role in the ecosystem and setting better expectations for user. A major release would be the best way to educate users about how we want the project to be perceived/used/promote ecosystem, etc. Especially if that can coincide with a fully featured Selenium Manager...

Selenium 5: "Batteries included, some assembly required"

@pujagani
Copy link
Contributor Author

Apologies, I think I misunderstood or missed the July 1 for Java 11 bit. I somehow recollect the EOL dates mentioned. Thank you for providing further context.
This does need to be discussed in depth and it can then be planned accordingly. Aligning it with a major version and defining Selenium's role as Titus suggested might be a good idea. But I think that needs to be fleshed out more. Probably we can add a section in the TLC meeting agenda to have regular discussions around this.

@diemol
Copy link
Member

diemol commented Jan 31, 2023

We decided in the TLC meeting held on January 19, 2023 that we want to set a date to make this change, maybe it will match the Selenium 5 release, maybe it wont. What we want to do is to send a survey to see what the community think an acceptable time frame is.

@diemol diemol self-assigned this Jun 1, 2023
@diemol diemol added this to the 4.11 milestone Jun 1, 2023
@diemol
Copy link
Member

diemol commented Jun 9, 2023

SeleniumHQ/seleniumhq.github.io#1402
https://deploy-preview-1402--selenium-dev.netlify.app/blog/2023/java-8-support/

Well, we did not do much since this issue was created. So now we want to have 30.09.2023 as the date. Post is in review and then will share in social media.

Copy link

github-actions bot commented Dec 4, 2023

This issue has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.

@github-actions github-actions bot locked and limited conversation to collaborators Dec 4, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants