
"We're pleased to announce the release of Scala 3.8 - a significant release that modernizes the Scala ecosystem and paves the way for Scala 3.9 LTS. This release introduces a standard library compiled by Scala 3 itself, stabilizes highly-anticipated features like Better Fors (SIP-62) and runtimeChecked (SIP-57), and introduces experimental features including flexible varargs and strict equality pattern matching. A runtime regression was detected after publishing Scala 3.8.0 artifacts."
"Important: This release requires JDK 17 or later for compilation and execution. If your project runs on an older JDK, you must upgrade before migrating to Scala 3.8. The plans for this change were announced in early 2025 by the Scala team and are required to support future JDK 26+, which restricts access to sun.misc.Unsafe functionalities used by our existing lazy-vals implementation."
"The issue could lead to JVM linkage errors at runtime. It may have affected Scala 3 users who execute Scala 2.13 libraries, as well as certain uses of specialized members in the Scala standard library. Any library published with Scala 3.8.0 is expected to remain binary compatible. Artifacts built with Scala 3.8.0 are safe to use and should stay binary compatible with subsequent Scala 3 releases. A more detailed postmortem will follow shortly after the Scala 3.8 release announcement."
Scala 3.8 modernizes the Scala ecosystem and prepares for Scala 3.9 LTS by shipping a standard library compiled by Scala 3, stabilizing Better Fors (SIP-62) and runtimeChecked (SIP-57), and adding experimental flexible varargs and strict equality pattern matching. A runtime regression in 3.8.0 can cause JVM linkage errors and may affect users executing Scala 2.13 libraries or certain specialized standard-library members; use 3.8.1 instead. Scala 3.8 requires JDK 17 or later to support future JDK 26+ restrictions on sun.misc.Unsafe. Scala 3.3 LTS will continue producing JDK 8 bytecode.
Read at Scala-lang
Unable to calculate read time
Collection
[
|
...
]