From 7e456c138d697cd8418933bfaaade129a09e9b49 Mon Sep 17 00:00:00 2001 From: Wojciech Mazur Date: Sun, 14 Jul 2024 14:29:47 +0200 Subject: [PATCH] Add changelog for 3.5.1-RC1 --- changelogs/3.5.1-RC1.md | 194 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 194 insertions(+) create mode 100644 changelogs/3.5.1-RC1.md diff --git a/changelogs/3.5.1-RC1.md b/changelogs/3.5.1-RC1.md new file mode 100644 index 000000000000..c32cfbf5e1c0 --- /dev/null +++ b/changelogs/3.5.1-RC1.md @@ -0,0 +1,194 @@ +# Highlights of the release + +- Add sources of synthetic classes to sources jar [#20904](https://github.com/lampepfl/dotty/pull/20904) + +# Other changes and fixes + +## Annotations + +- Preventing compilation of a @tailrec method when it does not rewrite, but an inner method does [#20143](https://github.com/lampepfl/dotty/pull/20143) +- #20145 - bugfix when a return tailrec is called inside a val def. [#20652](https://github.com/lampepfl/dotty/pull/20652) + +## Backend + +- Fix EnclosingMethod for lifted anonfun [#20558](https://github.com/lampepfl/dotty/pull/20558) +- Emit switch bytecode when matching unions of a switchable type [#20411](https://github.com/lampepfl/dotty/pull/20411) +- Fix deterministically adding additional interfaces [#20593](https://github.com/lampepfl/dotty/pull/20593) + +## Documentation + +- Avoid jpath in example [#20775](https://github.com/lampepfl/dotty/pull/20775) +- Chore: Fix doc link in clauseInterleaving docstring [#20590](https://github.com/lampepfl/dotty/pull/20590) +- Chore: fix doc link in namedTuples docstring [#20770](https://github.com/lampepfl/dotty/pull/20770) + +## Erasure + +- Don't re-balance AndTypes arising from supertypes [#20400](https://github.com/lampepfl/dotty/pull/20400) + +## GADTs + +- Harden GADT constraint handling to survive illegal F-bounds [#20325](https://github.com/lampepfl/dotty/pull/20325) + +## Inferencing + +- Adapt toInstantiate in interpolateTypeVars to consider #20399 [#20426](https://github.com/lampepfl/dotty/pull/20426) + +## Infrastructure + +- Update `addToBackportingProject.scala` [#20461](https://github.com/lampepfl/dotty/pull/20461) +- Simple scripts to run non-bootstrapped compiler after 'sbt buildQuick' [#19894](https://github.com/lampepfl/dotty/pull/19894) +- Bump from 3.4.0 to 3.5.0-RC1 for MiMA [#20404](https://github.com/lampepfl/dotty/pull/20404) +- Set reference version to 3.5.0-RC4 [#21175](https://github.com/scala/scala3/pull/21175) +- Bring back windows performance improvements [#20423](https://github.com/lampepfl/dotty/pull/20423) +- Bump scalacenter/sbt-dependency-submission from 2 to 3 [#20440](https://github.com/lampepfl/dotty/pull/20440) +- Fix incorrect paths to sha256 check sum files in release workflow [#20709](https://github.com/lampepfl/dotty/pull/20709) +- Bump VirtusLab/scala-cli-setup from 1.3.2 to 1.4.0 [#20906](https://github.com/lampepfl/dotty/pull/20906) + +## Inline + +- Mark genSJSIR as *disabled* (rather than non-*runnable*) when no `-scalajs`. [#20815](https://github.com/lampepfl/dotty/pull/20815) +- Map over refs of `ImportType`s in `TypeMap` [#20837](https://github.com/lampepfl/dotty/pull/20837) + +## Initialization + +- More principled filtering of abstract values in initialization check [#20548](https://github.com/lampepfl/dotty/pull/20548) + +## Match Types + +- TryCompiletimeConstantFold in disjointnessBoundary [#20168](https://github.com/lampepfl/dotty/pull/20168) + +## Opaque Types + +- Heal member-select on opaque reference [#19730](https://github.com/lampepfl/dotty/pull/19730) + +## Pattern Matching + +- Fix #20372: Check pattern match exhaustivity in inlined code [#20403](https://github.com/lampepfl/dotty/pull/20403) + +## Presentation Compiler + +- Add pattern completion for unapply contexts [#20274](https://github.com/lampepfl/dotty/pull/20274) +- Bugfix: Exclude newer LSP4j, which is built on JDK 11 [#20771](https://github.com/lampepfl/dotty/pull/20771) +- Chore: Bump mtags to latest stable [#20442](https://github.com/lampepfl/dotty/pull/20442) +- Weekly metals backport [#20542](https://github.com/lampepfl/dotty/pull/20542) +- Port pc find references from metals [#20544](https://github.com/lampepfl/dotty/pull/20544) + +## Quotes + +- Add regression test for issue 20309 [#20387](https://github.com/lampepfl/dotty/pull/20387) + +## REPL + +- Only consider methods with 0 parameters in valueOf [#20543](https://github.com/lampepfl/dotty/pull/20543) + +## Reflection + +- Fix erasure crash for Inlined rhs of a context function closure [#20398](https://github.com/lampepfl/dotty/pull/20398) +- Fix #20458: do not expose ClassInfo in quotes reflect widenTermRefByName [#20468](https://github.com/lampepfl/dotty/pull/20468) + +## Reporting + +- Fix error message on setter with wrong type [#20444](https://github.com/lampepfl/dotty/pull/20444) +- Add a specific error message for local final defs [#20557](https://github.com/lampepfl/dotty/pull/20557) +- Explain unresolvable references better [#20477](https://github.com/lampepfl/dotty/pull/20477) +- Add error code to diagnostics about unused code [#19780](https://github.com/lampepfl/dotty/pull/19780) +- Better error diagnostics for illegal match cases [#20905](https://github.com/lampepfl/dotty/pull/20905) + +## Scaladoc + +- Fix handling of right associative extension methods across scaladoc and printers [#20467](https://github.com/lampepfl/dotty/pull/20467) + +## Specification + +- Add binary lits to syntax summaries [#19551](https://github.com/lampepfl/dotty/pull/19551) + +## Settings + +- Enhance help message for language flag [#20247](https://github.com/lampepfl/dotty/pull/20247) +- Accept legacy language features [#20454](https://github.com/lampepfl/dotty/pull/20454) +- Set default source version to 3.5 [#20435](https://github.com/lampepfl/dotty/pull/20435) + +## Tooling + +- Improve source positions emited for synthetic unit in if-conditions [#20431](https://github.com/lampepfl/dotty/pull/20431) +- Adjust the API name entry for nested classes [#20279](https://github.com/lampepfl/dotty/pull/20279) +- Fix declaring product of straight-to-jar compilation [#20592](https://github.com/lampepfl/dotty/pull/20592) + +## Transform + +- Correct Java signature for value classes appearing in type arguments [#20463](https://github.com/lampepfl/dotty/pull/20463) + +## Typer + +- Retry `constraint.replace` after `constraint.updateEntry` [#20399](https://github.com/lampepfl/dotty/pull/20399) +- Add special handling for comparisons with Singleton types [#20474](https://github.com/lampepfl/dotty/pull/20474) +- Reinstantiate restriction to transparent inline methods [#20371](https://github.com/lampepfl/dotty/pull/20371) +- Add regression test for #20288 fixed in #20527 [#20857](https://github.com/lampepfl/dotty/pull/20857) +- Fix isEffectivelySingleton [#20486](https://github.com/lampepfl/dotty/pull/20486) +- Fall back to direct subtype comparison at the end in dropIfSuper and dropIfSub [#20523](https://github.com/lampepfl/dotty/pull/20523) +- Mark AppliedType cachedSuper valid Nowhere when using provisional args [#20527](https://github.com/lampepfl/dotty/pull/20527) + +# Experimentqal Changes + +## Capture Checking + +- Fix soundness hole of forgotten reach capabilities [#20524](https://github.com/lampepfl/dotty/pull/20524) +- Drop @capability annotations [#20396](https://github.com/lampepfl/dotty/pull/20396) +- Fix symbol reference retrivial for `scala.caps.Caps` [#20493](https://github.com/lampepfl/dotty/pull/20493) +- Refactor adaptBoxed [#20525](https://github.com/lampepfl/dotty/pull/20525) +- Fix error related to reaches when using scala2-library-cc-tasty [#20528](https://github.com/lampepfl/dotty/pull/20528) + +## Named tuples + +- Make NamedTuple.Empty an alias to NamedTuple [#20502](https://github.com/lampepfl/dotty/pull/20502) +- Move NamedTuple methods to separate scope. re-export [#20504](https://github.com/lampepfl/dotty/pull/20504) +- WidenDealias before extracting namedTupleElementTypes [#20505](https://github.com/lampepfl/dotty/pull/20505) +- Improve type inference for literal named tuples [#20497](https://github.com/lampepfl/dotty/pull/20497) +- Fix issue #20267 with regression test [#20506](https://github.com/lampepfl/dotty/pull/20506) +- Only set `AppliedType#validSuper` after `AppliedType#cachedSuper` [#20553](https://github.com/lampepfl/dotty/pull/20553) +- Fix NamedTuple selection on an unstable prefix [#20455](https://github.com/lampepfl/dotty/pull/20455) +- Allow `apply` adaptation on Selectable with Fields [#20489](https://github.com/lampepfl/dotty/pull/20489) + +# Contributors + +Thank you to all the contributors who made this release possible 🎉 + +According to `git shortlog -sn --no-merges 3.5.0..3.5.1-RC1` these are: + +``` + 77 Martin Odersky + 18 Wojciech Mazur + 17 Hamza REMMAL + 14 Jamie Thompson + 13 Eugene Flesselle + 13 noti0na1 + 11 Hamza Remmal + 9 Katarzyna Marek + 7 Fengyun Liu + 7 Jan Chyb + 6 Guillaume Martres + 5 Dale Wijnand + 5 Som Snytt + 4 dependabot[bot] + 3 Adrien Piquerez + 3 Derek Wickern + 3 Matt Bovel + 3 OlegYch + 2 Florian3k + 2 Kacper Korban + 2 Lucy Martin + 2 Paweł Marks + 2 Tomasz Godzik + 1 Arnout Engelen + 1 Eugene Yokota + 1 João Ferreira + 1 Kasper Kondzielski + 1 Lucas Nouguier + 1 Lukas Rytz + 1 Mikołaj Fornal + 1 Nafer Sanabria + 1 Natsu Kagami + 1 Seth Tisue + 1 Sébastien Doeraene + +```