-
Notifications
You must be signed in to change notification settings - Fork 14
Scala 2.13.11 draft release notes #843
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
Changes from 12 commits
83d2661
f47b6a6
0e60d70
bb485e9
56d5f91
3e786e5
df1db04
8b8b080
8462399
a001fcb
f8ef0b6
c8f13aa
41dc7c7
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,90 @@ | ||
# 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 20 and 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)) | ||
* Fix crash reading JDK 21 classfiles ([#10397](https://github.com/scala/scala/pull/10397)) | ||
* 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)) | ||
* Support Scala 3.3 in TASTy reader ([#10299](https://github.com/scala/scala/pull/10299) by [@bishabosha](https://github.com/bishabosha)) | ||
|
||
### 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)) | ||
* 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`, warn that inherited members no longer take precedence over outer definitions in Scala 3 ([#10220](https://github.com/scala/scala/pull/10220), [#10339](https://github.com/scala/scala/pull/10339)) | ||
* 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)) | ||
|
||
### 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 ([#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
|
||
* `-Vprint` defaults to `-Vprint:typer`; phases may be prefixed with `~` to mean "before and after" ([#10173](https://github.com/scala/scala/pull/10173) by [@som-snytt](https://github.com/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 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). | ||
|
||
## Known issues | ||
|
||
A few regressions have already cropped up: | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. "A few" -> "A murder of" There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Must. Resist. Urge. To. Wax. Poetic. |
||
|
||
* Exhaustivity checker emits spurious warning when matching on Java enum type (2.13.11 regression) ([scala/bug#12800](https://github.com/scala/bug/issues/12800)) | ||
* Duplicated `@Deprecated` annotations when implementing deprecated Java interface cause `java.lang.annotation.AnnotationFormatError` when accessed via Java reflection (2.13.11 regression) ([scala/bug#12799](https://github.com/scala/bug/issues/12799)) | ||
SethTisue marked this conversation as resolved.
Show resolved
Hide resolved
|
||
|
||
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://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) |
Uh oh!
There was an error while loading. Please reload this page.