diff --git a/changelogs/3.5.2-RC1.md b/changelogs/3.5.2-RC1.md new file mode 100644 index 000000000000..34000f616318 --- /dev/null +++ b/changelogs/3.5.2-RC1.md @@ -0,0 +1,140 @@ +# Highlights of the release + +- Add the -Wall option that enables all warnings (Plan B) [#20577](https://github.com/scala/scala3/pull/20577) +- Add origin filter to WConf, DeprecationWarning [#21404](https://github.com/scala/scala3/pull/21404) + +# Other changes and fixes + +## Implicits + +- Streamline `tryNormalize` with `underlyingMatchType` [#20268](https://github.com/scala/scala3/pull/20268) + +## Infer + +- Fix #20521: Optimise caching for computing atoms and widened in OrTypes [#21223](https://github.com/scala/scala3/pull/21223) + +## Infrastructure + +- Add the project's icon for Intellij [#21188](https://github.com/scala/scala3/pull/21188) +- Add the link to scala's security policy [#21220](https://github.com/scala/scala3/pull/21220) +- Add _spec to dependabot [#21227](https://github.com/scala/scala3/pull/21227) +- Bump redcarpet from 3.5.1 to 3.6.0 in /docs/_spec [#21231](https://github.com/scala/scala3/pull/21231) +- Bump webrick from 1.7.0 to 1.8.1 in /docs/_spec [#21232](https://github.com/scala/scala3/pull/21232) +- Bump VirtusLab/scala-cli-setup from 1.4.0 to 1.4.1 [#21233](https://github.com/scala/scala3/pull/21233) +- Bump VirtusLab/scala-cli-setup from 1.4.1 to 1.4.3 [#21371](https://github.com/scala/scala3/pull/21371) +- Bump VirtusLab/scala-cli-setup from 1.4.3 to 1.5.0 [#21441](https://github.com/scala/scala3/pull/21441) +- Update ScAS [#21283](https://github.com/scala/scala3/pull/21283) +- Bump hamzaremmal/sdkman-release-action from 4cb6c8cf99cfdf0ed5de586d6b38500558737e65 to 1f2d4209b4f5a38721d4ae20014ea8e1689d869e [#21440](https://github.com/scala/scala3/pull/21440) + +## JVM Backend + +- Update asm to patched 9.7 [#20144](https://github.com/scala/scala3/pull/20144) + +## Overloading + +- Report only non-overridden unimplemented members [#21337](https://github.com/scala/scala3/pull/21337) + +## Parser + +- SimplePattern errors should now be recovered as wildcard instead of unimplemented expr [#21438](https://github.com/scala/scala3/pull/21438) + +## Pattern matching + +- Fix a bundle of patmat issues [#21000](https://github.com/scala/scala3/pull/21000) + +## Positions + +- Fix trailing comma Ident's span [#20445](https://github.com/scala/scala3/pull/20445) + +## Presentation Compiler + +- fix: don't use color codes for pattern match code action [#21120](https://github.com/scala/scala3/pull/21120) +- fix: don't add suffix if brackets already present [#21259](https://github.com/scala/scala3/pull/21259) +- Backport from metals [#21196](https://github.com/scala/scala3/pull/21196) +- 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) +- Weekly metals backport [#21343](https://github.com/scala/scala3/pull/21343) +- Help implement Metals' infer expected type feature [#21390](https://github.com/scala/scala3/pull/21390) +- feat: Implement completions for named tuple fields [#21202](https://github.com/scala/scala3/pull/21202) + +## Runner + +- Wrap the arguments passed to the scalac task between " [#21322](https://github.com/scala/scala3/pull/21322) + +## REPL + +- Allow JLine to fall back to a dumb terminal [#21330](https://github.com/scala/scala3/pull/21330) + +## Semantic DB + +- fix: semanticdb symbol creation when `targetName` set [#20950](https://github.com/scala/scala3/pull/20950) + +## Tasty Format + +- add child to parent in completion context [#21214](https://github.com/scala/scala3/pull/21214) + +## Transform + +- Fix #20856: Serialize `Waiting` and `Evaluating` as if `null`. [#21243](https://github.com/scala/scala3/pull/21243) + +## Typeclass Derivation + +- Revert "Compensate loss of transitivity" [#21356](https://github.com/scala/scala3/pull/21356) + +## Typer + +- Avoid forcing ctors & parents which caused cycles [#17086](https://github.com/scala/scala3/pull/17086) +- Fix isomorphism tests of `AndOrType`s under non-empty `BinderPairs` [#21017](https://github.com/scala/scala3/pull/21017) +- Fail when a poly function value has a different number of type params than the expected poly function [#21248](https://github.com/scala/scala3/pull/21248) +- Fail early & more clearly on shaded-broken classfiles [#21262](https://github.com/scala/scala3/pull/21262) +- A tweak to type improvement [#21312](https://github.com/scala/scala3/pull/21312) +- Fix #20897: Make `Nothing ⋔ Nothing`, as per spec. [#21241](https://github.com/scala/scala3/pull/21241) + +# Experimental Changes + +## Modularity + +- fix: Only implement a deferred given in a class if its parent won't implement it [#21206](https://github.com/scala/scala3/pull/21206) + +## Named Tuples + +- Re-use isConcrete checking in match types for NamedTuple.From [#20947](https://github.com/scala/scala3/pull/20947) +- fix: Dealias NamedTuple's name types when resolving NamedTuple's element types [#21331](https://github.com/scala/scala3/pull/21331) + +## Safe Global Initialization + +- Fix exception on sequence matching with drop [#21281](https://github.com/scala/scala3/pull/21281) +- Fix uninitializing fields when evaluating a cached constructor call in global initialization checker [#21403](https://github.com/scala/scala3/pull/21403) + +# Contributors + +Thank you to all the contributors who made this release possible 🎉 + +According to `git shortlog -sn --no-merges 3.5.1..3.5.2-RC1` these are: + +``` + 21 Dale Wijnand + 12 Eugene Flesselle + 11 Katarzyna Marek + 6 dependabot[bot] + 5 Wojciech Mazur + 4 Hamza REMMAL + 4 Kacper Korban + 4 Martin Odersky + 4 Som Snytt + 4 Yichen Xu + 4 kasiaMarek + 3 Jamie Thompson + 2 EnzeXing + 2 Hamza Remmal + 2 Sébastien Doeraene + 1 Jan Chyb + 1 Jędrzej Rochala + 1 Kavin Satheeskumar + 1 Martin Duhem + 1 Matt Bovel + 1 Raphael Jolly + 1 noti0na1 + 1 philippus + +```