Closed renovate[bot] closed 9 months ago
Because you closed this PR without merging, Renovate will ignore this update (2.13.12
). You will get a PR once a newer version is released. To ignore this dependency forever, add it to the ignoreDeps
array of your Renovate config.
If you accidentally closed this PR, or if you changed your mind: rename this PR to get a fresh replacement PR.
This PR contains the following updates:
2.12.18
->2.13.12
Release Notes
scala/scala (scala)
### [`v2.13.12`](https://togithub.com/scala/scala/releases/tag/v2.13.12): Scala 2.13.12 [Compare Source](https://togithub.com/scala/scala/compare/v2.13.11...v2.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](https://togithub.com/scala/scala/pull/10406) by [@eed3si9n](https://togithub.com/eed3si9n)) - Add `-quickfix` compiler option to apply quickfixes to source files ([#10482](https://togithub.com/scala/scala/pull/10482) by [@lrytz](https://togithub.com/lrytz)) - Add quickfixes to some warnings and errors ([#10484](https://togithub.com/scala/scala/pull/10484) by [@lrytz](https://togithub.com/lrytz)) ##### Align with Scala 3 - Emit migration warnings under `-Xsource:3` as fatal warnings, not errors ([#10439](https://togithub.com/scala/scala/pull/10439) by [@som-snytt](https://togithub.com/som-snytt), [#10511](https://togithub.com/scala/scala/pull/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](https://togithub.com/scala/scala/pull/10377) by [@som-snytt](https://togithub.com/som-snytt)) ##### Collections - `IndexedSeq#head` now throws `NoSuchElementException` (not `IndexOutOfBoundsException`) ([#10392](https://togithub.com/scala/scala/pull/10392) by [@som-snytt](https://togithub.com/som-snytt)) ##### Regression fixes - Deduplicate `JavaDeprecatedAttr` in `ClassfileParser` ([#10422](https://togithub.com/scala/scala/pull/10422) by [@som-snytt](https://togithub.com/som-snytt)) - Avoid brittle flags encoding for Java enums ([#10424](https://togithub.com/scala/scala/pull/10424) by [@som-snytt](https://togithub.com/som-snytt)) ##### Scaladoc tool changes Library authors should be aware that the behavior of `-doc-source-url` has changed, as follows: - [https://github.com/scala/bug/issues/12867](https://togithub.com/scala/bug/issues/12867) 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. - In-source sbt compiler bridge ([#10472](https://togithub.com/scala/scala/pull/10472) by [@lrytz](https://togithub.com/lrytz)) ##### Other notable changes For the complete 2.13.12 change lists, see [all merged PRs](https://togithub.com/scala/scala/pulls?q=is%3Amerged%20milestone%3A2.13.12) and [all closed bugs](https://togithub.com/scala/bug/issues?utf8=%E2%9C%93\&q=is%3Aclosed+milestone%3A2.13.12). #### Compatibility As usual for our minor releases, Scala 2.13.12 is [binary-compatible](https://docs.scala-lang.org/overviews/core/binary-compatibility-of-scala-releases.html) 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](https://www.lightbend.com/scala) for their continued sponsorship of the Scala 2 team’s efforts. Lightbend offers [commercial support](https://www.lightbend.com/lightbend-platform-subscription) for Scala. #### Scala 2.13 notes The [release notes for Scala 2.13.0](https://togithub.com/scala/scala/releases/v2.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](https://scala-lang.org/download/2.13.12.html) - Obtain JARs via [Maven Central](https://search.maven.org/search?q=g:org.scala-lang%20AND%20v:2.13.12) ### [`v2.13.11`](https://togithub.com/scala/scala/releases/tag/v2.13.11): Scala 2.13.11 [Compare Source](https://togithub.com/scala/scala/compare/v2.13.10...v2.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 `Vector` concatenation ([#10159](https://togithub.com/scala/scala/pull/10159) by [@ansvonwa](https://togithub.com/ansvonwa)) - New `LinkedHashMap`/`LinkedHashSet` implementation ([#10221](https://togithub.com/scala/scala/pull/10221) by [@liang3zy22](https://togithub.com/liang3zy22)) ##### Compatibility - Support JDK 20 and 21 by upgrading to ASM 9.5 ([#10363](https://togithub.com/scala/scala/pull/10363), [#10184](https://togithub.com/scala/scala/pull/10184) by [@Philippus](https://togithub.com/Philippus)) - Fix crash reading JDK 21 classfiles ([#10397](https://togithub.com/scala/scala/pull/10397)) - Support Java 17 `sealed` in Java sources and classfiles ([#10348](https://togithub.com/scala/scala/pull/10348), [#10105](https://togithub.com/scala/scala/pull/10105) by [@som-snytt](https://togithub.com/som-snytt)) - Support Scala 3.3 in TASTy reader ([#10299](https://togithub.com/scala/scala/pull/10299) by [@bishabosha](https://togithub.com/bishabosha)) ##### Align with Scala 3 - Accept `implicit _`, `implicit (x: Int)` in lambdas, like Scala 3 does ([#10327](https://togithub.com/scala/scala/pull/10327) by [@som-snytt](https://togithub.com/som-snytt)) - Deprecate infix type args, as they are dropped in Scala 3 ([#10255](https://togithub.com/scala/scala/pull/10255) by [@som-snytt](https://togithub.com/som-snytt)) - Allow eta-expansion of methods with dependent types ([#10166](https://togithub.com/scala/scala/pull/10166)) - Abstract parent `copy` does not suspend case `copy` ([#10085](https://togithub.com/scala/scala/pull/10085) by [@som-snytt](https://togithub.com/som-snytt)) - Don't GLB binders of type patterns, use the type directly ([#10247](https://togithub.com/scala/scala/pull/10247)) - Under `-Xsource:3`, warn that inherited members no longer take precedence over outer definitions in Scala 3 ([#10220](https://togithub.com/scala/scala/pull/10220), [#10339](https://togithub.com/scala/scala/pull/10339)) - Under `-Xsource:3`, adjust 2.13.9 change to ignore override type for whitebox macro expansion ([#10188](https://togithub.com/scala/scala/pull/10188) by [@som-snytt](https://togithub.com/som-snytt)) - Under `-Xsource:3`, use narrowest type for pt of override ([#10198](https://togithub.com/scala/scala/pull/10198) by [@som-snytt](https://togithub.com/som-snytt)) - Under `-Xsource:3`, warn about change to parenless lambda parens ([#10320](https://togithub.com/scala/scala/pull/10320) by [@som-snytt](https://togithub.com/som-snytt)) ##### Lints and warnings - Lint select from `Unit`, or `Int` that incurs widening ([#10372](https://togithub.com/scala/scala/pull/10372) by [@som-snytt](https://togithub.com/som-snytt)) - Lint for integral divisions that are widened to a float ([#10369](https://togithub.com/scala/scala/pull/10369) by [@som-snytt](https://togithub.com/som-snytt)) - Lint if args adapted to `Unit` and discarded ([#10150](https://togithub.com/scala/scala/pull/10150) by [@som-snytt](https://togithub.com/som-snytt)) - Warn that implicit should have explicit type ([#10083](https://togithub.com/scala/scala/pull/10083) by [@som-snytt](https://togithub.com/som-snytt)) ##### Other notable changes - Disallow mixins where super calls bind to vals ([#10268](https://togithub.com/scala/scala/pull/10268)) - Make scalac's argument-file processing more like javac's in handling spaces and line breaks ([#10319](https://togithub.com/scala/scala/pull/10319) by [@som-snytt](https://togithub.com/som-snytt)) - Bump JLine and JNA versions ([#10318](https://togithub.com/scala/scala/pull/10318)) - `javabootclasspath` supersedes `jrt` ([#10336](https://togithub.com/scala/scala/pull/10336) by [@som-snytt](https://togithub.com/som-snytt)) - Report total errors on stderr ([#10272](https://togithub.com/scala/scala/pull/10272) by [@som-snytt](https://togithub.com/som-snytt)) - Fix pathologically slow compilation of some pattern matches since 2.13.7 ([#10258](https://togithub.com/scala/scala/pull/10258) by [@KisaragiEffective](https://togithub.com/KisaragiEffective)) - Provide `equals` and `hashCode` on `IterableWrapper` again (fixing 2.13.9 regression) ([#10205](https://togithub.com/scala/scala/pull/10205) by [@som-snytt](https://togithub.com/som-snytt)) - Improvements to `-Vimplicits`; errors now show complete implicit search tree ([#9944](https://togithub.com/scala/scala/pull/9944) by [@tribbloid](https://togithub.com/tribbloid)) - `-Vprint` defaults to `-Vprint:typer`; phases may be prefixed with `~` to mean "before and after" ([#10173](https://togithub.com/scala/scala/pull/10173) by [@som-snytt](https://togithub.com/som-snytt)) 2.13.11 also includes the [changes from Scala 2.12.18](https://togithub.com/scala/scala/releases/v2.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 PRs](https://togithub.com/scala/scala/pulls?q=is%3Amerged%20milestone%3A2.13.11) and [all closed bugs](https://togithub.com/scala/bug/issues?utf8=%E2%9C%93\&q=is%3Aclosed+milestone%3A2.13.11). #### 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](https://togithub.com/scala/bug/issues/12800)) - Duplicated `@Deprecated` annotations when extending Java interface with deprecated default method cause `java.lang.annotation.AnnotationFormatError` when accessed via Java reflection (2.13.11 regression) ([scala/bug#12799](https://togithub.com/scala/bug/issues/12799)) We'll address these in Scala 2.13.12. #### Compatibility As usual for our minor releases, Scala 2.13.11 is [binary-compatible](https://docs.scala-lang.org/overviews/core/binary-compatibility-of-scala-releases.html) 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](https://www.lightbend.com/scala) for their continued sponsorship of the Scala 2 team’s efforts. Lightbend offers [commercial support](https://www.lightbend.com/lightbend-platform-subscription) for Scala. #### Scala 2.13 notes The [release notes for Scala 2.13.0](https://togithub.com/scala/scala/releases/v2.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 project - Bump the `using scala` setting in your Scala-CLI project - Download a distribution from [scala-lang.org](https://scala-lang.org/download/2.13.11.html) - Obtain JARs via [Maven Central](https://search.maven.org/search?q=g:org.scala-lang%20AND%20v:2.13.11) ### [`v2.13.10`](https://togithub.com/scala/scala/releases/tag/v2.13.10): Scala 2.13.10 [Compare Source](https://togithub.com/scala/scala/compare/v2.13.9...v2.13.10) The Scala team at Lightbend is pleased to announce the availability of Scala 2.13.10. The following changes are highlights of this release: ##### Binary compatibility regression fixed - Fix 2.13.9 regression which broke binary compatibility of case classes which are also value classes ([#10155](https://togithub.com/scala/scala/pull/10155)) Library maintainers should avoid publishing libraries using Scala 2.13.9. ##### Other notable changes - Fix 2.13.9 regression in linting, causing spurious "variable x is never used" warnings ([#10154](https://togithub.com/scala/scala/pull/10154)) - `-Xsource:3` now respects refinements by whitebox macro overrides ([#10160](https://togithub.com/scala/scala/pull/10160) by [@som-snytt](https://togithub.com/som-snytt)) - Scaladoc tool: fix parsing bug which could cause very slow performance or incorrect output ([#10175](https://togithub.com/scala/scala/pull/10175) by [@liang3zy22](https://togithub.com/liang3zy22)) - Restore `-Vprint-args`, for echoing arguments provided to compiler ([#10164](https://togithub.com/scala/scala/pull/10164) by [@som-snytt](https://togithub.com/som-snytt)) For the complete 2.13.10 change lists, see [all merged PRs](https://togithub.com/scala/scala/pulls?q=is%3Amerged%20milestone%3A2.13.10) and [all closed bugs](https://togithub.com/scala/bug/issues?utf8=%E2%9C%93\&q=is%3Aclosed+milestone%3A2.13.10). #### Compatibility As usual for our minor releases, Scala 2.13.10 is [binary-compatible](https://docs.scala-lang.org/overviews/core/binary-compatibility-of-scala-releases.html) 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 an especially large share of the improvements in this release. This release was brought to you by 6 contributors, according to `git shortlog -sn --no-merges @ ^v2.13.9 ^2.12.x`. Thank you A. P. Marki, Liang Yan, Seth Tisue, Antoine Parent, Luc Henninger, 梦境迷离. Thanks to [Lightbend](https://www.lightbend.com/scala) for their continued sponsorship of the Scala core team’s efforts. Lightbend offers [commercial support](https://www.lightbend.com/lightbend-platform-subscription) for Scala. #### Scala 2.13 notes The [release notes for Scala 2.13.0](https://togithub.com/scala/scala/releases/v2.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](https://scala-lang.org/download/2.13.10.html) - Obtain JARs via [Maven Central](https://search.maven.org/search?q=g:org.scala-lang%20AND%20v:2.13.10) ### [`v2.13.9`](https://togithub.com/scala/scala/releases/tag/v2.13.9): Scala 2.13.9 [Compare Source](https://togithub.com/scala/scala/compare/v2.13.8...v2.13.9) The following changes are highlights of this release: ##### Regression Library maintainers should avoid publishing libraries using Scala 2.13.9. Please use [2.13.10](https://togithub.com/scala/scala/releases/v2.13.10) instead. 2.13.9 has a [regression](https://togithub.com/scala/bug/issues/12650) where binary-incompatible bytecode is emitted for case classes which are also value classes (`case class ... extends AnyVal`). ##### Compatibility with Scala 3 - Tasty Reader: Add support for Scala 3.2 ([#10068](https://togithub.com/scala/scala/pull/10068)) - Tasty Reader: Restrict access to experimental definitions ([#10020](https://togithub.com/scala/scala/pull/10020)) - To aid cross-building, accept and ignore `using` in method calls ([#10064](https://togithub.com/scala/scala/pull/10064) by [@som-snytt](https://togithub.com/som-snytt)) - To aid cross-building, allow `?` as a wildcard even without `-Xsource:3` ([#9990](https://togithub.com/scala/scala/pull/9990)) - Make Scala-3-style implicit resolution explicitly opt-in rather than bundled in `-Xsource:3` ([#10012](https://togithub.com/scala/scala/pull/10012) by [@povder](https://togithub.com/povder)) - Prefer type of overridden member when inferring (under `-Xsource:3`) ([#9891](https://togithub.com/scala/scala/pull/9891) by [@som-snytt](https://togithub.com/som-snytt)) ##### JDK version support - Make `-release` more useful, deprecate `-target`, align with Scala 3 ([#9982](https://togithub.com/scala/scala/pull/9982) by [@som-snytt](https://togithub.com/som-snytt)) - Support JDK 19 ([#10001](https://togithub.com/scala/scala/pull/10001) by [@Philippus](https://togithub.com/Philippus)) ##### Warnings and lints - Add `-Wnonunit-statement` to warn about discarded values in statement position ([#9893](https://togithub.com/scala/scala/pull/9893) by [@som-snytt](https://togithub.com/som-snytt)) - Make unused-import warnings easier to silence (support filtering by `origin=`) ([#9939](https://togithub.com/scala/scala/pull/9939) by [@som-snytt](https://togithub.com/som-snytt)) - Add `-Wperformance` lints for `*Ref` boxing and nonlocal `return` ([#9889](https://togithub.com/scala/scala/pull/9889) by [@som-snytt](https://togithub.com/som-snytt)) ##### Language improvements - Improve support for Unicode supplementary characters in identifiers and string interpolation ([#9805](https://togithub.com/scala/scala/pull/9805) by [@som-snytt](https://togithub.com/som-snytt)) ##### Compiler options - Use subcolon args to simplify optimizer options ([#9810](https://togithub.com/scala/scala/pull/9810) by [@som-snytt](https://togithub.com/som-snytt)) - For troubleshooting compiler, add `-Vdebug-type-error` (and remove `-Yissue-debug`) ([#9824](https://togithub.com/scala/scala/pull/9824) by [@tribbloid](https://togithub.com/tribbloid)) ##### Security - Error on source files with Unicode directional formatting characters ([#10017](https://togithub.com/scala/scala/pull/10017)) - Prevent `Function0` execution during `LazyList` deserialization ([#10118](https://togithub.com/scala/scala/pull/10118)) ##### Bugfixes - Emit all bridge methods non-final (perhaps affecting serialization compat) ([#9976](https://togithub.com/scala/scala/pull/9976)) - Fix null-pointer regression in `Vector#prependedAll` and `Vector#appendedAll` ([#9983](https://togithub.com/scala/scala/pull/9983)) - Improve concurrent behavior of Java `ConcurrentMap` wrapper ([#10027](https://togithub.com/scala/scala/pull/10027) by [@igabaydulin](https://togithub.com/igabaydulin)) - Preserve null policy in wrapped Java `Map`s ([#10129](https://togithub.com/scala/scala/pull/10129) by [@som-snytt](https://togithub.com/som-snytt)) Changes that shipped in Scala 2.12.16 and 2.12.17 are also included in this release. For the complete 2.13.9 change lists, see [all merged PRs](https://togithub.com/scala/scala/pulls?q=is%3Amerged%20milestone%3A2.13.9) and [all closed bugs](https://togithub.com/scala/bug/issues?utf8=%E2%9C%93\&q=is%3Aclosed+milestone%3A2.13.9). #### Compatibility As usual for our minor releases, Scala 2.13.9 is [binary-compatible](https://docs.scala-lang.org/overviews/core/binary-compatibility-of-scala-releases.html) 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 an especially large share of the improvements in this release. This release was brought to you by 27 contributors, according to `git shortlog -sn --no-merges @ ^v2.13.8 ^2.12.x`. Thank you A. P. Marki, Lukas Rytz, Seth Tisue, Jamie Thompson, Sébastien Doeraene, Scala Steward, Georgi Krastev, Jason Zaugg, Philippus, Balys Anikevicius, Gilad Hoch, NthPortal, Zhang Zhipeng, Arman Bilge, Dale Wijnand, Dominik Helm, Eric Huang, Guillaume Martres, Harrison Houghton, Krzysztof Pado, Michał Pałka, Zeeshan Arif, counter2015, jxnu-liguobin, mcallisto, naveen, philwalk. Thanks to [Lightbend](https://www.lightbend.com/scala) for their continued sponsorship of the Scala core team’s efforts. Lightbend offers [commercial support](https://www.lightbend.com/lightbend-platform-subscription) for Scala. #### Scala 2.13 notes The [release notes for Scala 2.13.0](https://togithub.com/scala/scala/releases/v2.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](https://scala-lang.org/download/2.13.9.html) - Obtain JARs via [Maven Central](https://search.maven.org/search?q=g:org.scala-lang%20AND%20v:2.13.9) ### [`v2.13.8`](https://togithub.com/scala/scala/releases/tag/v2.13.8): Scala 2.13.8 [Compare Source](https://togithub.com/scala/scala/compare/v2.13.7...v2.13.8) The Scala team at Lightbend is pleased to announce the availability of Scala 2.13.8. This is a modest, incremental release focused on addressing regressions in 2.13.7. ##### Highlights - Make REPL work again on Mac M1 (upgrade JLine & JNA) ([#9807](https://togithub.com/scala/scala/pull/9807) by [@SethTisue](https://togithub.com/SethTisue)) - Fix slicing of views of `IndexedSeq`s (including fixing 2.13.7 `reverseIterator` regression) ([#9799](https://togithub.com/scala/scala/pull/9799) by [@som-snytt](https://togithub.com/som-snytt)) - Fix 2.13.7 regression in implicit resolution ([#9829](https://togithub.com/scala/scala/pull/9829) by [@joroKr21](https://togithub.com/joroKr21)) - Fix 2.13.7 `releaseFence` regression affecting GraalVM compatibility ([#9825](https://togithub.com/scala/scala/pull/9825) by [@lrytz](https://togithub.com/lrytz)) - Fix 2.13.7 regression affecting wildcards and F-bounded types ([#9806](https://togithub.com/scala/scala/pull/9806) by [@joroKr21](https://togithub.com/joroKr21)) A few small changes that will ship in 2.12.16 are also included in this release. For the complete 2.13.8 change lists, see [all merged PRs](https://togithub.com/scala/scala/pulls?q=is%3Amerged%20milestone%3A2.13.8) and [all closed bugs](https://togithub.com/scala/bug/issues?utf8=%E2%9C%93\&q=is%3Aclosed+milestone%3A2.13.8). #### Compatibility As usual for our minor releases, Scala 2.13.8 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 8 contributors, according to `git shortlog -sn --no-merges @ ^v2.13.7 ^2.12.x`. Thank you A. P. Marki, Seth Tisue, Georgi Krastev, Jason Zaugg, Lukas Rytz, Martijn Hoekstra, Philippus Baalman, Chris Kipp. Thanks to [Lightbend](https://www.lightbend.com/scala) for their continued sponsorship of the Scala core team’s efforts. Lightbend offers [commercial support](https://www.lightbend.com/lightbend-platform-subscription) for Scala. #### Scala 2.13 notes The [release notes for Scala 2.13.0](https://togithub.com/scala/scala/releases/v2.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](https://scala-lang.org/download/2.13.8.html) - Obtain JARs via [Maven Central](https://search.maven.org/search?q=g:org.scala-lang%20AND%20v:2.13.8) ### [`v2.13.7`](https://togithub.com/scala/scala/releases/tag/v2.13.7): Scala 2.13.7 [Compare Source](https://togithub.com/scala/scala/compare/v2.13.6...v2.13.7) 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](https://togithub.com/scala/scala/pull/9791) by [@bishabosha](https://togithub.com/bishabosha)) - Allow `import x.{*, given}` under `-Xsource:3` ([#9724](https://togithub.com/scala/scala/pull/9724) by [@smarter](https://togithub.com/smarter)) - Allow `case` in pattern bindings even without `-Xsource:3` ([#9721](https://togithub.com/scala/scala/pull/9721) by [@smarter](https://togithub.com/smarter)) - Deprecate top-level wildcard type parameters ([#9712](https://togithub.com/scala/scala/pull/9712) by [@som-snytt](https://togithub.com/som-snytt)) ##### JDK and Java compatibility - Support JDK 18 ([#9702](https://togithub.com/scala/scala/pull/9702) by [@SethTisue](https://togithub.com/SethTisue)) - Support JDK 16 records in Java sources ([#9551](https://togithub.com/scala/scala/pull/9551) by [@harpocrates](https://togithub.com/harpocrates)) - Allow concrete private interface methods in Java sources ([#9748](https://togithub.com/scala/scala/pull/9748) by [@dengziming](https://togithub.com/dengziming)) - Use `StringConcatFactory` for string concatenation on JDK 9+ ([#9556](https://togithub.com/scala/scala/pull/9556) by [@harpocrates](https://togithub.com/harpocrates)) ##### Android compatibility - Add `ClassValueCompat` to support systems without `java.lang.ClassValue` (such as Android) ([#9752](https://togithub.com/scala/scala/pull/9752) by [@nwk37011](https://togithub.com/nwk37011)) - For Android compatibility, make `Statics.releaseFence()` also catch `NoSuchMethodException` for `java.lang.invoke.VarHandle.releaseFence()` call ([#9739](https://togithub.com/scala/scala/pull/9739) by [@nwk37011](https://togithub.com/nwk37011)) ##### Concurrency - Fix asymmetric failure behavior of `Future#{zip,zipWith,traverse,sequence}` by making them fail fast regardless of ordering ([#9655](https://togithub.com/scala/scala/pull/9655) by [@lihaoyi](https://togithub.com/lihaoyi)) ##### Collections - Make `ArrayBuffer`'s iterator fail fast when buffer is mutated ([#9258](https://togithub.com/scala/scala/pull/9258) by [@NthPortal](https://togithub.com/NthPortal)) - Fix `ArrayOps` bugs (by avoiding `ArraySeq#array`, which does not guarantee element type) ([#9641](https://togithub.com/scala/scala/pull/9641) by [@som-snytt](https://togithub.com/som-snytt)) - Deprecate `IterableOps.toIterable` ([#9774](https://togithub.com/scala/scala/pull/9774) by [@lrytz](https://togithub.com/lrytz)) ##### Other changes - Accept supplementary Unicode characters in identifiers ([#9687](https://togithub.com/scala/scala/pull/9687) by [@som-snytt](https://togithub.com/som-snytt)) - Improve tab completion and code assist in REPL ([#9656](https://togithub.com/scala/scala/pull/9656) by [@retronym](https://togithub.com/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](https://togithub.com/scala/scala/pulls?q=is%3Amerged%20milestone%3A2.13.7) and [all closed bugs](https://togithub.com/scala/bug/issues?utf8=%E2%9C%93\&q=is%3Aclosed+milestone%3A2.13.7). #### 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](https://www.lightbend.com/scala) for their continued sponsorship of the Scala core team’s efforts. Lightbend offers [commercial support](https://www.lightbend.com/lightbend-platform-subscription) for Scala. #### Scala 2.13 notes The [release notes for Scala 2.13.0](https://togithub.com/scala/scala/releases/v2.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](https://scala-lang.org/download/2.13.7.html) - Obtain JARs via [Maven Central](https://search.maven.org/search?q=g:org.scala-lang%20AND%20v:2.13.7) ### [`v2.13.6`](https://togithub.com/scala/scala/releases/tag/v2.13.6): Scala 2.13.6 [Compare Source](https://togithub.com/scala/scala/compare/v2.13.5...v2.13.6) The Scala 2 team at Lightbend is pleased to announce the availability of Scala 2.13.6. ##### Highlights - TASTy Reader support for Scala 3.0.0 ([#9617](https://togithub.com/scala/scala/pull/9617) by [@bishabosha](https://togithub.com/bishabosha)) - The [splain compiler plugin](https://togithub.com/tek/splain) by [@tek](https://togithub.com/tek) was integrated into the compiler, available with the `-Vimplicits` and `-Vtype-diffs` flags ([#7785](https://togithub.com/scala/scala/pull/7785)) - Escaped double quotes now work as expected in string interpolations, both `s"\""` and `s"$""` ([#8830](https://togithub.com/scala/scala/pull/8830) by [@eed3si9n](https://togithub.com/eed3si9n) and [#9536](https://togithub.com/scala/scala/pull/9536) by [@martijnhoekstra](https://togithub.com/martijnhoekstra)) ##### Other Changes - Optimized `BigInt` implementation ([#9628](https://togithub.com/scala/scala/pull/9628)) by [@denisrosset](https://togithub.com/denisrosset) - Support JDK15 text blocks in Java parser ([#9548](https://togithub.com/scala/scala/pull/9548)) by [@harpocrates](https://togithub.com/harpocrates) - Stricter override checking for protected Scala members which override Java members ([#9525](https://togithub.com/scala/scala/pull/9525)) by [@kynthus](https://togithub.com/kynthus) - Check `private[this]` members in override checking ([#9542](https://togithub.com/scala/scala/pull/9542)) - More accurate outer checks in patterns ([#9504](https://togithub.com/scala/scala/pull/9504)) - Allow renaming imports from `_root_` ([#9482](https://togithub.com/scala/scala/pull/9482)) by [@som-snytt](https://togithub.com/som-snytt) - Make more annotations extend `ConstantAnnotation` ([9336](https://togithub.com/scala/scala/pull/9336)) by [@BalmungSan](https://togithub.com/BalmungSan) - A number of syntax changes were added to simplify cross-building between Scala 2 and 3 - Don't error (only warn) on symbol literals under `-Xsource:3` ([#9602](https://togithub.com/scala/scala/pull/9602)) - Support writing `&` instead of `with` in types under `-Xsource:3` ([#9594](https://togithub.com/scala/scala/pull/9594)) - Support Scala 3 vararg splice syntax under `-Xsource:3` ([#9584](https://togithub.com/scala/scala/pull/9584)) - Support Scala 3 wildcard and renaming imports under `-Xsource:3` ([#9582](https://togithub.com/scala/scala/pull/9582)) - Allow soft keywords open and infix under `-Xsource:3` ([#9580](https://togithub.com/scala/scala/pull/9580)) - Align leading infix operator with Scala 3 improvements ([#9567](https://togithub.com/scala/scala/pull/9567)) - Support `?` as wildcard marker under `-Xsource:3` ([#9560](https://togithub.com/scala/scala/pull/9560)) - Support case in pattern bindings under `-Xsource:3` ([#9558](https://togithub.com/scala/scala/pull/9558)) - Parse `+_` and `-_` in types as identifiers under `-Xsource:3` to support Scala 3.2 placeholder syntax ([#9605](https://togithub.com/scala/scala/pull/9605)) Some small changes that will ship in 2.12.14 are also included in this release. For the complete 2.13.6 change lists, see [all merged PRs](https://togithub.com/scala/scala/pulls?q=is%3Amerged%20milestone%3A2.13.6) and [all closed bugs](https://togithub.com/scala/bug/issues?utf8=%E2%9C%93\&q=is%3Aclosed+milestone%3A2.13.6). #### Compatibility As usual for our minor releases, Scala 2.13.6 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 HEAD ^v2.13.5 ^2.12.x`. Thank you A. P. Marki, Lukas Rytz, Dale Wijnand, Jamie Thompson, Seth Tisue, 梦境迷离, Guillaume Martres, Martijn Hoekstra, Denis Rosset, Aaron S. Hawley, Kai, Eugene Yokota, Jason Zaugg, Anatolii Kmetiuk, Ikko Ashimine, superseeker13, Eugene Platonov, Diego E. Alonso Blas, Filipe Regadas, Hatano Yuusuke, Luis Miguel Mejía Suárez, Rafał Sumisławski, Alec Theriault, Tom Grigg, Torsten Schmits. Thanks to [Lightbend](https://www.lightbend.com/scala) for their continued sponsorship of the Scala core team’s efforts. Lightbend offers [commercial support](https://www.lightbend.com/lightbend-platform-subscription) for Scala. #### Scala 2.13 notes The [release notes for Scala 2.13.0](https://togithub.com/scala/scala/releases/v2.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](http://scala-lang.org/download/2.13.6.html) - Obtain JARs via [Maven Central](http://search.maven.org/#search%7Cga%7C1%7Cg%3A%22org.scala-lang%22%20AND%20v%3A%222.13.6%22) ### [`v2.13.5`](https://togithub.com/scala/scala/releases/tag/v2.13.5): Scala 2.13.5 [Compare Source](https://togithub.com/scala/scala/compare/v2.13.4...v2.13.5) #### Scala 2.13.5 The Scala 2 team at Lightbend is pleased to announce the availability of Scala 2.13.5. ##### Highlights - TASTy reader: add support for Scala 3.0.0-RC1 ([#9501](https://togithub.com/scala/scala/pull/9501), [#9394](https://togithub.com/scala/scala/pull/9394), [#9357](https://togithub.com/scala/scala/pull/9357)) — thank you [@bishabosha](https://togithub.com/bishabosha)! - Allow name-based extractors to be irrefutable ([#9343](https://togithub.com/scala/scala/pull/9343)) — thank you [@martijnhoekstra](https://togithub.com/martijnhoekstra)! - Upgrade to ASM 9.1, for JDK 16 and 17 support in the optimizer ([#9489](https://togithub.com/scala/scala/pull/9489), [#9480](https://togithub.com/scala/scala/pull/9480)) ##### Other changes - Assorted improvements to exhaustivity checking in pattern matching ([#9479](https://togithub.com/scala/scala/pull/9479), [#9472](https://togithub.com/scala/scala/pull/9472), [#9474](https://togithub.com/scala/scala/pull/9474), [#9313](https://togithub.com/scala/scala/pull/9313), [#9462](https://togithub.com/scala/scala/pull/9462)) - Assorted improvements to handling of higher-kinded types, aligning with Scala 3 ([#9400](https://togithub.com/scala/scala/pull/9400), [#9404](https://togithub.com/scala/scala/pull/9404), [#9405](https://togithub.com/scala/scala/pull/9405), [#9414](https://togithub.com/scala/scala/pull/9414), [#9417](https://togithub.com/scala/scala/pull/9417), [#9439](https://togithub.com/scala/scala/pull/9439)) — thank you [@joroKr21](https://togithub.com/joroKr21)! - Make `-target` support JVM 13, 14, 15, 16, and 17 ([#9489](https://togithub.com/scala/scala/pull/9489), [#9481](https://togithub.com/scala/scala/pull/9481)) - Omit `@nowarn` annotations from generated code, for forwards compatibility at compile-time ([#9491](https://togithub.com/scala/scala/pull/9491)) - Add linting of unused context bounds (via `-Wunused:synthetics` or `-Wunused:params`) ([#9346](https://togithub.com/scala/scala/pull/9346)) — thank you [@som-snytt](https://togithub.com/som-snytt)! - Lift artificial restrictions on `ConstantAnnotation`s ([#9379](https://togithub.com/scala/scala/pull/9379)) - Make Java `Map` wrappers handle nulls according to `put`/`remove` contract ([#9344](https://togithub.com/scala/scala/pull/9344)) — thank you [@som-snytt](https://togithub.com/som-snytt)! - Make language specification available as a PDF ([#7432](https://togithub.com/scala/scala/pull/7432)) — thank you [@sake92](https://togithub.com/sake92)! Some small changes that will ship in 2.12.14 are also included in this release. For complete 2.13.5 change lists, see [all merged PRs](https://togithub.com/scala/scala/pulls?q=is%3Amerged%20milestone%3A2.13.5) and [all closed bugs](https://togithub.com/scala/bug/issues?utf8=%E2%9C%93\&q=is%3Aclosed+milestone%3A2.13.5). #### Compatibility As usual for our minor releases, Scala 2.13.5 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 23 contributors, according to `git shortlog -sn --no-merges HEAD ^v2.13.4 ^2.12.x`. Thank you Seth Tisue, A. P. Marki, Dale Wijnand, NthPortal, Jamie Thompson, Lukas Rytz, Martijn Hoekstra, Georgi Krastev, Jason Zaugg, Jasper Moeys, Sakib Hadziavdic, Anatolii Kmetiuk, Arnaud Gourlay, Marcono1234, Chia-Ping Tsai, Mike Skells, Stefan Zeiger, Waleed Khan, Yann Bolliger, Guillaume Martres, 梦境迷离, Ethan Atkins, Darcy Shen. Thanks to [Lightbend](https://www.lightbend.com/scala) for their continued sponsorship of the Scala core team’s efforts. Lightbend offers [commercial support](https://www.lightbend.com/lightbend-platform-subscription) for Scala. #### Scala 2.13 notes The [release notes for Scala 2.13.0](https://togithub.com/scala/scala/releases/v2.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](http://scala-lang.org/download/2.13.5.html) - Obtain JARs via [Maven Central](http://search.maven.org/#search%7Cga%7C1%7Cg%3A%22org.scala-lang%22%20AND%20v%3A%222.13.5%22) ### [`v2.13.4`](https://togithub.com/scala/scala/releases/tag/v2.13.4): Scala 2.13.4 [Compare Source](https://togithub.com/scala/scala/compare/v2.13.3...v2.13.4) Scala 2.13.4: - Restores default global `ExecutionContext` to 2.12 behavior - Improves pattern matching, especially in exhaustivity checking - Adds experimental support for consuming some libraries built by Scala 3 and more! Details below. ##### Concurrency **NOTE** The following change affects parallelism and performance. If you use `scala.concurrent.ExecutionContext.global` you may want to adapt your code. (But note that Akka is unaffected, because it uses its own execution contexts.) In 2.13.0 we made `ExecutionContext.global` "opportunistic". This enabled "batching" of nested tasks to execute on the same thread, avoiding an expensive context switch. That strategy requires user code to wrap long-running and/or blocking tasks with `blocking { ... }` to maintain parallel execution. For 2.13.4, we restore 2.12's default non-batching behavior, which is safer for arbitrary user code. Users wanting increased performance may override the default, if they believe their code uses `blocking` correctly. We make that choice available via `ExecutionContext.opportunistic`. Using `ExecutionContext.opportunistic` requires a bit of extra boilerplate, made necessary by binary compatibility constraints on the standard library. Detailed instructions are in [ExecutionContext.global's Scaladoc](https://www.scala-lang.org/api/2.13.4/scala/concurrent/ExecutionContext$.html#global:scala.concurrent.ExecutionContextExecutor). Further detail: [#9270](https://togithub.com/scala/scala/pull/9270)/[#9296](https://togithub.com/scala/scala/pull/9296)/[scala/bug#12089](https://togithub.com/scala/bug/issues/12089), ##### Pattern matching The pattern matcher is now much better at warning you if a match isn't exhaustive. The following types of matches no longer disable exhaustivity checking: - guards (`caseConfiguration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR has been generated by Mend Renovate. View repository job log here.