From 2b01d559c2305a5186881fd04e5f3f56c490ab45 Mon Sep 17 00:00:00 2001 From: Seth Tisue Date: Fri, 13 May 2022 19:45:35 +0100 Subject: [PATCH 1/7] remove old release notes drafts --- releases/2.12.14.md | 34 --------------------------- releases/2.13.6.md | 57 --------------------------------------------- 2 files changed, 91 deletions(-) delete mode 100644 releases/2.12.14.md delete mode 100644 releases/2.13.6.md diff --git a/releases/2.12.14.md b/releases/2.12.14.md deleted file mode 100644 index 6cda165663..0000000000 --- a/releases/2.12.14.md +++ /dev/null @@ -1,34 +0,0 @@ -Scala 2.12.14: - * Backports improvements to `-Xsource:3` to help projects cross build between 2.12.x, 2.13.x and 3.x. - ([#9589](https://github.com/scala/scala/pull/9589), [#9595](https://github.com/scala/scala/pull/9595) and [#9620](https://github.com/scala/scala/pull/9620) by [@smarter](https://github.com/smarter) and [@neko-kai](https://github.com/neko-kai)) - * Reduces lock contention between compilers when reading classpath JAR files. ([#9549](https://github.com/scala/scala/pull/9549) by [@retronym](https://github.com/retronym)) - * Propagate custom `TaskSupport` through operations of parallel collections. ([#9529](https://github.com/scala/scala/pull/9529), backport of fix for [scala/scala-parallel-collections#152](https://github.com/scala/scala-parallel-collections/issues/152), by [@lrytz](https://github.com/lrytz)) - * upgrade to asm 9.1, for JDK 17 support ([#9488](https://github.com/scala/scala/pull/9488) by [@SethTisue](https://github.com/SethTisue)) - * Fix cyclic error in runtime reflection (protobuf), a regression that [prevented Spark upgrading](https://github.com/apache/spark/pull/31223) to 2.12.13 ([#9478](https://api.github.com/repos/scala/scala/pulls/9478) by [@retronym](https://github.com/retronym)) - * Allow annotated literals inside as annotation args. ([#9342](https://github.com/scala/scala/pull/9342) by [@gzm0](https://github.com/gzm0)) - -For complete 2.12.14 change lists, see [all merged PRs](https://github.com/scala/scala/pulls?q=is%3Amerged%20milestone%3A2.12.14) and [all closed bugs](https://github.com/scala/bug/issues?utf8=%E2%9C%93&q=is%3Aclosed+milestone%3A2.12.14). - -## Compatibility - -As usual for our minor releases, Scala 2.12.14 is binary-compatible 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 40 contributors, according to `git shortlog -sn --no-merges HEAD ^v2.12.13 ^2.11.x`. Thank you Jason Zaugg, Lukas Rytz, Guillaume Martres, Dale Wijnand, Seth Tisue, A. P. Marki, Mike Skells, Tom Grigg, Kai, Mario Galic, Martijn Hoekstra, tanishiking, Philippus, Adriaan Moors, Sébastien Doeraene, Tobias Schlatter, Andrii, Filipe Regadas, Alexey Kotlyarov. - -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.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-based project -* Download a distribution from [scala-lang.org](http://scala-lang.org/download/2.12.14.html) -* Obtain JARs via [Maven Central](http://search.maven.org/#search%7Cga%7C1%7Cg%3A%22org.scala-lang%22%20AND%20v%3A%222.12.14%22) diff --git a/releases/2.13.6.md b/releases/2.13.6.md deleted file mode 100644 index d5ff26bdef..0000000000 --- a/releases/2.13.6.md +++ /dev/null @@ -1,57 +0,0 @@ -The Scala 2 team at Lightbend is pleased to announce the availability of Scala 2.13.6. - -### Highlights - -* TASTy Reader support for Scala 3.0.0 ([#9617](https://github.com/scala/scala/pull/9617) by [@bishabosha](https://github.com/bishabosha)) -* The [splain compiler plugin](https://github.com/tek/splain) by [@tek](https://github.com/tek) was integrated into the compiler, available with the `-Vimplicits` and `-Vtype-diffs` flags ([#7785](https://github.com/scala/scala/pull/7785])) -* Escaped double quotes now work as expected in string interpolations, both `s"\""` and `s"$""` ([#8830](https://github.com/scala/scala/pull/8830) by [@eed3si9n](https://github.com/eed3si9n) and [#9536](https://github.com/scala/scala/pull/9536) by [@martijnhoekstra](https://github.com/martijnhoekstra)) - -### Other Changes - -* Optimized BigInt implementation ([#9628](https://github.com/scala/scala/pull/9628)) by [@denisrosset](https://github.com/denisrosset) -* Support JDK15 text blocks in Java parser ([#9548](https://github.com/scala/scala/pull/9548)) by [@harpocrates](https://github.com/harpocrates) -* Stricter override checking for protected Scala members which override Java members ([#9525](https://github.com/scala/scala/pull/9525)) by [@kynthus](https://github.com/kynthus) -* Check `private[this]` members in override checking ([#9542](https://github.com/scala/scala/pull/9542)) -* More accurate outer checks in patterns ([#9504](https://github.com/scala/scala/pull/9504)) -* Allow renaming imports from `_root_` ([#9482](https://github.com/scala/scala/pull/9482)) by [@som-snytt](https://github.com/som-snytt) -* Make more annotations extend `ConstantAnnotation` ([9336](https://github.com/scala/scala/pull/9336)) by [@BalmungSan](https://github.com/BalmungSan) -* A number of syntax changes were added to simplify cross-building between Scala 2 and 3 - * Don't error (only warn) on symbol literals under `-Xsource:3` ([#9602](https://github.com/scala/scala/pull/9602)) - * Support writing `&` instead of `with` in types under `-Xsource:3` ([#9594](https://github.com/scala/scala/pull/9594)) - * Support Scala 3 vararg splice syntax under `-Xsource:3` ([#9584](https://github.com/scala/scala/pull/9584)) - * Support Scala 3 wildcard and renaming imports under `-Xsource:3` ([#9582](https://github.com/scala/scala/pull/9582)) - * Allow soft keywords open and infix under `-Xsource:3` ([#9580](https://github.com/scala/scala/pull/9580)) - * Align leading infix operator with Scala 3 improvements ([#9567](https://github.com/scala/scala/pull/9567)) - * Support `?` as wildcard marker under `-Xsource:3` ([#9560](https://github.com/scala/scala/pull/9560)) - * Support case in pattern bindings under `-Xsource:3` ([#9558](https://github.com/scala/scala/pull/9558)) - * Parse `+_` and `-_` in types as identifiers under `-Xsource:3` to support Scala 3.2 placeholder syntax ([#9605](https://github.com/scala/scala/pull/9605)) - -Some small changes that will ship in 2.12.14 are also included in this release. - -For the complete 2.13.6 change lists, see [all merged PRs](https://github.com/scala/scala/pulls?q=is%3Amerged%20milestone%3A2.13.6) and [all closed bugs](https://github.com/scala/bug/issues?utf8=%E2%9C%93&q=is%3Aclosed+milestone%3A2.13.6). - -## Compatibility - -As usual for our minor releases, Scala 2.13.6 is binary-compatible 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. - -This release was brought to you by 25 contributors, according to `git shortlog -sn --no-merges HEAD ^v2.13.5 ^2.12.x`. Thank you A. P. Marki, Lukas Rytz, Dale Wijnand, Jamie Thompson, Seth Tisue, 梦境迷离, Guillaume Martres, Martijn Hoekstra, Denis Rosset, Aaron S. Hawley, Kai, Eugene Yokota, Jason Zaugg, Anatolii Kmetiuk, Ikko Ashimine, superseeker13, Eugene Platonov, Diego E. Alonso Blas, Filipe Regadas, Hatano Yuusuke, Luis Miguel Mejía Suárez, Rafał Sumisławski, Alec Theriault, Tom Grigg, Torsten Schmits. - -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](http://scala-lang.org/download/2.13.6.html) -* Obtain JARs via [Maven Central](http://search.maven.org/#search%7Cga%7C1%7Cg%3A%22org.scala-lang%22%20AND%20v%3A%222.13.6%22) From 3c74f30bcb7b72371144614eb8b28d7c68809b4c Mon Sep 17 00:00:00 2001 From: Seth Tisue Date: Fri, 13 May 2022 19:45:47 +0100 Subject: [PATCH 2/7] 2.12.16 release notes skeleton --- releases/2.12.16.md | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 releases/2.12.16.md diff --git a/releases/2.12.16.md b/releases/2.12.16.md new file mode 100644 index 0000000000..08e33c52bd --- /dev/null +++ b/releases/2.12.16.md @@ -0,0 +1,27 @@ +This release... TODO + +For complete 2.12.16 change lists, see [all merged PRs](https://github.com/scala/scala/pulls?q=is%3Amerged%20milestone%3A2.12.16) and [all closed bugs](https://github.com/scala/bug/issues?utf8=%E2%9C%93&q=is%3Aclosed+milestone%3A2.12.16). + +## Compatibility + +As usual for our minor releases, Scala 2.12.16 is binary-compatible 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 18 contributors, according to `git shortlog -sn --no-merges @ ^v2.12.15 ^2.11.x`. Thank you Scala Steward, Seth Tisue, Lukas Rytz, Sébastien Doeraene, A. P. Marki,Daniel Le, Jason Zaugg, Guillaume Martres, Frank Thomas, Philippus, Daniela Sfregola, Dale Wijnand, Vadzim Marchanka, hepin.p, naferx, Fredrik Svensson, Štefan Jurčo, Georgi Krastev. + +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.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-based project +* Download a distribution from [scala-lang.org](http://scala-lang.org/download/2.12.16.html) +* Obtain JARs via [Maven Central](http://search.maven.org/#search%7Cga%7C1%7Cg%3A%22org.scala-lang%22%20AND%20v%3A%222.12.16%22) From 2d7e8f55765f3b37451b5cebe2b8a548752d5176 Mon Sep 17 00:00:00 2001 From: Seth Tisue Date: Fri, 13 May 2022 19:58:51 +0100 Subject: [PATCH 3/7] flesh out 2.12.16 release notes --- releases/2.12.16.md | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/releases/2.12.16.md b/releases/2.12.16.md index 08e33c52bd..e9f5e77d0b 100644 --- a/releases/2.12.16.md +++ b/releases/2.12.16.md @@ -1,4 +1,18 @@ -This release... TODO +This release improves compatibility with recent JDKs: + +* For JDK 19 support, use ASM 9.3 ([#10000](https://github.com/scala/scala/pull/10000)) +* Make `-target` support JDK 8 through 19 (and deprecate 5 through 7) ([#9916](https://github.com/scala/scala/pull/9916)) +* Fix codegen for `MethodHandle.invoke` (et al) under JDK 17 `-release` ([#9930](https://github.com/scala/scala/pull/9930)) +* Deprecate `AnyVal#formatted(formatString)`, to avoid conflict with JDK 15+ method ([#9783](https://github.com/scala/scala/pull/9783)) + +and aids cross-compiling with Scala 3: + +* Allow `?` as a wildcard even without `-Xsource:3` ([#10005](https://github.com/scala/scala/pull/10005)) + +and improves security and error reporting: + +* Error on source files with Unicode directional formatting characters ([#10023](https://github.com/scala/scala/pull/10023), [#10030](https://github.com/scala/scala/pull/10030)) +* Fix range position end for infix calls ([#9761](https://github.com/scala/scala/pull/9761)) For complete 2.12.16 change lists, see [all merged PRs](https://github.com/scala/scala/pulls?q=is%3Amerged%20milestone%3A2.12.16) and [all closed bugs](https://github.com/scala/bug/issues?utf8=%E2%9C%93&q=is%3Aclosed+milestone%3A2.12.16). From d64155b462db141f386a7f7f73c05256e6a8cad0 Mon Sep 17 00:00:00 2001 From: Seth Tisue Date: Fri, 13 May 2022 20:19:00 +0100 Subject: [PATCH 4/7] Update 2.12.16.md --- releases/2.12.16.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/releases/2.12.16.md b/releases/2.12.16.md index e9f5e77d0b..0edc4f8b69 100644 --- a/releases/2.12.16.md +++ b/releases/2.12.16.md @@ -1,3 +1,5 @@ +# Scala 2.12.16 + This release improves compatibility with recent JDKs: * For JDK 19 support, use ASM 9.3 ([#10000](https://github.com/scala/scala/pull/10000)) @@ -24,7 +26,7 @@ As usual for our minor releases, Scala 2.12.16 is binary-compatible with the who 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 18 contributors, according to `git shortlog -sn --no-merges @ ^v2.12.15 ^2.11.x`. Thank you Scala Steward, Seth Tisue, Lukas Rytz, Sébastien Doeraene, A. P. Marki,Daniel Le, Jason Zaugg, Guillaume Martres, Frank Thomas, Philippus, Daniela Sfregola, Dale Wijnand, Vadzim Marchanka, hepin.p, naferx, Fredrik Svensson, Štefan Jurčo, Georgi Krastev. +This release was brought to you by 18 contributors, according to `git shortlog -sn --no-merges @ ^v2.12.15 ^2.11.x`. Thank you Scala Steward, Seth Tisue, Lukas Rytz, Sébastien Doeraene, A. P. Marki, Daniel Le, Jason Zaugg, Guillaume Martres, Frank Thomas, Philippus, Daniela Sfregola, Dale Wijnand, Vadzim Marchanka, hepin.p, naferx, Fredrik Svensson, Štefan Jurčo, Georgi Krastev. 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. From b3e03681fa6fe19bf8f8751c7bfa16d8924bc9a4 Mon Sep 17 00:00:00 2001 From: Seth Tisue Date: Mon, 16 May 2022 17:23:11 +0100 Subject: [PATCH 5/7] tweak --- releases/2.12.16.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/releases/2.12.16.md b/releases/2.12.16.md index 0edc4f8b69..b6a53eb449 100644 --- a/releases/2.12.16.md +++ b/releases/2.12.16.md @@ -2,7 +2,7 @@ This release improves compatibility with recent JDKs: -* For JDK 19 support, use ASM 9.3 ([#10000](https://github.com/scala/scala/pull/10000)) +* Use ASM 9.3, enabling JDK 19 support ([#10000](https://github.com/scala/scala/pull/10000)) * Make `-target` support JDK 8 through 19 (and deprecate 5 through 7) ([#9916](https://github.com/scala/scala/pull/9916)) * Fix codegen for `MethodHandle.invoke` (et al) under JDK 17 `-release` ([#9930](https://github.com/scala/scala/pull/9930)) * Deprecate `AnyVal#formatted(formatString)`, to avoid conflict with JDK 15+ method ([#9783](https://github.com/scala/scala/pull/9783)) From 6ce36bbe2fd84e7b1271c2d70f89bd8ba6cbc353 Mon Sep 17 00:00:00 2001 From: Lukas Rytz Date: Fri, 10 Jun 2022 09:32:05 +0200 Subject: [PATCH 6/7] Known regression --- releases/2.12.16.md | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/releases/2.12.16.md b/releases/2.12.16.md index b6a53eb449..031f2c3ec5 100644 --- a/releases/2.12.16.md +++ b/releases/2.12.16.md @@ -18,6 +18,21 @@ and improves security and error reporting: For complete 2.12.16 change lists, see [all merged PRs](https://github.com/scala/scala/pulls?q=is%3Amerged%20milestone%3A2.12.16) and [all closed bugs](https://github.com/scala/bug/issues?utf8=%E2%9C%93&q=is%3Aclosed+milestone%3A2.12.16). +## Known issues + +Scala 2.12.16 contains a [known regression](https://github.com/scala/bug/issues/12605) that was discovered after the artifacts were released. + +In mixed compilation, all Java and Scala source files of a project are passed to the Scala compiler (`CompileOrder.Mixed` in sbt, enabled by default). In this mode, the Scala compiler can build incorrect type representations for certain references to Java nested classes, which can lead to false type mismatch errors and cause a project not to compile. Example: + +```java +public class C { + public class I { public class J {} } + public void t(I.J j) {} +} +``` + +The Scala code `val c = new C(); val i = new c.I(); c.t(new i.J())` fails to compile (`found: O.i.J, required: I.this.J`). Separate compilation (`CompileOrder.JavaThenScala`) works correctly. + ## Compatibility As usual for our minor releases, Scala 2.12.16 is binary-compatible with the whole Scala 2.12 series. From 150c423dba67e9b6607097ada51593ace96b77aa Mon Sep 17 00:00:00 2001 From: Seth Tisue Date: Fri, 10 Jun 2022 07:58:29 -0700 Subject: [PATCH 7/7] shorten coverage of known issue --- releases/2.12.16.md | 15 ++------------- 1 file changed, 2 insertions(+), 13 deletions(-) diff --git a/releases/2.12.16.md b/releases/2.12.16.md index 031f2c3ec5..f20d1f7918 100644 --- a/releases/2.12.16.md +++ b/releases/2.12.16.md @@ -18,20 +18,9 @@ and improves security and error reporting: For complete 2.12.16 change lists, see [all merged PRs](https://github.com/scala/scala/pulls?q=is%3Amerged%20milestone%3A2.12.16) and [all closed bugs](https://github.com/scala/bug/issues?utf8=%E2%9C%93&q=is%3Aclosed+milestone%3A2.12.16). -## Known issues +## Known issue -Scala 2.12.16 contains a [known regression](https://github.com/scala/bug/issues/12605) that was discovered after the artifacts were released. - -In mixed compilation, all Java and Scala source files of a project are passed to the Scala compiler (`CompileOrder.Mixed` in sbt, enabled by default). In this mode, the Scala compiler can build incorrect type representations for certain references to Java nested classes, which can lead to false type mismatch errors and cause a project not to compile. Example: - -```java -public class C { - public class I { public class J {} } - public void t(I.J j) {} -} -``` - -The Scala code `val c = new C(); val i = new c.I(); c.t(new i.J())` fails to compile (`found: O.i.J, required: I.this.J`). Separate compilation (`CompileOrder.JavaThenScala`) works correctly. +Scala 2.12.16 contains a [regression](https://github.com/scala/bug/issues/12605) that was discovered after the artifacts were published. Only mixed compilation of Scala and Java source files together is affected, and only when the Scala code contains references to certain nested classes in the Java sources. The problem manifests as a compile-time type error. Follow link for details and workarounds. We'll fix the problem in Scala 2.12.17 which we expect to release in a few months. ## Compatibility