chore(deps): update dependency scala to v2.13.17
This MR contains the following updates:
| Package | Change | Age | Confidence | 
|---|---|---|---|
| scala (source) | 
2.13.10 -> 2.13.17
 | 
||
| scala (source) | 
2.13.14 -> 2.13.17
 | 
Release Notes
scala/scala (scala)
v2.13.17: Scala 2.13.17
[wip] to be announced — follow https://contributors.scala-lang.org/t/scala-2-13-17-release-planning/6994
v2.13.16: Scala 2.13.16
The Scala team at Akka (formerly Lightbend) is pleased to announce Scala 2.13.16.
The following changes are highlights of this release:
Breaking change
- On the empty string, 
.tailand.initnow throw (instead of returning the empty string) (#10851 by @sh0hei)- This is a bugfix, but be aware that existing code might, perhaps inadvertently, be relying on the old behavior
 
 
Compatibility
- Support Scala 3.6 in TASTy reader (#10893)
 - Support JDK 24 in optimizer (via ASM upgrade) (#10888 by @Philippus)
 
REPL
- REPL: JLine 3.27.1 (was 3.26.3) and on Windows use JNI not JNA (#10899, #10898, #10882)
- These upgrades hopefully won't be noticed, but, REPL users on Windows take note
 - JNA is no longer a dependency of 
scala-compiler.jar 
 
Align with Scala 3
- Under 
-Xsource:3, deprecate infix named args (#10857 by @som-snytt) 
Errors and warnings
- Fix 2.13.15-only false positives with 
-Wunused:patvars(#10870 by @som-snytt) 
Collections
- Do not use 
rangeHashwhenrangeDiffis 0 (#10912 by @Friendseeker)- This may affect fragile code relying on ordering of hash-based collections
 
 - Deprecate 
collection.mutable.AnyRefMap(#10862 by @wangyum)- Since Scala 2.13.0 it has no performance advantage over 
collection.mutable.HashMap 
 - Since Scala 2.13.0 it has no performance advantage over 
 
More changes
For the complete 2.13.16 change lists, see all merged MRs and all closed bugs.
Compatibility
As usual for our minor releases, Scala 2.13.16 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 many of the improvements in this release.
This release was brought to you by 19 contributors, according to git shortlog -sn --no-merges @​ ^v2.13.15 ^2.12.x. Thank you A. P. Marki, Seth Tisue, Scala Steward, Lukas Rytz, Friendseeker, Ondra Pelech, Philippus Baalman, Benjamin Maurer, Corey O'Connor, Eric Seidel2, Hamza Remmal, Jamie Thompson, João Costa, Kenji Yoshida, Mathias Kools, Rikito Taniguchi, Yuming Wang, rochala, sh0hei.
Thanks to Akka for their continued sponsorship of the Scala 2 team’s efforts. Akka 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 scalasetting in your Scala-CLI project - Bump the 
scalaVersionsetting in your sbt or Mill project - Download a distribution from scala-lang.org
 - Obtain JARs via Maven Central
 
v2.13.15: Scala 2.13.15
The Scala team at Lightbend is pleased to announce Scala 2.13.15.
The following changes are highlights of this release:
Breaking changes
- 
-Wconf:x,ynow means-Wconf:x -Wconf:y, with y overruling x, rather than the reverse (to align with Scala 3.4+ and with user intuition) (#10708 by @som-snytt) - Compiler plugins: rework and improve phase assembly (#10687 by @som-snytt)
- Plugin authors should check to see if they are affected
 - Plugin users may see strange errors if a plugin is affected and not adjusted by its author
 - Most plugins are not affected
 
 
Compatibility
- Support JDK 23 in optimizer (via upgrade to patched ASM 9.7.0) (#10744)
 - Support Scala 3.5 in TASTy reader (#10811 by @bishabosha)
 - REPL: JLine 3.26.3 (was 3.25.1) (#10827)
 
Features
- Support alternative JVM system images (via 
-system, like javac) (#10801 by @szeiger) - Add 
-Ycollect-statisticsfor collecting statistics without printing them (#10795 by @szeiger) 
Align with Scala 3
- Add 
-Xsource-features:double-definitionsto warn or error for double definitions (#10846 by @som-snytt) - Under 
-Xsource:3, allow importinggiven, for cross-building (#10786 by @som-snytt) - Under 
-Xsource:3, remove by-name restriction for case copy (#10770 by @som-snytt) 
Errors and warnings
- Fix 
-Wconfand-nowarnto be more consistent (#10750 by @som-snytt) - Add 
-Wtostring-interpolatedto warn if interpolator usestoString(#10776 by @som-snytt) - Improve inferred-
Anylint (fixing false positives and false negatives) (#9452 by @som-snytt) - Fix false-positive unused warnings in for comprehensions (#10812 by @som-snytt)
- (Still seeing false positives, or new false positives? see #10870)
 
 - Fix false-positive by-name implicit warnings with 
-Wmacros(#10781 by @som-snytt) - Mention if missing symbol is on the class path (#10774 by @som-snytt)
 - Avoid unused import warnings in REPL (#10769 by @som-snytt)
 - Add 
-Vcyclicto improve reporting of "cyclic reference" errors (#10680 by @som-snytt) 
More changes
For the complete 2.13.15 change lists, see all merged MRs and all closed bugs.
Compatibility
As usual for our minor releases, Scala 2.13.15 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 many of the improvements in this release.
This release was brought to you by 13 contributors, according to git shortlog -sn --no-merges @​ ^v2.13.14 ^2.12.x. Thank you A. P. Marki, Lukas Rytz, Scala Steward, Seth Tisue, Jamie Thompson, Stefan Zeiger, Hamza Remmal, EnzeXing, Marissa, Philippus Baalman, Samuel Chassot, luozexuan, nbauma109.
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 scalasetting in your Scala-CLI project - Bump the 
scalaVersionsetting in your sbt or Mill project - Download a distribution from scala-lang.org
 - Obtain JARs via Maven Central
 
v2.13.14: Scala 2.13.14
The Scala team at Lightbend is pleased to announce Scala 2.13.14.
The following changes are highlights of this release:
Align with Scala 3
- Introduce 
-Xsource-features, for customizing the behavior of-Xsource:3and-Xsource:3-cross(#10709)- A section of the Scala 3 Migration Guide documents these flags: documentation
 
 
Regression fixes
- Rename 
-Xlint:named-booleansto-Wunnamed-boolean-literal(and no longer include it in-Xlint) (#10704 by @som-snytt) - Fix 
ArrayBuilderregression in Scala 2.13.13 (OutOfMemoryErrorwhen adding empty arrays) (#10722 by @som-snytt) - Fix 2.13.13 regression in Scaladoc compilation when using Scala 3 definitions (#10700 by @bishabosha)
 
Other improvements
- Unused warnings: for macros, by default, look for usages in expansion (#10693 by @som-snytt)
 - REPL: Upgrade to JLine 3.25.1 (was 3.24.1) (#10717)
 - Remove 
SHELLOPTS=viand-Xjline support; reinstate-Xnojline(#10716 by @hvesalai) 
More changes
For the complete 2.13.14 change lists, see all merged MRs and all closed bugs.
Compatibility
As usual for our minor releases, Scala 2.13.14 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 many of the improvements in this release.
This release was brought to you by 9 contributors, according to git shortlog -sn --no-merges @​ ^v2.13.13 ^2.12.x. Thank you A. P. Marki, Lukas Rytz, Seth Tisue, Scala Steward, Jamie Thompson, Antoine Amiguet, Heikki Vesalainen, Robert Stoll, guqicun.
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 scalasetting in your Scala CLI project - Bump the 
scalaVersionsetting in your sbt or Mill project - Download a distribution from scala-lang.org
 - Obtain JARs via Maven Central
 
v2.13.13: Scala 2.13.13
The Scala team at Lightbend is pleased to announce Scala 2.13.13.
The following changes are highlights of this release:
Language
- Support binary integer literals using 
0b, as in Java (#10656 by @som-snytt) 
Compatibility
- TASTy reader: support Scala 3.4 (#10670 by @bishabosha)
 - Support certain Java libraries compiled on JDK 21 (#10675 by @SethTisue)
 - For JDK 22 support, upgrade to ASM 9.6 (#10576 by @Philippus)
 
Align with Scala 3
- Allow either 
-Xsource:3(for preparing to switch to 3) or-Xsource:3-cross(for crossbuilding on 2 and 3); some existing users of-Xsource:3should switch to-Xsource:3-crossto avoid unwanted behavior changes (#10573 by @som-snytt)- A new section in the Scala 3 Migration Guide documents 
-Xsource:3and-Xsource:3-cross: documentation 
 - A new section in the Scala 3 Migration Guide documents 
 - For migration to 3, accommodate case companion as function (#10648 by @som-snytt)
 - Scala 3 migration warning for implicits found in package prefix (#10621 by @lrytz)
 
Other improvements
- 
-Yreleasesupplements-release, allows access to additional JVM packages (#10543 by @som-snytt) - 
-Xlintnow enables-Xlint:named-booleansto lint unnamed boolean literal args (#10612 by @som-snytt) - Respect 
java.lang.Deprecatedannotation even in Scala sources (#10517 by @kapunga) - Optimize tail recursion on effectively final methods even when 
finalkeyword is absent (#10629 by @som-snytt) - Add 
-Xlint:pattern-shadowto lint pattern varids which are backquotable (#8806 by @som-snytt) - In mixed compilation, allow Java sources to reference 
MODULE$(#10644 by @som-snytt) - Scaladoc: re-align 
-doc-source-urlbehavior with 2.12 (#10581 by @lrytz) 
Known issues
- When upgrading to 2.13.13, existing users of 
-Xsource:3should explicitly consider switching to-Xsource:3-cross. Some behaviors of-Xsource:3have changed, e.g. in result type inference for inherited methods; see new doc page for details - Some library authors who were already using 
-Xsource:3are getting MiMa failures when upgrading to 2.13.13 and switching from-Xsource:3to-Xsource:3-cross. If you’re in this situation, you may need to wait for 2.13.14; see scala/bug#12961 - Users of sbt must upgrade to sbt 1.9.9 to use the 
consoletask to access the 2.13.13 REPL (sbt/sbt#7502); error message isNoSuchMethodError: org.jline.utils.AttributedString.fromAnsi - Regression: Scaladoc generation may fail if you are using the TASTy reader to access Scala 3 dependencies (scala/bug#12955); error message is "Unsupported Scala 3 generic tuple type"; we'll fix it in 2.13.14
 - Regression: on JDK 11 (but not 8 or 17 or 21), the REPL prints a harmless "illegal reflective access" warning at startup (scala/bug#12957); we'll fix it in 2.13.14
 - The inclusion of 
-Xlint:named-booleansin-Xlint(#10612) has already proved at least somewhat controversial, and will likely be adjusted for 2.13.14; you can leave feedback on this at #10704 
More changes
For the complete 2.13.13 change lists, see all merged MRs and all closed bugs.
Compatibility
As usual for our minor releases, Scala 2.13.13 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 many of the improvements in this release.
This release was brought to you by 23 contributors, according to git shortlog -sn --no-merges @​ ^v2.13.12 ^2.12.x. Thank you A. P. Marki, Lukas Rytz, Jamie Thompson, Seth Tisue, Scala Steward, friendseeker, Paul J Thordarson, Philippus Baalman, Shardul Chiplunkar, Stefan Zeiger, Dale Wijnand, Dmitry Komanov, Eugene Yokota, Georgi Krastev, GerretS, Jason Zaugg, Martijn, Mohammad Yousuf Minhaj Zia, Roberto Tyley, Ryan Scheidter, Trey Cahill, c, Dependabot.
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 scalasetting in your Scala CLI project - Bump the 
scalaVersionsetting in your sbt or Mill project - Download a distribution from scala-lang.org
 - Obtain JARs via Maven Central
 
v2.13.12: 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 
-quickfixcompiler 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:3as fatal warnings, not errors (#10439 by @som-snytt, #10511)- 
-Xmigrationwill demote the errors to warnings - 
-Wconf:cat=scala3-migration:swill silence these errors/warnings altogether 
 - 
 - Warn about 
@elidableunder-Xsource:3(#10377 by @som-snytt) 
Collections
- 
IndexedSeq#headnow throwsNoSuchElementException(notIndexOutOfBoundsException) (#10392 by @som-snytt) 
Regression fixes
- Deduplicate 
JavaDeprecatedAttrinClassfileParser(#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 MRs 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 scalasetting in your Scala CLI project - Bump the 
scalaVersionsetting in your sbt or Mill project - Download a distribution from scala-lang.org
 - Obtain JARs via Maven Central
 
v2.13.11: Scala 2.13.11
The Scala team at Lightbend is pleased to announce Scala 2.13.11.
The following changes are highlights of this release:
Collections
- Faster 
Vectorconcatenation (#10159 by @ansvonwa) - New 
LinkedHashMap/LinkedHashSetimplementation (#10221 by @liang3zy22) 
Compatibility
- Support JDK 20 and 21 by upgrading to ASM 9.5 (#10363, #10184 by @Philippus)
 - Fix crash reading JDK 21 classfiles (#10397)
 - Support Java 17 
sealedin Java sources and classfiles (#10348, #10105 by @som-snytt) - Support Scala 3.3 in TASTy reader (#10299 by @bishabosha)
 
Align with Scala 3
- Accept 
implicit _,implicit (x: Int)in lambdas, like Scala 3 does (#10327 by @som-snytt) - Deprecate infix type args, as they are dropped in Scala 3 (#10255 by @som-snytt)
 - Allow eta-expansion of methods with dependent types (#10166)
 - Abstract parent 
copydoes not suspend casecopy(#10085 by @som-snytt) - Don't GLB binders of type patterns, use the type directly (#10247)
 - Under 
-Xsource:3, warn that inherited members no longer take precedence over outer definitions in Scala 3 (#10220, #10339) - Under 
-Xsource:3, adjust 2.13.9 change to ignore override type for whitebox macro expansion (#10188 by @som-snytt) - Under 
-Xsource:3, use narrowest type for pt of override (#10198 by @som-snytt) - Under 
-Xsource:3, warn about change to parenless lambda parens (#10320 by @som-snytt) 
Lints and warnings
- Lint select from 
Unit, orIntthat incurs widening (#10372 by @som-snytt) - Lint for integral divisions that are widened to a float (#10369 by @som-snytt)
 - Lint if args adapted to 
Unitand discarded (#10150 by @som-snytt) - Warn that implicit should have explicit type (#10083 by @som-snytt)
 
Other notable changes
- Disallow mixins where super calls bind to vals (#10268)
 - Make scalac's argument-file processing more like javac's in handling spaces and line breaks (#10319 by @som-snytt)
 - Bump JLine and JNA versions (#10318)
 - 
javabootclasspathsupersedesjrt(#10336 by @som-snytt) - Report total errors on stderr (#10272 by @som-snytt)
 - Fix pathologically slow compilation of some pattern matches since 2.13.7 (#10258 by @KisaragiEffective)
 - Provide 
equalsandhashCodeonIterableWrapperagain (fixing 2.13.9 regression) (#10205 by @som-snytt) - Improvements to 
-Vimplicits; errors now show complete implicit search tree (#9944 by @tribbloid) - 
-Vprintdefaults to-Vprint:typer; phases may be prefixed with~to mean "before and after" (#10173 by @som-snytt) 
2.13.11 also includes the changes from Scala 2.12.18. (A few of the most significant, such as those involving JDK 20 and 21 compatibility, are listed above.)
For the complete 2.13.11 change lists, see all merged MRs and all closed bugs.
Known issues
A few regressions have been discovered:
- Exhaustivity checker emits spurious warning when matching on Java enum type (2.13.11 regression) (scala/bug#12800)
 - Duplicated 
@Deprecatedannotations when extending Java interface with deprecated default method causejava.lang.annotation.AnnotationFormatErrorwhen accessed via Java reflection (2.13.11 regression) (scala/bug#12799) 
We'll address these in Scala 2.13.12.
Compatibility
As usual for our minor releases, Scala 2.13.11 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 28 contributors, according to git shortlog -sn --no-merges @​ ^v2.13.10 ^2.12.x. Thank you A. P. Marki, Lukas Rytz, Seth Tisue, Anselm von Wangenheim, Scala Steward, Liang Yan, Jamie Thompson, jxnu-liguobin, AminMal, Jason Zaugg, Kenji Yoshida, Rituraj, ashish, Chris Kipp, Dale Wijnand, Francesco Kriegel, Georgi Chochov, Goooler, João Costa, Kisaragi Marine, Rafał Sumisławski, Ruslans Tarasovs, Simon R, Sébastien Doeraene, Tomasz Godzik, Zhang Zhipeng, danarmak, hepin.p.
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 
scalaVersionsetting in your sbt project - Bump the 
using scalasetting in your Scala-CLI project - Download a distribution from scala-lang.org
 - Obtain JARs via Maven Central
 
Configuration
- 
If you want to rebase/retry this MR, check this box  
This MR has been generated by Renovate Bot.