-
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
Closed
Closed
Changes from all commits
Commits
Show all changes
13 commits
Select commit
Hold shift + click to select a range
83d2661
wip
SethTisue f47b6a6
Scala 2.13.11 draft release notes
SethTisue 0e60d70
Update releases/2.13.11.md
SethTisue bb485e9
Update releases/2.13.11.md
SethTisue 56d5f91
fix
SethTisue 3e786e5
Update 2.13.11.md
SethTisue df1db04
Update 2.13.11.md
SethTisue 8b8b080
take Som suggestion
SethTisue 8462399
update credits
SethTisue a001fcb
add bullet for Scala 3.3 support in TASTy reader
SethTisue f8ef0b6
backquotes
SethTisue c8f13aa
add 'Known issues' section
SethTisue 41dc7c7
adjust
SethTisue File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 been discovered: | ||
|
||
* 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 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://github.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://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) |
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.