Scala 3 aims to drop support for JDK 8 by the end of 2025, shifting minimum support to either JDK 11 or 17 based on community feedback. The transition allows the Scala ecosystem to utilize new Java features from JDK 9 and beyond, including key enhancements such as private member access, sealed classes, and memory access APIs. This change aims to reduce maintenance burdens on developers and library authors, while extracting performance and compatibility benefits from upcoming JDK versions.
Dropping JDK 8 completely would ease maintenance for tooling and library authors, eliminating the need to maintain compatibility with various versions for performance and correctness.
Switching to a newer version of JDK would enable the Scala ecosystem to utilize enhancements from JDK 9+, allowing us to leverage useful features and library improvements.
JEP 471 replaces sun.misc.Unsafe, which Scala 3 currently utilizes, paving the way for better performance and compatibility with future JDK versions.
New features from JDK 9+ include private member access through JEP 181 and sealed classes via JEP 409, which could greatly benefit Scala.
Collection
[
|
...
]