Skip to content

Commit ac9c744

Browse files
committed
Add release notes for 3.7.3-RC1
1 parent 25f35fa commit ac9c744

File tree

1 file changed

+224
-0
lines changed

1 file changed

+224
-0
lines changed

changelogs/3.7.3-RC1.md

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

0 commit comments

Comments
 (0)