github scala/scala v2.12.12
Scala 2.12.12

latest releases: v2.13.13, v2.12.19, v2.13.12...
3 years ago

Highlights

This release adds compiler support for scala-async and backports substantial performance improvements to collections.

  • The compiler now includes a phase that performs the transformation for the async/await DSL for working with Scala Futures.
    This transform is based on the macro implementation in scala-async but has been substantially rewritten to fix some
    long standing bugs, reduce the overhead of compilation and simplify the extension points for third party effect systems.
    scala-async 1.0.0 will be released shortly building atop this phase. (#8816)
  • immutable.{TreeSet, TreeMap} are now based on a backport of the 2.13.x implementation. (#8749)
  • The builders for immutable.{HashMap, HashSet} are more efficient -- they now use mutation during building to reduce memory churn. (#8726)

Further highlights

  • Minor improvements to compiler performance. The allocation rate of the compiler is reduced by 10%.

This is not a complete list of changes. For that, see all merged PRs and all closed bugs.

Compatibility

As usual for our minor releases, Scala 2.12.12 is binary-compatible with the whole Scala 2.12 series.

Contributors

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 13 contributors, according to git shortlog -sn --no-merges v2.12.11..v2.12.12. Thank you Jason Zaugg, Mike Skells, Lukas Rytz, Harrison Houghton, Adriaan Moors, Stefan Zeiger, Dale Wijnand, Seth Tisue, A. P. Marki, Eugene Yokota, NthPortal, Georgi Krastev and Martijn Hoekstra.

Thanks to Lightbend for their continued sponsorship of the Scala core team’s efforts. Lightbend offers commercial support for Scala.

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):

Don't miss a new scala release

NewReleases is sending notifications on new releases.