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.16 release notes (DRAFT) #892

Draft
wants to merge 7 commits into
base: scala-dev
Choose a base branch
from
Draft
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
68 changes: 68 additions & 0 deletions 2.13.16.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
# Scala 2.13.16 (DRAFT)

The Scala team at Akka (formerly Lightbend) is pleased to announce Scala 2.13.16.

The following changes are highlights of this release:

### Breaking change

* On the empty string, `.tail` and `.init` now throw (instead of returning the empty string) ([#10851](https://github.com/scala/scala/pull/10851) by [@sh0hei](https://github.com/sh0hei))
* This is a bugfix, but be aware that existing code might, perhaps inadvertently, be relying on the old behavior

### Compatibility

* Support Scala 3.6 in TASTy reader ([#10893](https://github.com/scala/scala/pull/10893))
* Support JDK 24 in optimizer (via ASM upgrade) ([#10888](https://github.com/scala/scala/pull/10888) by [@Philippus](https://github.com/Philippus))

### REPL

* REPL: JLine 3.27.1 (was 3.26.3) and on Windows use JNA not JNI ([#10899](https://github.com/scala/scala/pull/10899), [#10898](https://github.com/scala/scala/pull/10898), [#10882](https://github.com/scala/scala/pull/10882))
* These upgrades hopefully won't be noticed, but, REPL users on Windows take note

### Align with Scala 3

* Under `-Xsource:3`, deprecate infix named args ([#10857](https://github.com/scala/scala/pull/10857) by [@som-snytt](https://github.com/som-snytt))

### Errors and warnings

* Fix 2.13.15-only false positives with `-Wunused:patvars` ([#10870](https://github.com/scala/scala/pull/10870) by [@som-snytt](https://github.com/som-snytt))

### Collections

* Do not use `rangeHash` when `rangeDiff` is 0 ([#10912](https://github.com/scala/scala/pull/10912) by [@Friendseeker](https://github.com/Friendseeker))
* This may affect fragile code relying on ordering of hash-based collections
* Deprecate `collection.mutable.AnyRefMap` ([#10862](https://github.com/scala/scala/pull/10862) by [@wangyum](https://github.com/wangyum))
* Since Scala 2.13.0 it has no performance advantage over `collection.mutable.HashMap`

### More changes

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

## Compatibility

As usual for our minor releases, Scala 2.13.16 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 many of the improvements in this release.

This release was brought to you by 19 contributors, according to `git shortlog -sn --no-merges @ ^v2.13.15 ^2.12.x`. Thank you A. P. Marki, Seth Tisue, Scala Steward, Lukas Rytz, Friendseeker, Ondra Pelech, Philippus Baalman, Benjamin Maurer, Corey O'Connor, Eric Seidel2, Hamza Remmal, Jamie Thompson, João Costa, Kenji Yoshida, Mathias Kools, Rikito Taniguchi, Yuming Wang, rochala, sh0hei.

Thanks to [Akka](https://akka.io) for their continued sponsorship of the Scala 2 team’s efforts. Akka offers commercial support 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 `using scala` setting in your Scala-CLI project
* Bump the `scalaVersion` setting in your sbt or Mill project
* Download a distribution from [scala-lang.org](https://scala-lang.org/download/2.13.16.html)
* Obtain JARs via [Maven Central](https://search.maven.org/search?q=g:org.scala-lang%20AND%20v:2.13.16)