Skip to content

Scala 2.12.4

Choose a tag to compare
@adriaanm adriaanm released this 19 Oct 22:54
· 10754 commits to 2.13.x since this release

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

This release addresses (#6120) a privilege escalation vulnerability that was identified in the Scala compilation daemon CVE-2017-15288.

We'd like to highlight a few of the excellent contributions by @hrhino and @TomasMikula, previewing 2.13 improvements (available now under -Xsource:2.13):

  • #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 /tmp,

  • #6120 Move compilation daemon portfile under ~/.scalac/

For more details, check out all closed bugs and merged PRs.

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.

Obtaining Scala

Scala releases are available through a variety of channels, including (but not limited to):