The Scala team at Lightbend is pleased to announce the availability of Scala 2.13.7.
Align with Scala 3
- Update TASTy reader to support Scala 3.1 (#9791 by @bishabosha)
- Allow
import x.{*, given}
under-Xsource:3
(#9724 by @smarter) - Allow
case
in pattern bindings even without-Xsource:3
(#9721 by @smarter) - Deprecate top-level wildcard type parameters (#9712 by @som-snytt)
JDK and Java compatibility
- Support JDK 18 (#9702 by @SethTisue)
- Support JDK 16 records in Java sources (#9551 by @harpocrates)
- Allow concrete private interface methods in Java sources (#9748 by @dengziming)
- Use
StringConcatFactory
for string concatenation on JDK 9+ (#9556 by @harpocrates)
Android compatibility
- Add
ClassValueCompat
to support systems withoutjava.lang.ClassValue
(such as Android) (#9752 by @nwk37011) - For Android compatibility, make
Statics.releaseFence()
also catchNoSuchMethodException
forjava.lang.invoke.VarHandle.releaseFence()
call (#9739 by @nwk37011)
Concurrency
- Fix asymmetric failure behavior of
Future#{zip,zipWith,traverse,sequence}
by making them fail fast regardless of ordering (#9655 by @lihaoyi)
Collections
- Make
ArrayBuffer
's iterator fail fast when buffer is mutated (#9258 by @NthPortal) - Fix
ArrayOps
bugs (by avoidingArraySeq#array
, which does not guarantee element type) (#9641 by @som-snytt) - Deprecate
IterableOps.toIterable
(#9774 by @lrytz)
Other changes
- Accept supplementary Unicode characters in identifiers (#9687 by @som-snytt)
- Improve tab completion and code assist in REPL (#9656 by @retronym)
Some small changes that will ship in 2.12.16 are also included in this release.
For the complete 2.13.7 change lists, see all merged PRs and all closed bugs.
Compatibility
As usual for our minor releases, Scala 2.13.7 is binary-compatible with the whole Scala 2.13 series.
Upgrading from 2.12? Enable -Xmigration
while upgrading to request migration advice from the compiler.
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 25 contributors, according to git shortlog -sn --no-merges @ ^v2.13.6 ^2.12.x
. Thank you A. P. Marki, Lukas Rytz, Seth Tisue, Jason Zaugg, Jamie Thompson, NthPortal, Georgi Krastev, Guillaume Martres, Dale Wijnand, Martijn Hoekstra, Alec Theriault, Rafał Sumisławski, Matt Dziuban, Li Haoyi, Doug Roper, Sébastien Doeraene, VladKopanev, danicheg, dengziming, megri, nwk37011, Magnolia.K, 梦境迷离, Mathias, James Judd.
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