-
Notifications
You must be signed in to change notification settings - Fork 14
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
SethTisue
wants to merge
7
commits into
scala-dev
Choose a base branch
from
scala-2.13.16
base: scala-dev
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
+68
−0
Draft
Changes from 5 commits
Commits
Show all changes
7 commits
Select commit
Hold shift + click to select a range
52d9b82
Scala 2.13.16 release notes (DRAFT)
SethTisue ec00116
wip
SethTisue 8630797
wip
SethTisue f52299d
wip
SethTisue a52ce6b
formatting/ordering
SethTisue 2b40c78
notes tweak
SethTisue ce10278
Update 2.13.16.md
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 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,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)) | ||
* It no longer has any 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 18 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, 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) |
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.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
"no longer" ... since when?
What is the recommendation for cross-compiling code, where Scala 2.12 performance still matters? (in my case, a lot, since it's linker code loaded through an sbt plugin)
Should we move to
HashMap
anyway, or should we ignore the deprecation with a compiler flag instead?There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
since 2.13.0, as per https://github.com/scala/scala/releases/tag/v2.13.0 — I've pushed an edit to say so
for cross-compiling, I would suggest suppressing the deprecation warning, yes. (I mean if you really wanted you could use version-specific sources...)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
For those interested, here is the config we used to ignore those in bulk: