Skip to content

Scala 2.12.18 release notes #842

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
wants to merge 4 commits into from
Closed
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
47 changes: 47 additions & 0 deletions releases/2.12.18.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
# Scala 2.12.18

This release improves **compatibility**:

* Support JDK 20 and 21 with ASM 9.5 upgrade, by @Philippus ([#10185](https://github.com/scala/scala/pull/10185), [#10362](https://github.com/scala/scala/pull/10362))
* Fix crash reading JDK 21 classfiles ([#10397](https://github.com/scala/scala/pull/10397))

It also aids **migration** to Scala 2.13 and Scala 3:

* Under `-Xsource:2.13`, warn when inherited takes precedence over outer definitions ([#10297](https://github.com/scala/scala/pull/10297), [#10321](https://github.com/scala/scala/pull/10321))
* Under `-Xsource:2.13`, flag eta-expanding methods without parameter lists ([#10283](https://github.com/scala/scala/pull/10283))
* Under `-Xsource:2.13`, don't GLB binders of type patterns, use the type directly ([#10298](https://github.com/scala/scala/pull/10298))

and improves **linting**:

* Lint for integral divisions that are widened to a float ([#10313](https://github.com/scala/scala/pull/10313))

and enables improved **tooling**:

* Preserve tree attachment in the typer's `Block`/`Apply` inversion transform ([#10176](https://github.com/scala/scala/pull/10176))

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

## Compatibility

As usual for our minor releases, Scala 2.12.18 is [binary-compatible](https://docs.scala-lang.org/overviews/core/binary-compatibility-of-scala-releases.html) with the whole Scala 2.12 series.

## 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 6 contributors, according to `git shortlog -sn --no-merges @ ^v2.12.17 ^2.11.x`. Thank you Seth Tisue, Lukas Rytz, Scala Steward, A. P. Marki, Jason Zaugg, Philippus Baalman.

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.12 notes

The [release notes for Scala 2.12.0](https://github.com/scala/scala/releases/v2.12.0) have important information applicable to the whole 2.12 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.12.18.html)
* Obtain JARs via [Maven Central](https://search.maven.org/search?q=g:org.scala-lang%20AND%20v:2.12.18)