Quality Outreach Heads-up - JDK 18: JEP 400

The OpenJDK Quality Group is promoting the testing of FOSS projects with OpenJDK builds as a way to improve the overall quality of the release. This heads-up is part of a regular communication sent to the projects involved. To learn more about the program, and how-to join, please check here.

JEP 400 - UTF-8 by Default

Starting JDK 18, JEP 400 is changing the default charset to UTF-8. This aligns with the existing newBufferedReader/Writer methods of the java.nio.file.Files class where UTF-8 is the default when no explicit charset is set. By making UTF-8 the default charset, the JDK I/O APIs will now always work in the same, predictable manner, with no need to pay attention to the host and or user’s environment! For more details, please check this article.

Call to Action

We encourage developers to test their applications with the latest JDK 18 Early Access builds. We don’t expect issues on macOS and Linux as their default encoding is already UTF-8. On Windows, especially for East Asian locales such as Chinese/Japanese/Korean, some incompatible behavior could be anticipated. If that’s the case, please consider a mitigation strategy. Questions and proper feedback should be sent to the core-libs-dev mailing list.