Our benchmarks show a further 5–10% reduction in compile times since 2.12.3.
Improved Java 9 friendliness, with more to come!
- #6097 Fix runtime reflection of empty package members under Java 9
- #6098 Adapt to change in Java 9 classloader hierarchy
- #5867 Include the parts of a compound/refinement type in implicit scope
- #6074 Resolve implicit instances for abstract types, according to the spec
- #6069 Higher-kinded type variable unification
For Spark, with love:
- #6101 Make Lazy* classes serializable
Preparing for simplification of named arguments in 2.13:
- #6089 Deprecate assignments in argument position
Rather than pollute
- #6120 Move compilation daemon portfile under
As usual for minor releases, Scala 2.12.4 is binary compatible with the whole Scala 2.12 series.
A big thank you to everyone who's helped improve Scala by reporting bugs, improving our documentation, spreading kindness in discussions around Scala, and submitting and reviewing pull requests! You are all magnificent.
This release was brought to you by 24 contributors, according to
git shortlog -sn --no-merges v2.12.3..v2.12.4. Thank you, Jason Zaugg, Lukas Rytz, jvican, Adriaan Moors, A. P. Marki, Harrison Houghton, Tomas Mikula, Philippus Baalman, Miles Sabin, Seth Tisue, Dhirendra Kumar Kashyap, Martijn Hoekstra, Martin Grotzke, Martynas Mickevičius, Matt Sicker, Mike, Mike Skells, Rex Kerr, cong, Allison H, Janek Bogucki, Edmund Noble, Jasper Moeys, Kenji Yoshida!
Scala 2.12 Notes
The release notes for Scala 2.12.0 have important information applicable to the whole 2.12 series.
Scala releases are available through a variety of channels, including (but not limited to):