Skip to content

Commit dc31942

Browse files
committed
Add changelog for 3.5.1
1 parent 5ceeef2 commit dc31942

File tree

1 file changed

+196
-0
lines changed

1 file changed

+196
-0
lines changed

Diff for: changelogs/3.5.1.md

+196
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,196 @@
1+
# Highlights of the release
2+
3+
- Add sources of synthetic classes to sources jar [#20904](https://github.com/lampepfl/dotty/pull/20904)
4+
5+
# Other changes and fixes
6+
7+
## Annotations
8+
9+
- Preventing compilation of a @tailrec method when it does not rewrite, but an inner method does [#20143](https://github.com/lampepfl/dotty/pull/20143)
10+
- #20145 - bugfix when a return tailrec is called inside a val def. [#20652](https://github.com/lampepfl/dotty/pull/20652)
11+
12+
## Backend
13+
14+
- Fix EnclosingMethod for lifted anonfun [#20558](https://github.com/lampepfl/dotty/pull/20558)
15+
- Emit switch bytecode when matching unions of a switchable type [#20411](https://github.com/lampepfl/dotty/pull/20411)
16+
- Fix deterministically adding additional interfaces [#20593](https://github.com/lampepfl/dotty/pull/20593)
17+
- Emit generatedNonLocalClass in backend when callback is not enabled [#21186](https://github.com/scala/scala3/pull/21186)
18+
19+
## Documentation
20+
21+
- Avoid jpath in example [#20775](https://github.com/lampepfl/dotty/pull/20775)
22+
- Chore: Fix doc link in clauseInterleaving docstring [#20590](https://github.com/lampepfl/dotty/pull/20590)
23+
- Chore: fix doc link in namedTuples docstring [#20770](https://github.com/lampepfl/dotty/pull/20770)
24+
25+
## Erasure
26+
27+
- Don't re-balance AndTypes arising from supertypes [#20400](https://github.com/lampepfl/dotty/pull/20400)
28+
29+
## GADTs
30+
31+
- Harden GADT constraint handling to survive illegal F-bounds [#20325](https://github.com/lampepfl/dotty/pull/20325)
32+
33+
## Inferencing
34+
35+
- Adapt toInstantiate in interpolateTypeVars to consider #20399 [#20426](https://github.com/lampepfl/dotty/pull/20426)
36+
37+
## Infrastructure
38+
39+
- Update `addToBackportingProject.scala` [#20461](https://github.com/lampepfl/dotty/pull/20461)
40+
- Simple scripts to run non-bootstrapped compiler after 'sbt buildQuick' [#19894](https://github.com/lampepfl/dotty/pull/19894)
41+
- Bump from 3.4.0 to 3.5.0-RC1 for MiMA [#20404](https://github.com/lampepfl/dotty/pull/20404)
42+
- Set reference version to 3.5.0-RC4 [#21175](https://github.com/scala/scala3/pull/21175)
43+
- Bring back windows performance improvements [#20423](https://github.com/lampepfl/dotty/pull/20423)
44+
- Bump scalacenter/sbt-dependency-submission from 2 to 3 [#20440](https://github.com/lampepfl/dotty/pull/20440)
45+
- Fix incorrect paths to sha256 check sum files in release workflow [#20709](https://github.com/lampepfl/dotty/pull/20709)
46+
- Bump VirtusLab/scala-cli-setup from 1.3.2 to 1.4.0 [#20906](https://github.com/lampepfl/dotty/pull/20906)
47+
48+
## Inline
49+
50+
- Mark genSJSIR as *disabled* (rather than non-*runnable*) when no `-scalajs`. [#20815](https://github.com/lampepfl/dotty/pull/20815)
51+
- Map over refs of `ImportType`s in `TypeMap` [#20837](https://github.com/lampepfl/dotty/pull/20837)
52+
53+
## Initialization
54+
55+
- More principled filtering of abstract values in initialization check [#20548](https://github.com/lampepfl/dotty/pull/20548)
56+
57+
## Match Types
58+
59+
- TryCompiletimeConstantFold in disjointnessBoundary [#20168](https://github.com/lampepfl/dotty/pull/20168)
60+
61+
## Pattern Matching
62+
63+
- Fix #20372: Check pattern match exhaustivity in inlined code [#20403](https://github.com/lampepfl/dotty/pull/20403)
64+
65+
## Presentation Compiler
66+
67+
- Add pattern completion for unapply contexts [#20274](https://github.com/lampepfl/dotty/pull/20274)
68+
- Bugfix: Exclude newer LSP4j, which is built on JDK 11 [#20771](https://github.com/lampepfl/dotty/pull/20771)
69+
- Chore: Bump mtags to latest stable [#20442](https://github.com/lampepfl/dotty/pull/20442)
70+
- Weekly metals backport [#20542](https://github.com/lampepfl/dotty/pull/20542)
71+
- Port pc find references from metals [#20544](https://github.com/lampepfl/dotty/pull/20544)
72+
73+
## Quotes
74+
75+
- Add regression test for issue 20309 [#20387](https://github.com/lampepfl/dotty/pull/20387)
76+
77+
## REPL
78+
79+
- Only consider methods with 0 parameters in valueOf [#20543](https://github.com/lampepfl/dotty/pull/20543)
80+
81+
## Reflection
82+
83+
- Fix erasure crash for Inlined rhs of a context function closure [#20398](https://github.com/lampepfl/dotty/pull/20398)
84+
- Fix #20458: do not expose ClassInfo in quotes reflect widenTermRefByName [#20468](https://github.com/lampepfl/dotty/pull/20468)
85+
86+
## Reporting
87+
88+
- Fix error message on setter with wrong type [#20444](https://github.com/lampepfl/dotty/pull/20444)
89+
- Add a specific error message for local final defs [#20557](https://github.com/lampepfl/dotty/pull/20557)
90+
- Explain unresolvable references better [#20477](https://github.com/lampepfl/dotty/pull/20477)
91+
- Add error code to diagnostics about unused code [#19780](https://github.com/lampepfl/dotty/pull/19780)
92+
- Better error diagnostics for illegal match cases [#20905](https://github.com/lampepfl/dotty/pull/20905)
93+
94+
## Runner
95+
96+
- Bump scala-cli to 1.4.1 + drop old cli management [#21234](https://github.com/scala/scala3/pull/21234)
97+
- Bump scala-cli to 1.4.3 [#21338](https://github.com/scala/scala3/pull/21338)
98+
99+
## Scaladoc
100+
101+
- Fix handling of right associative extension methods across scaladoc and printers [#20467](https://github.com/lampepfl/dotty/pull/20467)
102+
103+
## Specification
104+
105+
- Add binary lits to syntax summaries [#19551](https://github.com/lampepfl/dotty/pull/19551)
106+
107+
## Settings
108+
109+
- Enhance help message for language flag [#20247](https://github.com/lampepfl/dotty/pull/20247)
110+
- Accept legacy language features [#20454](https://github.com/lampepfl/dotty/pull/20454)
111+
- Set default source version to 3.5 [#20435](https://github.com/lampepfl/dotty/pull/20435)
112+
113+
## Tooling
114+
115+
- Improve source positions emited for synthetic unit in if-conditions [#20431](https://github.com/lampepfl/dotty/pull/20431)
116+
- Adjust the API name entry for nested classes [#20279](https://github.com/lampepfl/dotty/pull/20279)
117+
- Fix declaring product of straight-to-jar compilation [#20592](https://github.com/lampepfl/dotty/pull/20592)
118+
119+
## Transform
120+
121+
- Correct Java signature for value classes appearing in type arguments [#20463](https://github.com/lampepfl/dotty/pull/20463)
122+
123+
## Typer
124+
125+
- Retry `constraint.replace` after `constraint.updateEntry` [#20399](https://github.com/lampepfl/dotty/pull/20399)
126+
- Add special handling for comparisons with Singleton types [#20474](https://github.com/lampepfl/dotty/pull/20474)
127+
- Reinstantiate restriction to transparent inline methods [#20371](https://github.com/lampepfl/dotty/pull/20371)
128+
- Add regression test for #20288 fixed in #20527 [#20857](https://github.com/lampepfl/dotty/pull/20857)
129+
- Fix isEffectivelySingleton [#20486](https://github.com/lampepfl/dotty/pull/20486)
130+
- Fall back to direct subtype comparison at the end in dropIfSuper and dropIfSub [#20523](https://github.com/lampepfl/dotty/pull/20523)
131+
- Mark AppliedType cachedSuper valid Nowhere when using provisional args [#20527](https://github.com/lampepfl/dotty/pull/20527)
132+
- Fix healAmbiguous to compareAlternatives with disambiguate = true [#21372](https://github.com/scala/scala3/pull/21372)
133+
134+
# Experimentqal Changes
135+
136+
## Capture Checking
137+
138+
- Fix soundness hole of forgotten reach capabilities [#20524](https://github.com/lampepfl/dotty/pull/20524)
139+
- Drop @capability annotations [#20396](https://github.com/lampepfl/dotty/pull/20396)
140+
- Fix symbol reference retrivial for `scala.caps.Caps` [#20493](https://github.com/lampepfl/dotty/pull/20493)
141+
- Refactor adaptBoxed [#20525](https://github.com/lampepfl/dotty/pull/20525)
142+
- Fix error related to reaches when using scala2-library-cc-tasty [#20528](https://github.com/lampepfl/dotty/pull/20528)
143+
144+
## Named tuples
145+
146+
- Make NamedTuple.Empty an alias to NamedTuple [#20502](https://github.com/lampepfl/dotty/pull/20502)
147+
- Move NamedTuple methods to separate scope. re-export [#20504](https://github.com/lampepfl/dotty/pull/20504)
148+
- WidenDealias before extracting namedTupleElementTypes [#20505](https://github.com/lampepfl/dotty/pull/20505)
149+
- Improve type inference for literal named tuples [#20497](https://github.com/lampepfl/dotty/pull/20497)
150+
- Fix issue #20267 with regression test [#20506](https://github.com/lampepfl/dotty/pull/20506)
151+
- Only set `AppliedType#validSuper` after `AppliedType#cachedSuper` [#20553](https://github.com/lampepfl/dotty/pull/20553)
152+
- Fix NamedTuple selection on an unstable prefix [#20455](https://github.com/lampepfl/dotty/pull/20455)
153+
- Allow `apply` adaptation on Selectable with Fields [#20489](https://github.com/lampepfl/dotty/pull/20489)
154+
155+
# Contributors
156+
157+
Thank you to all the contributors who made this release possible 🎉
158+
159+
According to `git shortlog -sn --no-merges 3.5.0..3.5.1` these are:
160+
161+
```
162+
82 Martin Odersky
163+
29 Wojciech Mazur
164+
22 Hamza REMMAL
165+
16 Jamie Thompson
166+
15 Eugene Flesselle
167+
14 Hamza Remmal
168+
13 noti0na1
169+
9 Katarzyna Marek
170+
7 Fengyun Liu
171+
7 Jan Chyb
172+
6 Dale Wijnand
173+
6 Guillaume Martres
174+
5 Som Snytt
175+
4 dependabot[bot]
176+
3 Adrien Piquerez
177+
3 Derek Wickern
178+
3 Matt Bovel
179+
3 OlegYch
180+
2 Florian3k
181+
2 Kacper Korban
182+
2 Lucy Martin
183+
2 Paweł Marks
184+
2 Tomasz Godzik
185+
1 Arnout Engelen
186+
1 Eugene Yokota
187+
1 João Ferreira
188+
1 Kasper Kondzielski
189+
1 Lucas Nouguier
190+
1 Lukas Rytz
191+
1 Mikołaj Fornal
192+
1 Nafer Sanabria
193+
1 Natsu Kagami
194+
1 Seth Tisue
195+
1 Sébastien Doeraene
196+
```

0 commit comments

Comments
 (0)