JDK 27 will remove the temporary system property `java.locale.useOldISOCodes`, which was introduced in JDK 17 to ease migration. Before JDK 17, Java used ISO 639 codes (iw, in, ji) as canonical for Hebrew, Indonesian, and Yiddish, mapping BCP 47 codes to them. JDK 17 reversed this, defaulting to BCP 47 tags. JDK 25 deprecated the property and JDK 27 removes it entirely, issuing a warning if set. Code must be updated to consistently expect BCP 47 tags when querying Locale instances, though ISO 639 tags can still be used to instantiate Locale objects.
Sort: