Skip to content

Commit 3bfb052

Browse files
committed
Add changelog for 3.7.2
1 parent 1800e3c commit 3bfb052

File tree

1 file changed

+207
-0
lines changed

1 file changed

+207
-0
lines changed

changelogs/3.7.2.md

Lines changed: 207 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,207 @@
1+
# Highlights of the release
2+
3+
- Implement applied constructor types [#22543](https://github.com/scala/scala3/pull/22543)
4+
- Bump Scala CLI to v1.8.4 (was v1.8.0) [#23538](https://github.com/scala/scala3/pull/23538)
5+
- Support for URLs in using file directives
6+
- Better support for the REPL with JDK 24+
7+
- experimental publish support for the Sonatype Central Portal
8+
- See full [Scala CLI changelog](https://github.com/VirtusLab/scala-cli/releases/tag/v1.8.4)
9+
10+
# Other changes and fixes
11+
12+
## Documentation
13+
14+
- Mark `AnyRef::eq` and `AnyRef::ne` as infix instead of special casing when emitting the warning [#23252](https://github.com/scala/scala3/pull/23252)
15+
- Mark `eq` and `ne` in Predef as `infix` [#23255](https://github.com/scala/scala3/pull/23255)
16+
17+
## Experimental: Capture Checking
18+
19+
- Allow caps in result types of functions to be mapped to reaches [#23275](https://github.com/scala/scala3/pull/23275)
20+
- Adapt types according to read-only status [#23332](https://github.com/scala/scala3/pull/23332)
21+
- Rename `mut` to `update` [#23335](https://github.com/scala/scala3/pull/23335)
22+
- Change retains annotation from using term arguments to using type arguments [#22909](https://github.com/scala/scala3/pull/22909)
23+
- New Syntax for Capture Variables and Explicit Capture Polymorphism v3 [#23063](https://github.com/scala/scala3/pull/23063)
24+
- Fix #23223: Add handling for classes deriving from Capability during Setup [#23248](https://github.com/scala/scala3/pull/23248)
25+
- Copy `@use` and `@consume` annotations to parameter types [#23324](https://github.com/scala/scala3/pull/23324)
26+
- Fix handling of `@use` and `@consume` in class parameters [#23342](https://github.com/scala/scala3/pull/23342)
27+
- Some usability improvements relating to errors [#23370](https://github.com/scala/scala3/pull/23370)
28+
- Loosen the "does not match previously inferred" criterion [#23067](https://github.com/scala/scala3/pull/23067)
29+
- Use level checking for Fresh instances [#23101](https://github.com/scala/scala3/pull/23101)
30+
- Ensure all capture variables carry the attachment [#23162](https://github.com/scala/scala3/pull/23162)
31+
- Cache ResultCaps [#23198](https://github.com/scala/scala3/pull/23198)
32+
- Move separation checking to `-source:3.8` [#23249](https://github.com/scala/scala3/pull/23249)
33+
- Refactorings for CC error reporting [#23260](https://github.com/scala/scala3/pull/23260)
34+
- Standardize on log-based undo [#23357](https://github.com/scala/scala3/pull/23357)
35+
- Flag nonsensical capturing types with pure parents as errors [#23367](https://github.com/scala/scala3/pull/23367)
36+
37+
## Experimental: Erased Definitions
38+
39+
- Erased fields are not nullable [#23311](https://github.com/scala/scala3/pull/23311)
40+
41+
## Experimental: Explicit Nulls
42+
43+
- Relax comparison between Null and reference types in explicit nulls [#23308](https://github.com/scala/scala3/pull/23308)
44+
- Warn about unnecessary uses of .nn [#23327](https://github.com/scala/scala3/pull/23327)
45+
46+
## Experimental: Global Initialization
47+
48+
- Modified abstract domain in global initialization checker [#23138](https://github.com/scala/scala3/pull/23138)
49+
50+
## Experimental: Into Modifier
51+
52+
- Change `into` scheme to be fully type-based [#23014](https://github.com/scala/scala3/pull/23014)
53+
54+
## Implicits
55+
56+
- Try extensions for arguments with type mismatch error [#23212](https://github.com/scala/scala3/pull/23212)
57+
58+
## Linting
59+
60+
- Improve checking LHS of Assign [#22977](https://github.com/scala/scala3/pull/22977)
61+
- Remove premature caching of lookups for unused lint [#22982](https://github.com/scala/scala3/pull/22982)
62+
- Enclosing package p.q not visible as q [#23069](https://github.com/scala/scala3/pull/23069)
63+
- Mention extension in unused param warning [#23132](https://github.com/scala/scala3/pull/23132)
64+
- Improve Unit ascription escape hatch [#23147](https://github.com/scala/scala3/pull/23147)
65+
- Dealias for unused param check [#23256](https://github.com/scala/scala3/pull/23256)
66+
- Take inferred or explicit refinement result for unused check [#23325](https://github.com/scala/scala3/pull/23325)
67+
- Nowarn receiver of extension taking params [#23351](https://github.com/scala/scala3/pull/23351)
68+
- Improved edit span for import [#23083](https://github.com/scala/scala3/pull/23083)
69+
- Use result of lambda type of implicit in CheckUnused [#23497](https://github.com/scala/scala3/pull/23497)
70+
71+
## Parser
72+
73+
- Fix incorrect warning with -no-indent [#23216](https://github.com/scala/scala3/pull/23216)
74+
- Patvar: adjust caret in error message [#23115](https://github.com/scala/scala3/pull/23115)
75+
- Disallow empty parameter clauses in `extension` definition [#23143](https://github.com/scala/scala3/pull/23143)
76+
77+
## Pattern Matching
78+
79+
- Improve GADT reasoning for pattern alternatives [#23205](https://github.com/scala/scala3/pull/23205)
80+
81+
## Pickling
82+
83+
- Try to handle SkolemTypes in SingletonTypeTree during pickling [#23236](https://github.com/scala/scala3/pull/23236)
84+
- Avoid creating constructors where not warranted [#23178](https://github.com/scala/scala3/pull/23178)
85+
86+
## Presentation Compiler
87+
88+
- Use untpd.Tree instead of tpd.Tree for SelectionRangeProvider [#22702](https://github.com/scala/scala3/pull/22702)
89+
- Fix completion mode filtering + optimize scopeCompletions [#23172](https://github.com/scala/scala3/pull/23172)
90+
- Handle multiple params lists in for infer type [#23197](https://github.com/scala/scala3/pull/23197)
91+
- Add jpath to VirtualFile (for pc) [#23203](https://github.com/scala/scala3/pull/23203)
92+
- Add selection ranges for more names [#23257](https://github.com/scala/scala3/pull/23257)
93+
- Add inlay hints for by-name parameters [#23283](https://github.com/scala/scala3/pull/23283)
94+
- Implement code action 'convert to named lambda parameters' [#22799](https://github.com/scala/scala3/pull/22799)
95+
- Improve completions when a lot of exports are present [#23414](https://github.com/scala/scala3/pull/23414)
96+
- Buffix: Make PC actions work for re-exported symbols [#22722](https://github.com/scala/scala3/pull/22722)
97+
- Bugfix: Fix enumeration issues when Value is imported [#23124](https://github.com/scala/scala3/pull/23124)
98+
- Bugfix: Check in the collector for empty arrays [#23341](https://github.com/scala/scala3/pull/23341)
99+
- Bugfix: Don't check scope members if not needed [#23384](https://github.com/scala/scala3/pull/23384)
100+
- Improvement: Don't dealias named tuples for type hints [#23013](https://github.com/scala/scala3/pull/23013)
101+
- Improvement: Simplify match types when possible [#23146](https://github.com/scala/scala3/pull/23146)
102+
- Improvement: Improve efficiency of completions [#23355](https://github.com/scala/scala3/pull/23355)
103+
- Improvement: Cache compilation on . and don't add CURSOR [#23356](https://github.com/scala/scala3/pull/23356)
104+
105+
## Private Options
106+
107+
- Add an `-Yimplicit-to-given` flag for rewrites to easily test changes in the ecosystem [#22580](https://github.com/scala/scala3/pull/22580)
108+
- Add `scala.language.2.13` [#23219](https://github.com/scala/scala3/pull/23219)
109+
110+
## Rewrites
111+
112+
- Remove empty parentheses when rewriting implicits to givens [#23339](https://github.com/scala/scala3/pull/23339)
113+
114+
## Quotes
115+
116+
- Preserve implicits in Quotes context [#23263](https://github.com/scala/scala3/pull/23263)
117+
- Don't StackOverflow when printing RecursiveType structure. [#22859](https://github.com/scala/scala3/pull/22859)
118+
119+
## Reflection
120+
121+
- Forbid `StringConstant(null)` [#23064](https://github.com/scala/scala3/pull/23064)
122+
123+
## Reporting
124+
125+
- Fix incorrect warning on type ascription for backquoted identifiers [#23088](https://github.com/scala/scala3/pull/23088)
126+
- Improve position of deprecation [#23052](https://github.com/scala/scala3/pull/23052)
127+
- Have a better error message when context bounds are not allowed [#23190](https://github.com/scala/scala3/pull/23190)
128+
- Avoid false warning when synthesising deferred givens [#23087](https://github.com/scala/scala3/pull/23087)
129+
- Fix insufficient number width allocated when using `-print-lines` [#23336](https://github.com/scala/scala3/pull/23336)
130+
131+
## SemanticDB
132+
133+
- Fix SemantiDB production of method signature with shadowed parameters [#23161](https://github.com/scala/scala3/pull/23161)
134+
- Check if symbol exists before calling methods on it [#23376](https://github.com/scala/scala3/pull/23376)
135+
136+
## Settings
137+
138+
- Filter allowed source versions by import and by settings [#23215](https://github.com/scala/scala3/pull/23215)
139+
140+
## Tooling
141+
142+
- Suggest to add using as a code action [#23079](https://github.com/scala/scala3/pull/23079)
143+
144+
## Transform
145+
146+
- Warn trivial recursion with module prefix [#23278](https://github.com/scala/scala3/pull/23278)
147+
- Partial function synthesis changesOwner of selector [#23337](https://github.com/scala/scala3/pull/23337)
148+
- Check path of module prefix for tailrec [#23491](https://github.com/scala/scala3/pull/23491)
149+
- Fix stale top level synthetic package object being used in later runs [#23464](https://github.com/scala/scala3/pull/23464)
150+
151+
## Typer
152+
153+
- Compare TypeVar and TypeParamRef in mergeRefinedOrApplied [#23045](https://github.com/scala/scala3/pull/23045)
154+
- Revert recent changes to opaque type proxy generation [#23059](https://github.com/scala/scala3/pull/23059)
155+
- Only keep denotation for methods in IntegrateMap [#23226](https://github.com/scala/scala3/pull/23226)
156+
- Tighten condition when to do SAM type conversion [#23246](https://github.com/scala/scala3/pull/23246)
157+
- Revert "Make overload pruning based on result types less aggressive (#21744)" in main [#23331](https://github.com/scala/scala3/pull/23331)
158+
- Tweak parameter dependency test when typing applications [#23346](https://github.com/scala/scala3/pull/23346)
159+
- Ensure pt span exists in implicitParams migration [#23372](https://github.com/scala/scala3/pull/23372)
160+
- Check for error before checking members of product type in getUnapplySelectors [#23358](https://github.com/scala/scala3/pull/23358)
161+
- Synthesise value of `this.type` in `ValueOf` [#23094](https://github.com/scala/scala3/pull/23094)
162+
- Hide constructor proxies at PostTyper [#23269](https://github.com/scala/scala3/pull/23269)
163+
- Fix regressions in asSeenFrom introduced in 3.7 [#23438](https://github.com/scala/scala3/pull/23438)
164+
165+
# Contributors
166+
167+
Thank you to all the contributors who made this release possible 🎉
168+
169+
According to `git shortlog -sn --no-merges 3.7.1..3.7.2` these are:
170+
171+
```
172+
93 Martin Odersky
173+
29 Wojciech Mazur
174+
22 Som Snytt
175+
22 noti0na1
176+
14 Tomasz Godzik
177+
13 Hamza Remmal
178+
13 Yichen Xu
179+
6 EnzeXing
180+
5 Jan Chyb
181+
5 Matt Bovel
182+
3 Oliver Bračevac
183+
3 aherlihy
184+
3 kasiaMarek
185+
2 Alexander
186+
2 Dale Wijnand
187+
2 Dolphin von Chips
188+
2 Georgi Krastev
189+
2 Jędrzej Rochala
190+
2 Kacper Korban
191+
2 Natsu Kagami
192+
2 Ondrej Lhotak
193+
2 Piotr Chabelski
194+
2 Seyon Sivatharan
195+
2 Yoonjae Jeon
196+
2 Zieliński Patryk
197+
1 Guillaume Martres
198+
1 Jakub Kozłowski
199+
1 Katarzyna Marek
200+
1 MatthieuSLR9
201+
1 Ondřej Lhoták
202+
1 Tomas Mikula
203+
1 anna herlihy
204+
1 dependabot[bot]
205+
1 rochala
206+
1 s2sivath
207+
```

0 commit comments

Comments
 (0)