Scala 2.13.12
The Scala team at Lightbend is pleased to announce Scala 2.13.12.
The following changes are highlights of this release:
Feature: Quickfixes
For some errors and warnings, the compiler now suggests an edit that could fix the issue. Tooling such as IDEs can then offer the edits, or the compiler itself will make the change if run again with -quickfix
.
- Implement quickfixes, aka actionable diagnostics (via
CodeAction
) (#10406 by @eed3si9n) - Add
-quickfix
compiler option to apply quickfixes to source files (#10482 by @lrytz) - Add quickfixes to some warnings and errors (#10484 by @lrytz)
Align with Scala 3
- Emit migration warnings under
-Xsource:3
as fatal warnings, not errors (#10439 by @som-snytt, #10511)-Xmigration
will demote the errors to warnings-Wconf:cat=scala3-migration:s
will silence these errors/warnings altogether
- Warn about
@elidable
under-Xsource:3
(#10377 by @som-snytt)
Collections
IndexedSeq#head
now throwsNoSuchElementException
(notIndexOutOfBoundsException
) (#10392 by @som-snytt)
Regression fixes
- Deduplicate
JavaDeprecatedAttr
inClassfileParser
(#10422 by @som-snytt) - Avoid brittle flags encoding for Java enums (#10424 by @som-snytt)
Scaladoc tool changes
Library authors should be aware that the behavior of -doc-source-url
has changed, as follows:
You may need to adjust your build accordingly, to avoid generating broken source links.
Tooling
The following change is mainly of concern to tooling maintainers.
Other notable changes
For the complete 2.13.12 change lists, see all merged PRs and all closed bugs.
Compatibility
As usual for our minor releases, Scala 2.13.12 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.
We especially acknowledge and thank A. P. Marki, also known as Som Snytt, who is responsible for a large share of the improvements in this release.
This release was brought to you by 12 contributors, according to git shortlog -sn --no-merges @ ^v2.13.11 ^2.12.x ^366ba2f
. Thank you A. P. Marki, Lukas Rytz, Seth Tisue, Scala Steward, Michel Davit, Nicolas Stucki, Alex Leigh, Eugene Yokota, Georgi Krastev, Jamie Willis, Julien Richard-Foy, NthPortal.
Thanks to Lightbend for their continued sponsorship of the Scala 2 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
using scala
setting in your Scala CLI project - Bump the
scalaVersion
setting in your sbt or Mill project - Download a distribution from scala-lang.org
- Obtain JARs via Maven Central