github scala/scala v2.12.13
Scala 2.12.13

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

Highlights

  • Adds support for configurable warnings and errors (@nowarn and -Wconf), backported from 2.13

For a tour of this capability, consult this blog post by Lukas Rytz.

Standard library

  • To permit compiling on JDK 15, avoid clash with new CharSequence#isEmpty method #9292
    • The clash is avoided by making CharSequence wrappers in Predef non-implicit.
    • The change is binary compatible, but not source compatible. Call sites may need updating.
    • The same change was included in Scala 2.13.4.

Other changes

  • Improves pattern matching exhaustivity warnings for patterns involving tuples
  • Improves performance of building immutable.{TreeMap,TreeSet} by using mutation within the builder

For complete 2.12.13 change lists, see all merged PRs and all closed bugs.

Compatibility

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

The internal implementation of groupBy has been optimized to reduce allocations. This can result in different ordering elements if you iterate the resulting Map. The ordering of the returned map is not specified behaviour and should not be relied upon, for ordering sensitive use cases consider building a LinkedHashMap or TreeMap instead.

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 40 contributors, according to git shortlog -sn --no-merges HEAD ^v2.12.12 ^2.11.x. Thank you Mike Skells, Jason Zaugg, Lukas Rytz, Dale Wijnand, A. P. Marki, Harrison Houghton, Darcy Shen, Seth Tisue, Ivano Pagano, João Ferreira, Ethan Atkins, NthPortal.

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.