Skip to content

Commit f8a1d03

Browse files
committed
Add changelog for 3.7.3
Signed-off-by: Wojciech Mazur <[email protected]>
1 parent 350126f commit f8a1d03

File tree

1 file changed

+238
-0
lines changed

1 file changed

+238
-0
lines changed

changelogs/3.7.3.md

Lines changed: 238 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,238 @@
1+
# Release highlights
2+
3+
- Warn if implicit default shadows given [#23559](https://github.com/scala/scala3/pull/23559)
4+
- Standardize on `-Vprint:...` (still support `-Xprint:...` as alias) [#22828](https://github.com/scala/scala3/pull/22828)
5+
6+
# Other changes and fixes
7+
8+
## Desugaring
9+
10+
- Optimize simple tuple extraction [#23373](https://github.com/scala/scala3/pull/23373)
11+
12+
## Enums
13+
14+
- Make hashcode of enum items stable [#23218](https://github.com/scala/scala3/pull/23218)
15+
16+
## Erasure
17+
18+
- Replace erased class modifiers with Erased base traits [#23447](https://github.com/scala/scala3/pull/23447)
19+
- Bring back part of PruneErasedDefs [#23466](https://github.com/scala/scala3/pull/23466)
20+
21+
## Experimental: Capture Checking
22+
23+
- Fix parsing crash for update in later phases [#23390](https://github.com/scala/scala3/pull/23390)
24+
- Implement boxing for singleton type arguments [#23418](https://github.com/scala/scala3/pull/23418)
25+
- Expand Capability types also in arguments of Capability classes [#23427](https://github.com/scala/scala3/pull/23427)
26+
- Adjustments to the capability trilogy [#23428](https://github.com/scala/scala3/pull/23428)
27+
- Set context owner to the method for `paramsToCap` [#23436](https://github.com/scala/scala3/pull/23436)
28+
- Flatten nested capture sets in retainedElementsRaw [#23571](https://github.com/scala/scala3/pull/23571)
29+
- Fix well-formed test for capabilities [#23393](https://github.com/scala/scala3/pull/23393)
30+
- Add restricted capabilities `x.only[C]` [#23485](https://github.com/scala/scala3/pull/23485)
31+
- Rely on hidden sets for use checking [#23580](https://github.com/scala/scala3/pull/23580)
32+
33+
## Experimental: Seperation Checking
34+
35+
- Make separation checking controlled by language import [#23560](https://github.com/scala/scala3/pull/23560)
36+
37+
## Experimental: Erased Definitions
38+
39+
- Refactorings and fixes to erased definition handling [#23404](https://github.com/scala/scala3/pull/23404)
40+
41+
## Experimental: Explicit Nulls
42+
43+
- Add quick fix to remove unnecessary .nn [#23461](https://github.com/scala/scala3/pull/23461)
44+
- Add `stableNull` annotation to force tracking mutable fields [#23528](https://github.com/scala/scala3/pull/23528)
45+
46+
## Experimental: Global Initialization
47+
48+
- Rewrite resolveThis in global init checker [#23282](https://github.com/scala/scala3/pull/23282)
49+
- Fix errors in the global initialization checker when compiling bootstrapped dotty [#23429](https://github.com/scala/scala3/pull/23429)
50+
- Fix error in product-sequence match in global init checker [#23480](https://github.com/scala/scala3/pull/23480)
51+
52+
## Experimental: Into
53+
54+
- Fix isConversionTargetType test [#23401](https://github.com/scala/scala3/pull/23401)
55+
56+
## Experimental: Modularity
57+
58+
- Refinements to skolemizaton [#23513](https://github.com/scala/scala3/pull/23513)
59+
60+
## Experimental: Unroll
61+
62+
- Enable UnrollDefinitions phase in REPL frontend phases [#23433](https://github.com/scala/scala3/pull/23433)
63+
64+
## Extension Methods
65+
66+
- Avoid forcing extension on check of local select [#23439](https://github.com/scala/scala3/pull/23439)
67+
68+
## Implicits
69+
70+
- Refine implicit search fallbacks for better ClassTag handling [#23532](https://github.com/scala/scala3/pull/23532)
71+
72+
## Inline
73+
74+
- Fix Symbol.info remapping in TreeTypeMap [#23432](https://github.com/scala/scala3/pull/23432)
75+
- Fail not inlined inline method calls early [#22925](https://github.com/scala/scala3/pull/22925)
76+
- Fix inline export forwarder generation regression [#23126](https://github.com/scala/scala3/pull/23126)
77+
78+
## Linting
79+
80+
- Consider setter of effectively private var [#23211](https://github.com/scala/scala3/pull/23211)
81+
- Add accessible check for import usage [#23348](https://github.com/scala/scala3/pull/23348)
82+
- Check OrType in interpolated toString lint [#23365](https://github.com/scala/scala3/pull/23365)
83+
- Use result of lambda type of implicit in CheckUnused [#23497](https://github.com/scala/scala3/pull/23497)
84+
- Add suppression if nowarn differs [#23652](https://github.com/scala/scala3/pull/23652)
85+
86+
## Match Types
87+
88+
- Fix: #23261 Distinguish 0.0 and -0.0 in ConstantType match types [#23265](https://github.com/scala/scala3/pull/23265)
89+
90+
## Named Tuples
91+
92+
- Skip bypassing unapply for scala 2 case classes to allow for single-element named tuple in unapply [#23603](https://github.com/scala/scala3/pull/23603)
93+
94+
## Parser
95+
96+
- Enforce `-new-syntax` under `-language:future` [#23443](https://github.com/scala/scala3/pull/23443)
97+
- Disallow Scala 2 implicits under `-source:future` [#23472](https://github.com/scala/scala3/pull/23472)
98+
99+
## Pattern Matching
100+
101+
- Fix problems in checking that a constructor is uninhabited for exhaustive match checking [#23403](https://github.com/scala/scala3/pull/23403)
102+
103+
## Pickling
104+
105+
- Don't force annotation unpickling when testing for SilentIntoAnnot [#23506](https://github.com/scala/scala3/pull/23506)
106+
- Drop invalid assumption from TastyUnpickler [#23353](https://github.com/scala/scala3/pull/23353)
107+
108+
## Printer
109+
110+
- Print update modifier when printing update method definitions [#23392](https://github.com/scala/scala3/pull/23392)
111+
112+
## Positions
113+
114+
- Compare span points in pathTo to determine best span [#23581](https://github.com/scala/scala3/pull/23581)
115+
- Add line number magic comment support [#23549](https://github.com/scala/scala3/pull/23549)
116+
117+
## Presentation Compiler
118+
119+
- Port Inlay hints for name parameters [#23375](https://github.com/scala/scala3/pull/23375)
120+
- Fix: Simplify infer type for apply [#23434](https://github.com/scala/scala3/pull/23434)
121+
- Fix: Inconsistent annotation tooltips [#23454](https://github.com/scala/scala3/pull/23454)
122+
- Fix adjust type when already exists [#23455](https://github.com/scala/scala3/pull/23455)
123+
- Exclude named parameters inlay hints for java defined [#23462](https://github.com/scala/scala3/pull/23462)
124+
- Fix: StringIndexOutOfBoundsException in presentation compiler's hasColon method [#23498](https://github.com/scala/scala3/pull/23498)
125+
- Add InferredMethodProvider for automatic method signature generation [#23563](https://github.com/scala/scala3/pull/23563)
126+
- Fix completions for Quotes [#23619](https://github.com/scala/scala3/pull/23619)
127+
- Handle default arguments in named parameters for inlay hints [#23641](https://github.com/scala/scala3/pull/23641)
128+
- Fix issue with pc breaking in requiredMethod on newly overloaded valueOf [#23708](https://github.com/scala/scala3/pull/23708)
129+
- Handle default arguments in named parameters for inlay hints [#23641](https://github.com/scala/scala3/pull/23641)
130+
- Fix extracting refinements from intersection types in dynamic select hovers [#23640](https://github.com/scala/scala3/pull/23640)
131+
132+
## Quotes
133+
134+
- Skip splice level checking for `<refinement>` symbols [#22782](https://github.com/scala/scala3/pull/22782)
135+
- Fix stale top level synthetic package object being used in later runs [#23464](https://github.com/scala/scala3/pull/23464)
136+
- Emit an error for quoted pattern type variable after `new` [#23618](https://github.com/scala/scala3/pull/23618)
137+
- Fix issue with certain polyfunctions not properly matching in macros [#23614](https://github.com/scala/scala3/pull/23614)
138+
- Check PCP of constructor calls on the type [#7531](https://github.com/scala/scala3/pull/7531)
139+
140+
## Reflection
141+
142+
- Quotes reflect: sort the typeMembers output list and filter out non-members [#22876](https://github.com/scala/scala3/pull/22876)
143+
144+
## Reporting
145+
146+
- Add an explainer to the DoubleDefinition error [#23470](https://github.com/scala/scala3/pull/23470)
147+
- Suppress warnings in comprehensions with 22+ binds [#23590](https://github.com/scala/scala3/pull/23590)
148+
- Unhelpful error message when trying to use named extraction, when not matching case class or named tuple [#23354](https://github.com/scala/scala3/pull/23354)
149+
- Improve error message for conflicting definitions [#23453](https://github.com/scala/scala3/pull/23453)
150+
- `-Yprofile-trace` properly report macro splicing source [#23488](https://github.com/scala/scala3/pull/23488)
151+
- `-Yprofile-trace` profiles all inline calls [#23490](https://github.com/scala/scala3/pull/23490)
152+
153+
## Rewrites
154+
155+
- Patch empty implicit parens on error recovery [#22835](https://github.com/scala/scala3/pull/22835)
156+
- Rewrite underscore with optional space [#23525](https://github.com/scala/scala3/pull/23525)
157+
158+
## Runner
159+
160+
- Bump Scala CLI to v1.9.0 (was v1.8.4) [#23702](https://github.com/scala/scala3/pull/23856)
161+
162+
## Scaladoc
163+
164+
- Scaladoc: fixes and improvements to context bounds and extension methods [#22156](https://github.com/scala/scala3/pull/22156)
165+
- Encode path of class [#23503](https://github.com/scala/scala3/pull/23503)
166+
167+
## SemanticDB
168+
169+
- Bugfix: Also save infos in semanticdb [#23587](https://github.com/scala/scala3/pull/23587)
170+
171+
## Transform
172+
173+
- Handle multiple type parameter lists in value class methods [#23516](https://github.com/scala/scala3/pull/23516)
174+
- Check path of module prefix for tailrec [#23491](https://github.com/scala/scala3/pull/23491)
175+
176+
## Tuples
177+
178+
- Normalize tuple types in var args seq literals and classOf instances [#23465](https://github.com/scala/scala3/pull/23465)
179+
180+
## Typer
181+
182+
- Fix #22922: Add TypeParamRef handling in isSingletonBounded [#23501](https://github.com/scala/scala3/pull/23501)
183+
- Fix this references everywhere in dependent function types [#23514](https://github.com/scala/scala3/pull/23514)
184+
- Don't approximate a type using `Nothing` as prefix [#23531](https://github.com/scala/scala3/pull/23531)
185+
- Support cleanup actions in class completers [#23515](https://github.com/scala/scala3/pull/23515)
186+
- Fix regressions in asSeenFrom introduced in 3.7 [#23438](https://github.com/scala/scala3/pull/23438)
187+
- Use correct owner in eta expansion [#7564](https://github.com/scala/scala3/pull/7564)
188+
- Fix irrefutability checking in `for` with untupling [#23273](https://github.com/scala/scala3/pull/23273)
189+
- Fix missing members reporting for var setters [#23476](https://github.com/scala/scala3/pull/23476)
190+
- Guard against invalid prefixes in argForParam [#23508](https://github.com/scala/scala3/pull/23508)
191+
- Add missing case to TypeComparer [#23550](https://github.com/scala/scala3/pull/23550)
192+
- Fix match type bounds checking problem [#23695](https://github.com/scala/scala3/pull/23695)
193+
- Generalize "Don't approximate a type using Nothing as prefix" [#23628](https://github.com/scala/scala3/pull/23628)
194+
- More careful ClassTag instantiation [#23659](https://github.com/scala/scala3/pull/23659)
195+
- Use more context for implicit search only if no default argument [#23664](https://github.com/scala/scala3/pull/23664)
196+
197+
# Contributors
198+
199+
Thank you to all the contributors who made this release possible 🎉
200+
201+
According to `git shortlog -sn --no-merges 3.7.2..3.7.3` these are:
202+
203+
```
204+
85 Martin Odersky
205+
56 Hamza Remmal
206+
29 Wojciech Mazur
207+
20 Som Snytt
208+
20 noti0na1
209+
18 Yichen Xu
210+
15 Jan Chyb
211+
9 Matt Bovel
212+
7 EnzeXing
213+
7 Guillaume Martres
214+
6 aherlihy
215+
5 Sébastien Doeraene
216+
4 Zieliński Patryk
217+
3 Oliver Bračevac
218+
3 Piotr Chabelski
219+
3 Tomasz Godzik
220+
2 Alexander
221+
2 Mikołaj Fornal
222+
2 Seyon Sivatharan
223+
1 Alex1005a
224+
1 HarrisL2
225+
1 Jan
226+
1 Jentsch
227+
1 Jędrzej Rochala
228+
1 Kacper Korban
229+
1 Katarzyna Marek
230+
1 Marc GRIS
231+
1 Martin Duhem
232+
1 Patryk Zieliński
233+
1 Przemysław Sajnóg
234+
1 Seth Tisue
235+
1 Wessel W. Bakker
236+
1 bingchen-li
237+
1 kijuky
238+
```

0 commit comments

Comments
 (0)