Scala 2.13.1
Scala 2.13.1 is primarily a bug fix release that fixes several regressions in 2.13.0.
Collection-related regressions
- Revert
Stream.Cons
to the 2.12 encoding (#8354) - Don't rebuild
scala.Seq
to drop elems inunapplySeq
(#8340) - Blacken subtrees where necessary in
RedBlackTree.take
(#8287) Iterator#flatMap#hasNext
callsouter#hasNext
1 time, not 2-3 times (#8220)s.c.Map#values
returns a strictIterable
rather than aView
(#8195)Vector.from(ArraySeq)
copies elems rather than reusingunsafeArray
(#8194)- Fix
mutable.HashSet.addAll
: remove redundant call to super method (#8192) - Fix
mutable.ArraySeq.ofChar#addString
(#8176) - Fix
HashMap#mapValuesInPlace
(#8421)
Other regressions
- Avoid spurious "illegal cyclic reference" errors (#8382)
- Stabilize args of
apply
(#8202) - Reject incomplete implicit dictionaries (#8201)
- Process exit code on script errors (#8169)
- Fix type inference involving wildcards (#8129)
Other bug fixes and improvements
- Extend the Gradle / sbt 0.13 leniency to Windows (#8408)
- Avoid unnecessary
toSeq
conversions inSeq
methods (#8374) - Avoid memory leaks in
Stream
methods (#8367) - Precompile -i files for script runner (#8349)
- Stop warning on higher-kinded usage without -language:higherKinds (#8348)
- Simplify reporters (#8338)
- More efficient
ArraySeq
iteration (#8300) - Enable hyperlinking to Java docs (#8284)
- Parent
implicitNotFound
message is supplemental (#8280) - Add protected and private visibility filters to scaladoc (#8183)
- Fix vulnerability in jQuery used in ScalaDoc (#8179)
- Synthesize a PartialFunction from function literal (#8172)
- Fix parsing of
try
(#8071) - Support emitting Java 9 bytecode by adding "-target:9" (#8060)
- Deprecate
mutable.MultiMap
(#8005) - Add syntactic sugar for
if(_)
(#7707) - A foreign definition induces ambiguity (#7609)
This is not a complete list of changes. For that, see all merged PRs and all closed bugs.
Compatibility
Upgrading from 2.12? Enable -Xmigration
while upgrading to request migration advice from the compiler.
As usual for our minor releases, Scala 2.13.1 is binary-compatible with the whole Scala 2.13 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 43 contributors, according to git shortlog -sn --no-merges HEAD ^v2.13.0 ^upstream/2.12.x
. Thank you Som Snytt, Lukas Rytz, Aaron S. Hawley, exoego, Jason Zaugg, Dale Wijnand, Seth Tisue, Stefan Zeiger, NthPortal, Martijn Hoekstra, Jasper Moeys, Josh Lemer, Isaac Levy, Harrison Houghton, Benjamin Kurczyk, redscarf, 杨博 (Yang Bo), Adriaan Moors, Anatolii Kmetiuk, Eugene Yokota, Georgi Krastev, Miles Sabin, Philippus, xuwei-k, Magnolia.K, Mike Skells, 2efPer, Mitesh Aghera, NomadBlacky, Guillaume Martres, Odd Möller, yui-knk, Georg, Flash Sheridan, Diego E. Alonso Blas, Sébastien Doeraene, Atsushi Araki, psilospore, Akhtyam Sakaev, wanying.chan, Li Haoyi, M.Shibuya, Kota Mizushima.
Thanks to Lightbend for their continued sponsorship of the Scala core team’s efforts. Lightbend offers commercial support for Scala.
Scala 2.13 notes
The release notes for Scala 2.13.0 have important information applicable to the whole 2.13 series.
Obtaining Scala
Scala releases are available through a variety of channels, including (but not limited to):
- Bump the
scalaVersion
setting in your sbt-based project - Download a distribution from scala-lang.org
- Obtain JARs via Maven Central