Scala 2.13 is almost here! We are delighted to present the second 2.13 release candidate.
Since RC1, we and our crew of community contributors have been fixing bugs and improving Java interop.
We ask all library maintainers to test and publish their libraries for RC2 as soon as possible. This is crucial to validate the release candidate and enable 2.13.0 to go forward.
About these notes
These are the detailed technical release notes for RC2 only, documenting changes since RC1 only.
As usual for Scala pre-releases, RC2 is not binary compatible with any other Scala version, including previous 2.13 milestones and release candidates.
We will not break binary compatibility between RC2 and 2.13.0 unless really necessary.
Libraries for Scala 2.13.0-RC2
As libraries are published for RC2, they're added to https://github.com/scala/make-release-notes/blob/2.13.x/projects-2.13.md .
To learn about the collections changes since 2.12 and how to adapt your code, take a look at these documents:
- Scala 2.13's Collections
- The Architecture of Scala 2.13 Collections
- Implementing Custom Collections (Scala 2.13)
- Adding Custom Collection Operations (Scala 2.13)
- Migrating a Project to 2.13's Collections. This document describes the main changes for collection users that migrate to Scala 2.13 and shows how to cross-build projects with Scala 2.11 / 2.12 and 2.13.
- scala-collection-compat provides shims for cross-building code that uses collections across Scala 2.11, 2.12, and 2.13; it also provides two sets of Scalafix rewrites, one for cross-building, one for moving to 2.13 only
These documents are still being expanded and improved.
We merged 50 pull requests for RC2. The highlights are:
- Emit mixin forwarders as ordinary, non-bridge methods again (#8037)
- Rework unification of
Anyin Java/Scala interop (#7966)
- Organize JDK converters: extension methods for Scala in
scala.jdk, explicit converters for Java in
- Un-deprecate left
- Scaladoc: support setting canonical URLs (#7834)
Compiler performance in 2.13 is 5-10% better than 2.12. The integration of the new collections library shows up in the performance graph as a nice improvement.
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 23 contributors, according to
git shortlog -sn --no-merges v2.13.0-RC1..v2.13.0-RC2. Thank you Lukas Rytz, Jason Zaugg, Aaron S. Hawley, Seth Tisue, Adriaan Moors, Stefan Zeiger, NthPortal, Michael Pollmeier, Philippus, Guillaume Martres, Diego E. Alonso-Blas, Christopher Hunt, Kenji Yoshida, Nicolas Rinaudo, Sébastien Doeraene, Arnout Engelen, Dale Wijnand, Enno Runne, Georgi Krastev, Harrison Houghton, Josh Lemer, Odd Möller, Rex Kerr.
Scala releases are available through a variety of channels, including (but not limited to):