From b271cb811503367ddfa720f4f23937bb036ab4b6 Mon Sep 17 00:00:00 2001 From: Wojciech Mazur Date: Mon, 9 Dec 2024 16:51:10 +0100 Subject: [PATCH] Add changelog for 3.3.5-RC1 --- changelogs/3.3.5-RC1.md | 162 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 162 insertions(+) create mode 100644 changelogs/3.3.5-RC1.md diff --git a/changelogs/3.3.5-RC1.md b/changelogs/3.3.5-RC1.md new file mode 100644 index 000000000000..4e565de5da81 --- /dev/null +++ b/changelogs/3.3.5-RC1.md @@ -0,0 +1,162 @@ +# Highlights of the release + +- Use Scala 2.13.15 standard library [#21648](https://github.com/scala/scala3/pull/21648) +- Support JDK 23 [#20144](https://github.com/scala/scala3/pull/20144) +- Add the `-Wall` option that enables all warnings [#20577](https://github.com/scala/scala3/pull/20577) +- Reversed `-Wconf` parsing order to mirror Scala 2 semantics [#18503](https://github.com/scala/scala3/pull/18503) + +# Other changes and fixes + +## Annotations + +- Tighten java annot value parsing [#21650](https://github.com/scala/scala3/pull/21650) + +## Exports + +- Re-use attachment in exportForwarders to handle ambiguous overloads [#21518](https://github.com/scala/scala3/pull/21518) +- Allow export statements in AnyVal [#21653](https://github.com/scala/scala3/pull/21653) + +## Extension Methods + +- Make right assoc ext method fwd refs error [#21641](https://github.com/scala/scala3/pull/21641) + +## Inference + +- Fix #20521: Optimise caching for computing atoms and widened in OrTypes [#21223](https://github.com/scala/scala3/pull/21223) + +## Linting + +- Add origin filter to WConf, DeprecationWarning [#21404](https://github.com/scala/scala3/pull/21404) +- CheckUnused checks type param annotations [#20549](https://github.com/scala/scala3/pull/20549) + +## Match Types + +- Fix #20897: Make `Nothing ⋔ Nothing`, as per spec. [#21241](https://github.com/scala/scala3/pull/21241) +- Always interpret underscores inside patterns as type bounds [#21718](https://github.com/scala/scala3/pull/21718) + +## Overloading + +- Report only non-overridden unimplemented members [#21337](https://github.com/scala/scala3/pull/21337) + +## Parser + +- Harden skip in Scanner [#21607](https://github.com/scala/scala3/pull/21607) +- SimplePattern errors should now be recovered as wildcard instead of unimplemented expr [#21438](https://github.com/scala/scala3/pull/21438) + +## Positions + +- Fix trailing comma Ident's span [#20445](https://github.com/scala/scala3/pull/20445) + +## Presentation Compiler + +- Fix autoimports with using directives [#21590](https://github.com/scala/scala3/pull/21590) +- Remove artificial `CURSOR` added to code in the completions [#20899](https://github.com/scala/scala3/pull/20899) +- Help implement Metals' infer expected type feature [#21390](https://github.com/scala/scala3/pull/21390) +- Weekly metals backport [#21343](https://github.com/scala/scala3/pull/21343) +- Change mock symbol search [#21296](https://github.com/scala/scala3/pull/21296) +- Fix: completions when parenthesis already provided [#21299](https://github.com/scala/scala3/pull/21299) +- Backport from metals [#21196](https://github.com/scala/scala3/pull/21196) +- Fix: don't add suffix if brackets already present [#21259](https://github.com/scala/scala3/pull/21259) + +## Quotes + +- Handle suspension due to macro call in arbitrary phases [#21651](https://github.com/scala/scala3/pull/21651) +- Have a better error message when healing types [#21711](https://github.com/scala/scala3/pull/21711) +- Expr#show: Don't crash when the expression contains an unsupported type (like a SkolemType) [#20494](https://github.com/scala/scala3/pull/20494) +- Quotes type printing: take `infix` type modifier into account [#21726](https://github.com/scala/scala3/pull/21726) + +## Reporting + +- Nicer error message in case a `derived` method has an explicit term param [#21332](https://github.com/scala/scala3/pull/21332) +- Add better error reporting for inlined non-immutable paths [#21639](https://github.com/scala/scala3/pull/21639) + +## Releases + +- Add support for Chocolatey [#20534](https://github.com/scala/scala3/pull/20534) +- Add the merge commit hash to the icon's url [#21221](https://github.com/scala/scala3/pull/21221) +- Add sources of synthetic classes to sources jar [#20904](https://github.com/scala/scala3/pull/20904) + +## REPL + +- Uppdate JLine to 3.27.0 (was 3.25.1) [#21752](https://github.com/scala/scala3/pull/21752) +- Allow JLine to fall back to a dumb terminal [#21330](https://github.com/scala/scala3/pull/21330) + +## Scaladoc + +- Only trim one newline when preprocessing the content of a markdown code snippet [#21519](https://github.com/scala/scala3/pull/21519) +- Bump Inkuire version to fix it for the new Scala versions [#21611](https://github.com/scala/scala3/pull/21611) +- Filter opaque modifier from object documentation [#21640](https://github.com/scala/scala3/pull/21640) + +## TASTy format + +- Add child to parent in completion context [#21214](https://github.com/scala/scala3/pull/21214) + +## Transform + +- Three fixes to SAM type handling [#21596](https://github.com/scala/scala3/pull/21596) +- Fix treatment of separately compiled @native methods in FirstTransform [#21593](https://github.com/scala/scala3/pull/21593) +- Fix #20856: Serialize `Waiting` and `Evaluating` as if `null`. [#21243](https://github.com/scala/scala3/pull/21243) +- Fixes IllegalAccessError with Java package protected class [#21362](https://github.com/scala/scala3/pull/21362) +- Consistently use TypeMismatch in TreeChecker [#21529](https://github.com/scala/scala3/pull/21529) +- Fix: don't use color codes for pattern match code action [#21120](https://github.com/scala/scala3/pull/21120) +- Let show behave more robustly for Recheck [#21678](https://github.com/scala/scala3/pull/21678) +- Always rewrite empty List() to Nil [#21689](https://github.com/scala/scala3/pull/21689) + +## Typer + +- Fix extending protected nested java classes [#21857](https://github.com/scala/scala3/pull/21857) +- Avoid cyclic errors forcing default arg types [#21597](https://github.com/scala/scala3/pull/21597) +- Survive inaccessible types when computing implicit scope [#21589](https://github.com/scala/scala3/pull/21589) +- Revert "Drop redundant `butNot = Param` clause in isAnchor" [#21566](https://github.com/scala/scala3/pull/21566) +- Fail early & more clearly on shaded-broken classfiles [#21262](https://github.com/scala/scala3/pull/21262) +- Fix isomorphism tests of `AndOrType`s under non-empty `BinderPairs` [#21017](https://github.com/scala/scala3/pull/21017) +- Some fixes for AnnotatedTypes mapping [#19957](https://github.com/scala/scala3/pull/19957) +- Simple performance improvement for Denotations [#21584](https://github.com/scala/scala3/pull/21584) +- Avoid import suggestion thread hang if -Ximport-suggestion-timeout <= 1 [#21434](https://github.com/scala/scala3/pull/21434) +- Fix incorrect caching with dependent method parameters [#21699](https://github.com/scala/scala3/pull/21699) + +## Experimental: Explicit Nulls + +- Add tracking of NotNullInfo for Match, Case, Try trees (fix #21380) [#21389](https://github.com/scala/scala3/pull/21389) +- Fix #21392: Adjust `canComparePredefined(Nothing, T)` in explicit nulls [#21504](https://github.com/scala/scala3/pull/21504) + +# Contributors + +Thank you to all the contributors who made this release possible 🎉 + +According to `git shortlog -sn --no-merges 3.3.4..3.3.5-RC1` these are: + +``` + 44 Wojciech Mazur + 14 Dale Wijnand + 10 Katarzyna Marek + 8 rochala + 5 noti0na1 + 4 Hamza Remmal + 4 Matt Bovel + 4 Som Snytt + 3 Jamie Thompson + 3 Martin Odersky + 3 Michał Pałka + 3 dependabot[bot] + 3 kasiaMarek + 2 Aleksander Rainko + 2 Eugene Flesselle + 2 Florian3k + 2 HarrisL2 + 2 Jędrzej Rochala + 2 Kacper Korban + 2 Yichen Xu + 1 Eugene Yokota + 1 Guillaume Martres + 1 Hamza REMMAL + 1 Jan Chyb + 1 Joel Wilsson + 1 Kenji Yoshida + 1 Martin Duhem + 1 Nicolas Stucki + 1 Ondrej Lhotak + 1 Seth Tisue + 1 Sébastien Doeraene + 1 Tomasz Godzik +```