Scala 2.12.2

@adriaanm adriaanm released this Apr 18, 2017

Scala 2.12.2 includes support for trailing commas, the first proposal (SIP-27) to make it all the way through the revived Scala Improvement Process. Congratulations, @dwijnand!

Changes

Significant changes since 2.12.1 include:

  • #5245 Allow trailing commas before newlines (SIP-27)
  • #5402 Improve unused warnings
    • note: these changes are included under -Xlint unless explicitly excluded with -Xlint:-unused,_
  • #5589 Types with symbolic names print in infix by default
  • #5724 Support direct-dependency-only compilation (Scala Center Proposal SCP-009)
  • #5816 Allow user-defined [un]apply in case companion
  • #5667 -Xmaxerrs to limit compiler messages
  • #5592 Don't keep JarFile open in ZipArchive (with -Dscala.classpath.closeZip=true)
  • #5659 Fix endless cycle in runtime reflection
  • #5602 Modules w. serializable type alias "companions" are not serializable
  • #5550 Fix detection of term-owned companions
  • #5663 Enable colored output by default on Unix
  • #5625 Bundle newer scala-parser-combinators (1.0.5)

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

2.12.2 also includes all the 2.11.11 changes, including these especially notable ones:

  • #5730, #5846 Allow custom apply and unapply methods in case class companions. Also allows case class constructors and apply methods to be private.
  • #5343 Add support for higher order unification under -Ypartial-unification (SI-2712)
  • #5341 Fix for higher-kinded GADT refinement

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

To share your feedback on this release, please use our new GitHub-based bug tracker and Discourse-based contributors forum.

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 48 contributors, according to git shortlog -sn --no-merges v2.12.1..v2.12.2. Thank you A. P. Marki, Jason Zaugg, Adriaan Moors, Seth Tisue, Lukas Rytz, Pap Lőrinc, Philippus Baalman, Rory Graves, Dale Wijnand, Janek Bogucki, Iulian Dragos, Stefan Zeiger, Johannes Rudolph, Edmund Noble, Lars Hupel, Masaru Nomura, allisonhb, jvican, Sébastien Doeraene, Mike Skells, Antoine Gourlay, Aaron S. Hawley, Viktor Klang, Vlad Ureche, piyush-jaiswal, ptrcarta, teldosas, wpopielarski, Alessandro Cifani, Alexey Romanov, Ben Hutchison, Carsten Varming, Evgeny Slutsky, Hao Xia, Jasper-M, Jon Pretty, Kenji Yoshida, Markus Jura, Martijn Hoekstra, Martynas Mickevičius, Miles Sabin, Oscar Boykin, Pablo Fco. Pérez Hidalgo, Paul Phillips, Rui Gonçalves, Sam Halliday, Tamer Mohammed Abdul-Radi, and Tobias Schlatter!

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