Quality Outreach Heads-up - JDK 20: java.net.URL parsing fix & behavior change
David Delabassee on November 22, 2022The OpenJDK Quality Group promotes the testing of FOSS projects with OpenJDK Early-Access 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.
JDK 20 - java.net.URL
parsing fix & behavior change
Before JDK 20, some of the parsing/validation performed by the JDK built-in URLStreamHander
implementations were delayed until URL::openConnection
or URLConnection::connect
was called. Starting JDK 20, some of these parsing/validations are now performed early, i.e. within URL constructors.
An exception caused by a malformed URL that would have been delayed until the connection was opened or connected may starting JDK 20, throw a MalformedURLException
at URL construction time.
Call to Action
We suggest testing your codebase against this change. And for those who want to rely on the old behavior, a new system property has been introduced to revert, on the command line, to the previous behavior.
More Information
- JDK-8293590 Some syntax checks performed by URL.openConnection() could be performed earlier, at URL construction
- JDK-8295750 Release Note