Scala 2.13.17
The Scala team at Akka is pleased to announce Scala 2.13.17.
This release is compatible with the new JDK 25 LTS.
See below for known issues / regressions in this release.
The following are highlights of this release:
Unclaimed project
Are you a maintainer of scala? Claim this project to take control of your public changelog and roadmap.
Changelog
Scala 2 compiler and standard library. Scala 2 bugs at https://github.com/scala/bug; Scala 3 at https://github.com/scala/scala3
Last updated 27 days ago
♞ lichess.org: the forever free, adless and open source chess server ♞
💾 Database Tools incl. ORM, Migrations and Admin UI (Postgres, MySQL & MongoDB) [deprecated]
A platform to build and run apps that are elastic, agile, and resilient. SDK, libraries, and hosted environments.
The Community Maintained High Velocity Web Framework For Java and Scala.
The Scala team at Akka is pleased to announce Scala 2.13.17.
This release is compatible with the new JDK 25 LTS.
See below for known issues / regressions in this release.
The following are highlights of this release:
productPrefix hash statically in case class hashCode (#11023)
hashCode method of a case class no longer calls productPrefix. This changes the hash code of case classes that override productPrefix.scala.util.Using suppression order (NonFatal suppresses ControlThrowable) (#11000 by @NthPortal)
Using in a project that crossbuilds to Scala 3, you may wish to wait for a Scala 3 release that includes the 2.13.17 standard library, or use a dependency override to force the upgrade in your buildAnnotationInfo when using named/default arguments, support custom annotation subclasses (#10976)
class nodep extends annotation.nowarn("cat=deprecation") and use @nodep to silence deprecationsnowarn/-Wconf filters for a warning with @nowarn("verbose") (#10985)toVector for XML literal sequences (#11065)-Xsource-features without -Xsource:3 (#11123)-Xlint:_,-infer-structuralsummonIgnoring from 3.7 as c.inferImplicitValueIgnoring (#11068 by @MateuszKubuszok)LazyList (#10937)Future.firstCompletedOf (prevents memory leaks) (#10927)-Xsource-features:eta-expand-always for eta-expansion without an expected type (#10907 by @som-snytt)For the complete 2.13.17 change lists, see all merged PRs and all closed bugs.
False positive lint warning: a type was inferred to be kind-polymorphic
-Xlint:infer-any flag (which is also enabled with plain -Xlint)-Wconf:cat=lint-infer-any&msg=kind-polymorphic:sScaladoc @define no longer works if the doc comment is on an object
-Wunused:privates now warns about unused private final val declarations. When such a val is only referenced as argument to a Java annotation, it is incorrectly reported as unused
@nowarn("cat=unused-privates") to the val declarationSemantic change when passing a null sequence parameter in Scala 3, i.e., foo((null: Array[T])*). Within def foo(xs: T*), the value xs is no longer null.
scala-library on the classpath to 2.13.17 can change the runtime behavior of previously compiled codeAs usual for our minor releases, Scala 2.13.17 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.
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.16 ^2.12.x. Thank you A. P. Marki, Lukas Rytz, Seth Tisue, Alec Theriault, Jason Zaugg, Sébastien Doeraene, Scala Steward, Bernhard, Tomasz Godzik, Vasil Vasilev, Arthur Soulié, Emil Ejbyfeldt, Hamza Remmal, Jiri Vanek, Kenji Yoshida, Lorenzo Gabriele, Marissa, Mateusz Kubuszok, Matthew Lutze, Philippus Baalman, Stefan Zeiger, philwalk, 虎鸣.
Thanks to Akka for their continued sponsorship of the Scala 2 team’s efforts. Akka offers commercial support for Scala.
The release notes for Scala 2.13.0 have important information applicable to the whole 2.13 series.
Scala releases are available through a variety of channels, including (but not limited to):
using scala setting in your Scala-CLI projectscalaVersion setting in your sbt or Mill project