Scala 2.12.16
This release improves compatibility with recent JDKs:
- Use ASM 9.3, enabling JDK 19 support (#10000)
- Make
-target
support JDK 8 through 19 (and deprecate 5 through 7) (#9916) - Fix codegen for
MethodHandle.invoke
(et al) under JDK 17-release
(#9930) - Deprecate
AnyVal#formatted(formatString)
, to avoid conflict with JDK 15+ method (#9783)
and aids cross-compiling with Scala 3:
- Allow
?
as a wildcard even without-Xsource:3
(#10005)
and improves security and error reporting:
- For security, error on source files with Unicode directional formatting characters (#10023, #10030)
- Fix range position end for infix calls (#9761)
For complete 2.12.16 change lists, see all merged PRs and all closed bugs.
Known issue
Scala 2.12.16 contains a regression that was discovered after the artifacts were published. Only mixed compilation of Scala and Java source files together is affected, and only when the Scala code contains references to certain nested classes in the Java sources. The problem manifests as a compile-time type error. Follow link for details and workarounds. We'll fix the problem in Scala 2.12.17 which we expect to release in a few months.
Compatibility
As usual for our minor releases, Scala 2.12.16 is binary-compatible with the whole Scala 2.12 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 18 contributors, according to git shortlog -sn --no-merges @ ^v2.12.15 ^2.11.x
. Thank you Scala Steward, Seth Tisue, Lukas Rytz, Sébastien Doeraene, A. P. Marki, Daniel Le, Jason Zaugg, Guillaume Martres, Frank Thomas, Philippus, Daniela Sfregola, Dale Wijnand, Vadzim Marchanka, hepin.p, naferx, Fredrik Svensson, Štefan Jurčo, Georgi Krastev.
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):
- Bump the
scalaVersion
setting in your sbt-based project - Download a distribution from scala-lang.org
- Obtain JARs via Maven Central