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.9 draft release notes #817

Closed
wants to merge 9 commits into from
Closed
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
79 changes: 79 additions & 0 deletions releases/2.13.9.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
# Scala 2.13.9 (DRAFT)

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

The following changes are highlights of this release:

### Compatibility with Scala 3

* Tasty Reader: Add support for Scala 3.2 ([#10068](https://github.com/scala/scala/pull/10068))
* Tasty Reader: Restrict access to experimental definitions ([#10020](https://github.com/scala/scala/pull/10020))
* To aid cross-building, accept and ignore `using` in method calls ([#10064](https://github.com/scala/scala/pull/10064) by [@som-snytt](https://github.com/som-snytt))
* To aid cross-building, allow `?` as a wildcard even without `-Xsource:3` ([#9990](https://github.com/scala/scala/pull/9990))
* Make Scala-3-style implicit resolution explicitly opt-in rather than bundled in `-Xsource:3` ([#10012](https://github.com/scala/scala/pull/10012) by [@povder](https://github.com/povder))
* Prefer type of overridden member when inferring (under `-Xsource:3`) ([#9891](https://github.com/scala/scala/pull/9891) by [@som-snytt](https://github.com/som-snytt))

### JDK version support

* Make `-release` more useful, deprecate `-target`, align with Scala 3 ([#9982](https://github.com/scala/scala/pull/9982) by [@som-snytt](https://github.com/som-snytt))
* Support JDK 19 ([#10001](https://github.com/scala/scala/pull/10001) by [@Philippus](https://github.com/Philippus))

### Warnings and lints

* Add `-Wnonunit-statement` to warn about discarded values in statement position ([#9893](https://github.com/scala/scala/pull/9893) by [@som-snytt](https://github.com/som-snytt))
* Make unused-import warnings easier to silence (support filtering by `origin=`) ([#9939](https://github.com/scala/scala/pull/9939) by [@som-snytt](https://github.com/som-snytt))
* Add `-Wperformance` lints for `*Ref` boxing and nonlocal `return` ([#9889](https://github.com/scala/scala/pull/9889) by [@som-snytt](https://github.com/som-snytt))

### Language improvements

* Improve support for Unicode supplementary characters in identifiers and string interpolation ([#9805](https://github.com/scala/scala/pull/9805) by [@som-snytt](https://github.com/som-snytt))

### Compiler options

* Use subcolon args to simplify optimizer options ([#9810](https://github.com/scala/scala/pull/9810) by [@som-snytt](https://github.com/som-snytt))
* For troubleshooting compiler, add `-Vdebug-type-error` (and remove `-Yissue-debug`) ([#9824](https://github.com/scala/scala/pull/9824) by [@tribbloid](https://github.com/tribbloid))

### Security

* Error on source files with Unicode directional formatting characters ([#10017](https://github.com/scala/scala/pull/10017))
* Prevent `Function0` execution during `LazyList` deserialization ([#10118](https://github.com/scala/scala/pull/10118))

### Bugfixes

* Emit all bridge methods non-final (perhaps affecting serialization compat) ([#9976](https://github.com/scala/scala/pull/9976))
* Fix null-pointer regression in `Vector#prependedAll` and `Vector#appendedAll` ([#9983](https://github.com/scala/scala/pull/9983))
* Improve concurrent behavior of Java `ConcurrentMap` wrapper
([#10027](https://github.com/scala/scala/pull/10027) by [@igabaydulin](https://github.com/igabaydulin))
* Preserve null policy in wrapped Java `Map`s ([#10129](https://github.com/scala/scala/pull/10129) by [@som-snytt](https://github.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://github.com/scala/scala/pulls?q=is%3Amerged%20milestone%3A2.13.9) and [all closed bugs](https://github.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://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-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)