From 0e3dd896c9694226f29f98fb726c9e22f30d91c5 Mon Sep 17 00:00:00 2001 From: Seth Tisue Date: Fri, 9 Feb 2024 18:33:57 -0800 Subject: [PATCH 01/10] Scala 2.13.13 draft release notes --- releases/2.13.13.md | 65 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 65 insertions(+) create mode 100644 releases/2.13.13.md diff --git a/releases/2.13.13.md b/releases/2.13.13.md new file mode 100644 index 0000000000..cd4703dae8 --- /dev/null +++ b/releases/2.13.13.md @@ -0,0 +1,65 @@ +# Scala 2.13.13 + +The Scala team at Lightbend is pleased to announce Scala 2.13.13. + +The following changes are highlights of this release: + +### Language + +* Support binary integer literals using `0b`, as in Java ([#10656](https://github.com/scala/scala/pull/10656) by [@som-snytt](https://github.com/som-snytt)) + +### Compatibility + +* TASTy reader: support Scala 3.4 ([#10670](https://github.com/scala/scala/pull/10670) by [@bishabosha](https://github.com/bishabosha)) +* Support certain Java libraries compiled on JDK 21 ([#10675](https://github.com/scala/scala/pull/10675) by [@SethTisue](https://github.com/SethTisue)) +* For JDK 22 support, upgrade to ASM 9.6 ([#10576](https://github.com/scala/scala/pull/10576) by [@Philippus](https://github.com/Philippus)) + +### Align with Scala 3 + +* Allow either `-Xsource:3` (for preparing to switch to 3) and `-Xsource:3-cross` (for crossbuilding on 2 and 3) ([#10573](https://github.com/scala/scala/pull/10573) by [@som-snytt](https://github.com/som-snytt)) +* For migration to 3, accommodate case companion as function ([#10648](https://github.com/scala/scala/pull/10648) by [@som-snytt](https://github.com/som-snytt)) +* Scala 3 migration warning for implicits found in package prefix ([#10621](https://github.com/scala/scala/pull/10621) by [@lrytz](https://github.com/lrytz)) + +### Other improvements + +* `-Yrelease` supplements `--release`, allows access to additional JVM packages ([#10543](https://github.com/scala/scala/pull/10543) by [@som-snytt](https://github.com/som-snytt)) +* Add `-Xlint:named-booleans` to lint unnamed boolean literal args [ci: last-only] ([#10612](https://github.com/scala/scala/pull/10612) by [@som-snytt](https://github.com/som-snytt)) +* Respect `java.lang.Deprecated` annotation even in Scala sources ([#10517](https://github.com/scala/scala/pull/10517) by [@kapunga](https://github.com/kapunga)) +* Optimize tail recursion on effectively final methods even when `final` keyword is absent ([#10629](https://github.com/scala/scala/pull/10629) by [@som-snytt](https://github.com/som-snytt)) +* Add `-Xlint:pattern-shadow` to lint pattern varids which are backquotable ([#8806](https://github.com/scala/scala/pull/8806) by [@som-snytt](https://github.com/som-snytt)) +* In mixed compilation, allow Java sources to reference `MODULE$` ([#10644](https://github.com/scala/scala/pull/10644) by [@som-snytt](https://github.com/som-snytt)) +* Scaladoc: re-align `-doc-source-url` behavior with 2.12 ([#10581](https://github.com/scala/scala/pull/10581) by [@lrytz](https://github.com/lrytz)) + +### More changes + +For the complete 2.13.13 change lists, see [all merged PRs](https://github.com/scala/scala/pulls?q=is%3Amerged%20milestone%3A2.13.13) and [all closed bugs](https://github.com/scala/bug/issues?utf8=%E2%9C%93&q=is%3Aclosed+milestone%3A2.13.13). + +## Compatibility + +As usual for our minor releases, Scala 2.13.13 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 22 contributors, according to `git shortlog -sn --no-merges @ ^v2.13.12 ^2.12.x`. Thank you A. P. Marki, Lukas Rytz, Seth Tisue, Scala Steward, friendseeker, Paul J Thordarson, Philippus Baalman, Shardul Chiplunkar, Stefan Zeiger, Dale Wijnand, Dmitry Komanov, Eugene Yokota, Georgi Krastev, GerretS, Jason Zaugg, Martijn, Mohammad Yousuf Minhaj Zia, Roberto Tyley, Ryan Scheidter, Trey Cahill, c, Dependabot. (TODO: redo once TASTy reader PR lands) + +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 `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.13.html) +* Obtain JARs via [Maven Central](https://search.maven.org/search?q=g:org.scala-lang%20AND%20v:2.13.13) + From a2d608f59be58a2dffe307410ca8a77da8d45dd0 Mon Sep 17 00:00:00 2001 From: Seth Tisue Date: Fri, 9 Feb 2024 18:52:29 -0800 Subject: [PATCH 02/10] Update 2.13.13.md --- releases/2.13.13.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/releases/2.13.13.md b/releases/2.13.13.md index cd4703dae8..bafcf36b8b 100644 --- a/releases/2.13.13.md +++ b/releases/2.13.13.md @@ -16,7 +16,7 @@ The following changes are highlights of this release: ### Align with Scala 3 -* Allow either `-Xsource:3` (for preparing to switch to 3) and `-Xsource:3-cross` (for crossbuilding on 2 and 3) ([#10573](https://github.com/scala/scala/pull/10573) by [@som-snytt](https://github.com/som-snytt)) +* Allow either `-Xsource:3` (for preparing to switch to 3) or `-Xsource:3-cross` (for crossbuilding on 2 and 3) ([#10573](https://github.com/scala/scala/pull/10573) by [@som-snytt](https://github.com/som-snytt)) * For migration to 3, accommodate case companion as function ([#10648](https://github.com/scala/scala/pull/10648) by [@som-snytt](https://github.com/som-snytt)) * Scala 3 migration warning for implicits found in package prefix ([#10621](https://github.com/scala/scala/pull/10621) by [@lrytz](https://github.com/lrytz)) From 454c004706494a05ac62cb963e8cb259915044f1 Mon Sep 17 00:00:00 2001 From: Seth Tisue Date: Mon, 12 Feb 2024 08:58:43 -0800 Subject: [PATCH 03/10] update credits --- releases/2.13.13.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/releases/2.13.13.md b/releases/2.13.13.md index bafcf36b8b..36b28242c4 100644 --- a/releases/2.13.13.md +++ b/releases/2.13.13.md @@ -46,7 +46,7 @@ A big thank you to everyone who's helped improve Scala by reporting bugs, improv 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 22 contributors, according to `git shortlog -sn --no-merges @ ^v2.13.12 ^2.12.x`. Thank you A. P. Marki, Lukas Rytz, Seth Tisue, Scala Steward, friendseeker, Paul J Thordarson, Philippus Baalman, Shardul Chiplunkar, Stefan Zeiger, Dale Wijnand, Dmitry Komanov, Eugene Yokota, Georgi Krastev, GerretS, Jason Zaugg, Martijn, Mohammad Yousuf Minhaj Zia, Roberto Tyley, Ryan Scheidter, Trey Cahill, c, Dependabot. (TODO: redo once TASTy reader PR lands) +This release was brought to you by 23 contributors, according to `git shortlog -sn --no-merges @ ^v2.13.12 ^2.12.x`. Thank you A. P. Marki, Lukas Rytz, Jamie Thompson, Seth Tisue, Scala Steward, friendseeker, Paul J Thordarson, Philippus Baalman, Shardul Chiplunkar, Stefan Zeiger, Dale Wijnand, Dmitry Komanov, Eugene Yokota, Georgi Krastev, GerretS, Jason Zaugg, Martijn, Mohammad Yousuf Minhaj Zia, Roberto Tyley, Ryan Scheidter, Trey Cahill, c, Dependabot. (TODO: redo once TASTy reader PR lands) 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. From 545400a678cf71e797d286fd92f2481f0f87a1b3 Mon Sep 17 00:00:00 2001 From: Seth Tisue Date: Mon, 12 Feb 2024 09:01:16 -0800 Subject: [PATCH 04/10] oops --- releases/2.13.13.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/releases/2.13.13.md b/releases/2.13.13.md index 36b28242c4..589d1b39cc 100644 --- a/releases/2.13.13.md +++ b/releases/2.13.13.md @@ -46,7 +46,7 @@ A big thank you to everyone who's helped improve Scala by reporting bugs, improv 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 23 contributors, according to `git shortlog -sn --no-merges @ ^v2.13.12 ^2.12.x`. Thank you A. P. Marki, Lukas Rytz, Jamie Thompson, Seth Tisue, Scala Steward, friendseeker, Paul J Thordarson, Philippus Baalman, Shardul Chiplunkar, Stefan Zeiger, Dale Wijnand, Dmitry Komanov, Eugene Yokota, Georgi Krastev, GerretS, Jason Zaugg, Martijn, Mohammad Yousuf Minhaj Zia, Roberto Tyley, Ryan Scheidter, Trey Cahill, c, Dependabot. (TODO: redo once TASTy reader PR lands) +This release was brought to you by 23 contributors, according to `git shortlog -sn --no-merges @ ^v2.13.12 ^2.12.x`. Thank you A. P. Marki, Lukas Rytz, Jamie Thompson, Seth Tisue, Scala Steward, friendseeker, Paul J Thordarson, Philippus Baalman, Shardul Chiplunkar, Stefan Zeiger, Dale Wijnand, Dmitry Komanov, Eugene Yokota, Georgi Krastev, GerretS, Jason Zaugg, Martijn, Mohammad Yousuf Minhaj Zia, Roberto Tyley, Ryan Scheidter, Trey Cahill, c, Dependabot. 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. From ab34164d970a05e3e3429170a8e7a7b6281433bb Mon Sep 17 00:00:00 2001 From: Seth Tisue Date: Sun, 25 Feb 2024 19:59:11 -0800 Subject: [PATCH 05/10] add Known Issues section --- releases/2.13.13.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/releases/2.13.13.md b/releases/2.13.13.md index 589d1b39cc..2e2e08c00d 100644 --- a/releases/2.13.13.md +++ b/releases/2.13.13.md @@ -30,6 +30,19 @@ The following changes are highlights of this release: * In mixed compilation, allow Java sources to reference `MODULE$` ([#10644](https://github.com/scala/scala/pull/10644) by [@som-snytt](https://github.com/som-snytt)) * Scaladoc: re-align `-doc-source-url` behavior with 2.12 ([#10581](https://github.com/scala/scala/pull/10581) by [@lrytz](https://github.com/lrytz)) +### Known issues + +* Users of sbt must upgrade to sbt 1.9.9 to use the `console` task + to access the 2.13.13 REPL ([sbt/sbt#7502](https://github.com/sbt/sbt/issues/7502)); + error message is `NoSuchMethodError: org.jline.utils.AttributedString.fromAnsi` +* Regression: Scaladoc generation may fail if you are using the TASTy reader + to access Scala 3 dependencies ([scala/bug#12955](https://github.com/scala/bug/issues/12955)); + error message is "Unsupported Scala 3 generic tuple type"; we'll fix it in 2.13.14 +* Regression: on JDK 11 (but 8 or 17 or 21), the REPL prints a + harmless "illegal reflective access" warning at startup + ([scala/bug#12957](https://github.com/scala/bug/issues/12957)); + we'll fix it in 2.13.14 + ### More changes For the complete 2.13.13 change lists, see [all merged PRs](https://github.com/scala/scala/pulls?q=is%3Amerged%20milestone%3A2.13.13) and [all closed bugs](https://github.com/scala/bug/issues?utf8=%E2%9C%93&q=is%3Aclosed+milestone%3A2.13.13). From dc3aac4ac4311f3e8328692611ba8a4cf9bc34fe Mon Sep 17 00:00:00 2001 From: Seth Tisue Date: Sun, 25 Feb 2024 20:02:38 -0800 Subject: [PATCH 06/10] oops --- releases/2.13.13.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/releases/2.13.13.md b/releases/2.13.13.md index 2e2e08c00d..a58640d0ab 100644 --- a/releases/2.13.13.md +++ b/releases/2.13.13.md @@ -38,7 +38,7 @@ The following changes are highlights of this release: * Regression: Scaladoc generation may fail if you are using the TASTy reader to access Scala 3 dependencies ([scala/bug#12955](https://github.com/scala/bug/issues/12955)); error message is "Unsupported Scala 3 generic tuple type"; we'll fix it in 2.13.14 -* Regression: on JDK 11 (but 8 or 17 or 21), the REPL prints a +* Regression: on JDK 11 (but not 8 or 17 or 21), the REPL prints a harmless "illegal reflective access" warning at startup ([scala/bug#12957](https://github.com/scala/bug/issues/12957)); we'll fix it in 2.13.14 From dd7781e8e6132a9c5700bbbc9b1984f2970bc63a Mon Sep 17 00:00:00 2001 From: Seth Tisue Date: Mon, 26 Feb 2024 10:51:53 -0800 Subject: [PATCH 07/10] add note --- releases/2.13.13.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/releases/2.13.13.md b/releases/2.13.13.md index a58640d0ab..fa45df5c7b 100644 --- a/releases/2.13.13.md +++ b/releases/2.13.13.md @@ -16,7 +16,7 @@ The following changes are highlights of this release: ### Align with Scala 3 -* Allow either `-Xsource:3` (for preparing to switch to 3) or `-Xsource:3-cross` (for crossbuilding on 2 and 3) ([#10573](https://github.com/scala/scala/pull/10573) by [@som-snytt](https://github.com/som-snytt)) +* Allow either `-Xsource:3` (for preparing to switch to 3) or `-Xsource:3-cross` (for crossbuilding on 2 and 3); many existing users of `-Xsource:3` should switch to `-Xsource:3-cross` ([#10573](https://github.com/scala/scala/pull/10573) by [@som-snytt](https://github.com/som-snytt)) * For migration to 3, accommodate case companion as function ([#10648](https://github.com/scala/scala/pull/10648) by [@som-snytt](https://github.com/som-snytt)) * Scala 3 migration warning for implicits found in package prefix ([#10621](https://github.com/scala/scala/pull/10621) by [@lrytz](https://github.com/lrytz)) From 77c929f8e834baa3e797ed762d8529be9d6e367d Mon Sep 17 00:00:00 2001 From: Seth Tisue Date: Mon, 26 Feb 2024 11:26:44 -0800 Subject: [PATCH 08/10] add a second warning about -Xsource:3 --- releases/2.13.13.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/releases/2.13.13.md b/releases/2.13.13.md index fa45df5c7b..e6f85dceb5 100644 --- a/releases/2.13.13.md +++ b/releases/2.13.13.md @@ -32,6 +32,9 @@ The following changes are highlights of this release: ### Known issues +* When upgrading to 2.13.13, existing users of `-Xsource:3` should explicitly consider + switching to `-Xsource:3-cross`. Some behaviors of `-Xsource:3` have changed, + e.g. in result type inference for inherited methods * Users of sbt must upgrade to sbt 1.9.9 to use the `console` task to access the 2.13.13 REPL ([sbt/sbt#7502](https://github.com/sbt/sbt/issues/7502)); error message is `NoSuchMethodError: org.jline.utils.AttributedString.fromAnsi` From 2d3d6fe105d54f5a1ee150e8e955f3f379c737f8 Mon Sep 17 00:00:00 2001 From: Seth Tisue Date: Mon, 26 Feb 2024 11:28:52 -0800 Subject: [PATCH 09/10] further adjust -Xsource:3 verbiage --- releases/2.13.13.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/releases/2.13.13.md b/releases/2.13.13.md index e6f85dceb5..2ccbaef4df 100644 --- a/releases/2.13.13.md +++ b/releases/2.13.13.md @@ -16,7 +16,7 @@ The following changes are highlights of this release: ### Align with Scala 3 -* Allow either `-Xsource:3` (for preparing to switch to 3) or `-Xsource:3-cross` (for crossbuilding on 2 and 3); many existing users of `-Xsource:3` should switch to `-Xsource:3-cross` ([#10573](https://github.com/scala/scala/pull/10573) by [@som-snytt](https://github.com/som-snytt)) +* Allow either `-Xsource:3` (for preparing to switch to 3) or `-Xsource:3-cross` (for crossbuilding on 2 and 3); some existing users of `-Xsource:3` should switch to `-Xsource:3-cross` to avoid unwanted behavior changes ([#10573](https://github.com/scala/scala/pull/10573) by [@som-snytt](https://github.com/som-snytt)) * For migration to 3, accommodate case companion as function ([#10648](https://github.com/scala/scala/pull/10648) by [@som-snytt](https://github.com/som-snytt)) * Scala 3 migration warning for implicits found in package prefix ([#10621](https://github.com/scala/scala/pull/10621) by [@lrytz](https://github.com/lrytz)) From 4118c7428bc4b50a1884cfacebda088f475f22ae Mon Sep 17 00:00:00 2001 From: Seth Tisue Date: Mon, 26 Feb 2024 11:30:13 -0800 Subject: [PATCH 10/10] further adjust -Xsource:3 verbiage --- releases/2.13.13.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/releases/2.13.13.md b/releases/2.13.13.md index 2ccbaef4df..452f58ed74 100644 --- a/releases/2.13.13.md +++ b/releases/2.13.13.md @@ -34,7 +34,8 @@ The following changes are highlights of this release: * When upgrading to 2.13.13, existing users of `-Xsource:3` should explicitly consider switching to `-Xsource:3-cross`. Some behaviors of `-Xsource:3` have changed, - e.g. in result type inference for inherited methods + e.g. in result type inference for inherited methods; see + [#10573](https://github.com/scala/scala/pull/10573) for details * Users of sbt must upgrade to sbt 1.9.9 to use the `console` task to access the 2.13.13 REPL ([sbt/sbt#7502](https://github.com/sbt/sbt/issues/7502)); error message is `NoSuchMethodError: org.jline.utils.AttributedString.fromAnsi`