Dear Beam developers, As Java8 has gone through end-of-public-update, many Beam dependencies have already deprecated Java8 (see [1]), and dropping Java8 supports are planned.
Beam hasn't deprecated Java8, moreover, currently Beam CI is using Java8 to test and release Beam. Referring to other Apache projects, I hereby suggest a 3-step process for dropping Java 8 support: 1. Switch CI to Java11, while retain the byte code compatibility to Java8 for Beam releases. Tracked in [1]. This won't affect Beam developers and users currently on Java8, and can be done immediately 2. Require Java11+ to build Beam, deprecate Java8 support [2]. This still won't affect Beam users currently on Java8, but for Beam developers build custom Beam artifacts, they will need Java11+ 3. Drop Java8 support This will affect Beam users. Targeted in a medium-long future date, when Beam's major dependencies already dropped Java8 support There are a few details for further decision * Java8 has ended premier support in March 2022, the next LTS, Java11 also ended premier support in Sept 2023. Should we bump the default Java version to 17 for CI at once (while keeping Java8/11 bytecode compatibility for the build)? * Timeline of deprecating Java8. I am volunteering to work on [1] which is targeted to Beam 2.58.0; naturally (2) would be Beam 2.59.0 or 2.60.0. Please provide your thoughts on the general process, and highlight particular areas of concern. [1] https://github.com/apache/beam/issues/31677 [2] https://www.oracle.com/java/technologies/java-se-support-roadmap.html Regards, Yi -- Yi Hu, (he/him/his) Software Engineer