Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Scala 2.13.11 draft release notes #843

Closed
wants to merge 13 commits into from
78 changes: 78 additions & 0 deletions releases/2.13.11.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,78 @@
# Scala 2.13.11

The Scala team at Lightbend is pleased to announce the availability of Scala 2.13.11.

The following changes are highlights of this release:

### Collections

* Faster `Vector` concatenation ([#10159](https://github.com/scala/scala/pull/10159) by [@ansvonwa](https://github.com/ansvonwa))
* New `LinkedHashMap`/`LinkedHashSet` implementation ([#10221](https://github.com/scala/scala/pull/10221) by [@liang3zy22](https://github.com/liang3zy22))

### Compatibility

* Support JDK 21 by upgrading to ASM 9.5 ([#10363](https://github.com/scala/scala/pull/10363), [#10184](https://github.com/scala/scala/pull/10184) by [@Philippus](https://github.com/Philippus))
SethTisue marked this conversation as resolved.
Show resolved Hide resolved
* Support Java 17 `sealed` in Java sources and classfiles ([#10348](https://github.com/scala/scala/pull/10348), [#10105](https://github.com/scala/scala/pull/10105) by [@som-snytt](https://github.com/som-snytt)

### Align with Scala 3

* Accept `implicit _`, `implicit (x: Int)` in lambdas, like Scala 3 does ([#10327](https://github.com/scala/scala/pull/10327) by [@som-snytt](https://github.com/som-snytt))
* Inherited members no longer take precedence over outer definitions ([#10220](https://github.com/scala/scala/pull/10220), [#10339](https://github.com/scala/scala/pull/10339))
SethTisue marked this conversation as resolved.
Show resolved Hide resolved
* Deprecate infix type args, as they are dropped in Scala 3 ([#10255](https://github.com/scala/scala/pull/10255) by [@som-snytt](https://github.com/som-snytt))
* Allow eta-expansion of methods with dependent types ([#10166](https://github.com/scala/scala/pull/10166))
* Abstract parent `copy` does not suspend case `copy` ([#10085](https://github.com/scala/scala/pull/10085) by [@som-snytt](https://github.com/som-snytt))
* Don't GLB binders of type patterns, use the type directly ([#10247](https://github.com/scala/scala/pull/10247))
* Under `-Xsource:3`, adjust 2.13.9 change to ignore override type for whitebox macro expansion ([#10188](https://github.com/scala/scala/pull/10188) by [@som-snytt](https://github.com/som-snytt))
* Under `-Xsource:3`, use narrowest type for pt of override ([#10198](https://github.com/scala/scala/pull/10198) by [@som-snytt](https://github.com/som-snytt))
* Under `-Xsource:3`, warn about change to parenless lambda parens ([#10320](https://github.com/scala/scala/pull/10320) by [@som-snytt](https://github.com/som-snytt))
SethTisue marked this conversation as resolved.
Show resolved Hide resolved

### Lints and warnings

* Lint select from Unit, or Int that incurs widening ([#10372](https://github.com/scala/scala/pull/10372) by [@som-snytt](https://github.com/som-snytt))
* Lint for integral divisions that are widened to a float [forward port from 2.12] ([#10369](https://github.com/scala/scala/pull/10369) by [@som-snytt](https://github.com/som-snytt))
* Lint if args adapted to `Unit` and discarded ([#10150](https://github.com/scala/scala/pull/10150) by [@som-snytt](https://github.com/som-snytt))
* Warn that implicit should have explicit type ([#10083](https://github.com/scala/scala/pull/10083) by [@som-snytt](https://github.com/som-snytt))

### Other notable changes

* Disallow mixins where super calls bind to vals ([#10268](https://github.com/scala/scala/pull/10268))
* Make scalac's argument-file processing more like javac's in handling spaces and line breaks ([#10319](https://github.com/scala/scala/pull/10319) by [@som-snytt](https://github.com/som-snytt))
* Bump JLine and JNA versions ([#10318](https://github.com/scala/scala/pull/10318))
* javabootclasspath supersedes jrt ([#10336](https://github.com/scala/scala/pull/10336) by [@som-snytt](https://github.com/som-snytt))
* Report total errors on stderr ([#10272](https://github.com/scala/scala/pull/10272) by [@som-snytt](https://github.com/som-snytt))
* Fix pathologically slow compilation of some pattern matches since 2.13.7 ([#10258](https://github.com/scala/scala/pull/10258) by [@KisaragiEffective](https://github.com/KisaragiEffective))
* Provide `equals` and `hashCode` on `IterableWrapper` again (fixing 2.13.9 regression) ([#10205](https://github.com/scala/scala/pull/10205) by [@som-snytt](https://github.com/som-snytt))
* Improvements to `-Vimplicits`; errors now show complete implicit search tree ([#9944](https://github.com/scala/scala/pull/9944) by [@tribbloid](https://github.com/tribbloid))
SethTisue marked this conversation as resolved.
Show resolved Hide resolved

For the complete 2.13.11 change lists, see [all merged PRs](https://github.com/scala/scala/pulls?q=is%3Amerged%20milestone%3A2.13.11) and [all closed bugs](https://github.com/scala/bug/issues?utf8=%E2%9C%93&q=is%3Aclosed+milestone%3A2.13.11).

## 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 an large share of the improvements in this release.
SethTisue marked this conversation as resolved.
Show resolved Hide resolved

**TODO: update the following paragraph after final PRs are merged**

This release was brought to you by 26 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, Dale Wijnand, Francesco Kriegel, Georgi Chochov, Goooler, João Costa, Kisaragi Marine, Rafał Sumisławski, Ruslans Tarasovs, Simon R, Sébastien Doeraene, 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://github.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)