The world after Scala 3.9 LTS
summary
Scala 3.9 LTS targets JDK 17 and runs on JDK 17+, replaces the old sun.misc.Unsafe lazy val with VarHandle-based lazy vals, and ships a Scala-3-built standard library plus a ported bytecode optimizer. Library publishing moves to the LTS line; next remains default for apps. A bytecode rewriter by Łukasz Białas exists to patch old lazy val implementations at build or runtime and tests show it works. 3.9 aims for Q2 2026, and 3.3 stays supported for one more year (EOL around Q3 2027). built on JDK 17 bytecode rewriter tool
AI-written summary · about
chapters (17)
- 0:00Introduction
- 1:50Scala 3 LTS versions
- 3:14Lazy val deprecation in JDKs
- 4:40Scala 3.9 LTS JDK 17
- 6:51Lazy val changes in 3.9
- 8:14JDK dependency challenges
- 10:02Bytecode tool for lazy vals
- 11:08LTS support timeline
- 12:09Key features in 3.9 LTS
- 13:16Bytecode optimizer
- 14:20For comprehension improvements
- 15:02Named tuples
- 15:47Scala CLI benefits
- 16:51Match exhaustivity checks
- 17:34Public binary for libraries
- 18:16Feature parity 3.8 vs 3.9
- 19:20Q&A








