Skip to content

Commit 782d1f6

Browse files
committed
Add changelog for 3.5.0-RC1
1 parent 4ebe8f4 commit 782d1f6

File tree

1 file changed

+254
-0
lines changed

1 file changed

+254
-0
lines changed

changelogs/3.5.0-RC1.md

+254
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,254 @@
1+
# Highlights of the release
2+
3+
- Bundle scala-cli in scala command (For RC1 requires JVM 17, further RCs will use native launchers)
4+
- Introduce Best Effort compilation options [#17582](https://github.com/lampepfl/dotty/pull/17582)
5+
- Add support for Pipelined builds [#18880](https://github.com/lampepfl/dotty/pull/18880)
6+
- Add support for `var` in refinements [#19982](https://github.com/lampepfl/dotty/pull/19982)
7+
- Implement SIP-42 - Support for binary integer literals [#19405](https://github.com/lampepfl/dotty/pull/19405)
8+
9+
# Other changes and fixes
10+
11+
## Backend
12+
13+
- Fix Closure span assignment in makeClosure [#15841](https://github.com/lampepfl/dotty/pull/15841)
14+
15+
## Default parameters
16+
17+
- Fix default args lookup for given classes [#20256](https://github.com/lampepfl/dotty/pull/20256)
18+
- Fix implicit search failure reporting [#20261](https://github.com/lampepfl/dotty/pull/20261)
19+
20+
## Derivation
21+
22+
- Fix infinite loop in Mirror synthesis of unreducible match type [#20133](https://github.com/lampepfl/dotty/pull/20133)
23+
24+
## Desugaring
25+
26+
- Add explanation to checkCaseClassInheritanceInvariant error msg [#20141](https://github.com/lampepfl/dotty/pull/20141)
27+
28+
## Exports
29+
30+
- Add annotations in parameters for exports [#20140](https://github.com/lampepfl/dotty/pull/20140)
31+
- Fix isAliasType [#20195](https://github.com/lampepfl/dotty/pull/20195)
32+
33+
## Implicits
34+
35+
- Fix implicitNotFound message for type aliases [#19343](https://github.com/lampepfl/dotty/pull/19343)
36+
- Normalize types before collecting parts determining implicit scope [#20077](https://github.com/lampepfl/dotty/pull/20077)
37+
- Better error diagnostics under -explain-cyclic [#20251](https://github.com/lampepfl/dotty/pull/20251)
38+
- Update unreducible match types error reporting [#19954](https://github.com/lampepfl/dotty/pull/19954)
39+
- Improve ConstraintHandling of SkolemTypes [#20175](https://github.com/lampepfl/dotty/pull/20175)
40+
41+
## Incremental Compilation
42+
43+
- Retain default parameters with `export` [#20167](https://github.com/lampepfl/dotty/pull/20167)
44+
45+
## Inline
46+
47+
- Fix by-name parameter in beta-reduction [#20096](https://github.com/lampepfl/dotty/pull/20096)
48+
- Add warning for anonymous inline classes (#16723) [#20291](https://github.com/lampepfl/dotty/pull/20291)
49+
- Avoid conversion of `Unit` type into `()` term [#20295](https://github.com/lampepfl/dotty/pull/20295)
50+
- Type desugared `transparent inline def unapply` call in the correct mode [#20108](https://github.com/lampepfl/dotty/pull/20108)
51+
- Regression: fix compilation performance on Windows [#20193](https://github.com/lampepfl/dotty/pull/20193)
52+
- Fix inline match on blocks with multiple statements [#20125](https://github.com/lampepfl/dotty/pull/20125)
53+
- Inline `unapply`s in the inlining phase [#19382](https://github.com/lampepfl/dotty/pull/19382)
54+
- Fix outerSelect in Inliner [#20313](https://github.com/lampepfl/dotty/pull/20313)
55+
56+
## Linting
57+
58+
- Fix #20146: attach the original name if there is an import selection for an indent [#20163](https://github.com/lampepfl/dotty/pull/20163)
59+
- Add regression test for issue 18632 [#20308](https://github.com/lampepfl/dotty/pull/20308)
60+
61+
## Match Types
62+
63+
- Make aliases of `MatchAlias`es normal `TypeAlias`es [#19871](https://github.com/lampepfl/dotty/pull/19871)
64+
- Fix #19746: Do not follow param term refs in `isConcrete`. [#20015](https://github.com/lampepfl/dotty/pull/20015)
65+
- Do match type reduction atPhaseNoLater than ElimOpaque [#20017](https://github.com/lampepfl/dotty/pull/20017)
66+
- Do not flag match types as `Deferred` and amend #20077 [#20147](https://github.com/lampepfl/dotty/pull/20147)
67+
- Always use baseType when constraining patternTp with scrutineeTp [#20032](https://github.com/lampepfl/dotty/pull/20032)
68+
- Use `MirrorSource.reduce` result for `companionPath` [#20207](https://github.com/lampepfl/dotty/pull/20207)
69+
- Regression: Fix match type extraction of a MatchAlias [#20111](https://github.com/lampepfl/dotty/pull/20111)
70+
71+
## Polyfunctions
72+
73+
- Discard poly-functions when trying to resolve overloading [#20181](https://github.com/lampepfl/dotty/pull/20181)
74+
75+
## Presentation Compiler
76+
77+
- Stabilise returned completions by improving deduplication + extra completions for constructors [#19976](https://github.com/lampepfl/dotty/pull/19976)
78+
- Fix active param index for empty param lists [#20142](https://github.com/lampepfl/dotty/pull/20142)
79+
- Delias type members in hover [#20173](https://github.com/lampepfl/dotty/pull/20173)
80+
- Interactive: handle context bounds in extension construct workaround [#20201](https://github.com/lampepfl/dotty/pull/20201)
81+
- Fix: prefer non-export definition locations [#20252](https://github.com/lampepfl/dotty/pull/20252)
82+
- Don't show enum completions in new keyword context [#20304](https://github.com/lampepfl/dotty/pull/20304)
83+
- Chore: Backport changes for presentation compiler [#20345](https://github.com/lampepfl/dotty/pull/20345)
84+
- Add custom matchers for completions (fuzzy search for presentation compiler) [#19850](https://github.com/lampepfl/dotty/pull/19850)
85+
86+
## Quotes
87+
88+
- Fix TermRef prefixes not having their type healed [#20102](https://github.com/lampepfl/dotty/pull/20102)
89+
- Improve reporting in staging about the possible use of an incorrect class loader [#20137](https://github.com/lampepfl/dotty/pull/20137)
90+
- Introduce MethodTypeKind to quotes reflection API [#20249](https://github.com/lampepfl/dotty/pull/20249)
91+
- Add quote ASTs to TASTy [#20165](https://github.com/lampepfl/dotty/pull/20165)
92+
93+
## Reflection
94+
95+
- Allow to beta reduce curried function applications in quotes reflect [#18121](https://github.com/lampepfl/dotty/pull/18121)
96+
- Set the inlining phase in the Context used for checking macro trees [#20087](https://github.com/lampepfl/dotty/pull/20087)
97+
- Add Symbol.isSuperAccessor to reflection API [#13388](https://github.com/lampepfl/dotty/pull/13388)
98+
- Stabilize reflect `SymbolMethods.isSuperAccessor` [#20198](https://github.com/lampepfl/dotty/pull/20198)
99+
100+
## Repl
101+
102+
- Fix validity period of derived SingleDenotations [#19983](https://github.com/lampepfl/dotty/pull/19983)
103+
- Fix #18383: Never consider top-level `import`s as unused in the repl. [#20310](https://github.com/lampepfl/dotty/pull/20310)
104+
105+
## Reporting
106+
107+
- Warn if extension receiver already has member [#17543](https://github.com/lampepfl/dotty/pull/17543)
108+
- Deprecation of case class elements [#17911](https://github.com/lampepfl/dotty/pull/17911)
109+
- Support src filter in -WConf (Closes #17635) [#18783](https://github.com/lampepfl/dotty/pull/18783)
110+
- Add note about type mismatch in automatically inserted apply argument [#20023](https://github.com/lampepfl/dotty/pull/20023)
111+
- Make error reporting resilient to exception thrown while reporting [#20158](https://github.com/lampepfl/dotty/pull/20158)
112+
- Remove duplicate comma from Matchable selector warning [#20159](https://github.com/lampepfl/dotty/pull/20159)
113+
- Generalize warnings for top-level calls to Any or AnyRef methods [#20312](https://github.com/lampepfl/dotty/pull/20312)
114+
- Make CheckUnused not slow. [#20321](https://github.com/lampepfl/dotty/pull/20321)
115+
116+
## Rewrites
117+
118+
- Patch indentation when removing braces (and other bug fixes in `-indent -rewrite`) [#17522](https://github.com/lampepfl/dotty/pull/17522)
119+
- Extra check to avoid converting block expressions on the rhs of an in… [#20043](https://github.com/lampepfl/dotty/pull/20043)
120+
121+
## Scaladoc
122+
123+
- Fix scaladoc crash on Windows - illegal path character [#20311](https://github.com/lampepfl/dotty/pull/20311)
124+
- Scaladoc: improve refined function types rendering [#20333](https://github.com/lampepfl/dotty/pull/20333)
125+
- Relax font-weight reset [#20348](https://github.com/lampepfl/dotty/pull/20348)
126+
127+
## Scala JS
128+
129+
- Optimize main.js [#20093](https://github.com/lampepfl/dotty/pull/20093)
130+
131+
## Settings
132+
133+
- Lift Scala Settings from experimental to stabilized [#20199](https://github.com/lampepfl/dotty/pull/20199)
134+
135+
## Tooling
136+
137+
- Detect macro dependencies that are missing from the classloader [#20139](https://github.com/lampepfl/dotty/pull/20139)
138+
- Write pipelined tasty in parallel. [#20153](https://github.com/lampepfl/dotty/pull/20153)
139+
- ConsoleReporter sends INFO to stdout [#20328](https://github.com/lampepfl/dotty/pull/20328)
140+
141+
## Transform
142+
143+
- Fix overloaded default methods test in RefChecks [#20218](https://github.com/lampepfl/dotty/pull/20218)
144+
- Fix handling of AppliedType aliases in outerPrefix [#20190](https://github.com/lampepfl/dotty/pull/20190)
145+
- Elide unit binding when beta-reducing [#20085](https://github.com/lampepfl/dotty/pull/20085)
146+
147+
## Typer
148+
149+
- Reduce projections of type aliases with class type prefixes [#19931](https://github.com/lampepfl/dotty/pull/19931)
150+
- Re-lub also hard union types in simplify [#20027](https://github.com/lampepfl/dotty/pull/20027)
151+
- Fix #19789: Merge same TypeParamRef in orDominator [#20090](https://github.com/lampepfl/dotty/pull/20090)
152+
- Allow SAM types to contain match alias refinements [#20092](https://github.com/lampepfl/dotty/pull/20092)
153+
- Don't dealias when deciding which arguments to defer [#20116](https://github.com/lampepfl/dotty/pull/20116)
154+
- Avoid the TypeVar.inst trap [#20160](https://github.com/lampepfl/dotty/pull/20160)
155+
- Avoid crash when superType does not exist after erasure [#20188](https://github.com/lampepfl/dotty/pull/20188)
156+
- Refine overloading and implicit disambiguation [#20084](https://github.com/lampepfl/dotty/pull/20084)
157+
- Refactor constant folding of applications [#20099](https://github.com/lampepfl/dotty/pull/20099)
158+
- Rollback constraints if `isSameType` failed second direction [#20109](https://github.com/lampepfl/dotty/pull/20109)
159+
- Suppress "extension method will never be selected" for overrides [#20164](https://github.com/lampepfl/dotty/pull/20164)
160+
- Allow SAM types to contain multiple refinements [#20172](https://github.com/lampepfl/dotty/pull/20172)
161+
- Normalize when verifying if TypeTestCasts are unchecked [#20258](https://github.com/lampepfl/dotty/pull/20258)
162+
163+
# Experimental Changes
164+
165+
- Named tuples second implementation [#19174](https://github.com/lampepfl/dotty/pull/19174)
166+
- Change rules for given prioritization [#19300](https://github.com/lampepfl/dotty/pull/19300)
167+
- Enable experimental mode when experimental feature is imported [#19807](https://github.com/lampepfl/dotty/pull/19807)
168+
- Add message parameter to `@experimental` annotation [#19935](https://github.com/lampepfl/dotty/pull/19935)
169+
- Implement match type amendment: extractors follow aliases and singletons [#20161](https://github.com/lampepfl/dotty/pull/20161)
170+
171+
## Capture Checking
172+
173+
- Carry and check universal capability from parents correctly [#20004](https://github.com/lampepfl/dotty/pull/20004)
174+
- Make parameter types of context functions inferred type trees [#20155](https://github.com/lampepfl/dotty/pull/20155)
175+
- Handle reach capabilities correctly in depedent functions [#20203](https://github.com/lampepfl/dotty/pull/20203)
176+
- Fix the visibility check in `markFree` [#20221](https://github.com/lampepfl/dotty/pull/20221)
177+
- Make inline proxy vals have inferred types [#20241](https://github.com/lampepfl/dotty/pull/20241)
178+
- CC: Give more info when context function parameters leak [#20244](https://github.com/lampepfl/dotty/pull/20244)
179+
- Plug soundness hole for reach capabilities [#20051](https://github.com/lampepfl/dotty/pull/20051)
180+
- Tighten the screws a bit more to seal the soundness hole for reach capabilities [#20056](https://github.com/lampepfl/dotty/pull/20056)
181+
- Drop retains annotations in inferred type trees [#20057](https://github.com/lampepfl/dotty/pull/20057)
182+
- Allow @retains arguments to be context functions [#20232](https://github.com/lampepfl/dotty/pull/20232)
183+
- Fix conversion of this.fld capture refs under separate compilation [#20238](https://github.com/lampepfl/dotty/pull/20238)
184+
185+
## Erased definitions
186+
187+
- Fix "Compiler crash when using CanThrow" [#20210](https://github.com/lampepfl/dotty/pull/20210)
188+
- Only allow erased parameters in erased definitions [#19686](https://github.com/lampepfl/dotty/pull/19686)
189+
190+
## Initialization
191+
192+
- Deprecate `StandardPlugin.init` in favor of `initialize` method taking implicit Context [#20330](https://github.com/lampepfl/dotty/pull/20330)
193+
- Fix missing changesParents in PostTyper [#20062](https://github.com/lampepfl/dotty/pull/20062)
194+
- Special case for next field of colon colon in global init checker [#20281](https://github.com/lampepfl/dotty/pull/20281)
195+
- Extend whitelist in global initialization checker [#20290](https://github.com/lampepfl/dotty/pull/20290)
196+
197+
## Macro Annotations
198+
199+
- Allow macro annotation to transform companion [#19677](https://github.com/lampepfl/dotty/pull/19677)
200+
- Remove experimental `MainAnnotation`/`newMain` (replaced with `MacroAnnotation`) [#19937](https://github.com/lampepfl/dotty/pull/19937)
201+
202+
## Nullability
203+
204+
- Add flexible types to deal with Java-defined signatures under -Yexplicit-nulls [#18112](https://github.com/lampepfl/dotty/pull/18112)
205+
- Fix #20287: Add flexible types to Quotes library [#20293](https://github.com/lampepfl/dotty/pull/20293)
206+
- Add fromNullable to Predef for explicit nulls [#20222](https://github.com/lampepfl/dotty/pull/20222)
207+
208+
209+
# Contributors
210+
211+
Thank you to all the contributors who made this release possible 🎉
212+
213+
According to `git shortlog -sn --no-merges 3.4.2..3.5.0-RC1` these are:
214+
215+
```
216+
137 Martin Odersky
217+
51 Eugene Flesselle
218+
32 Jamie Thompson
219+
25 Nicolas Stucki
220+
22 Sébastien Doeraene
221+
18 noti0na1
222+
16 Matt Bovel
223+
12 Guillaume Martres
224+
9 Paweł Marks
225+
9 Yichen Xu
226+
8 Jan Chyb
227+
7 Hamza REMMAL
228+
6 Jędrzej Rochala
229+
6 Som Snytt
230+
5 Fengyun Liu
231+
5 dependabot[bot]
232+
3 Mikołaj Fornal
233+
2 Aviv Keller
234+
2 EnzeXing
235+
2 Wojciech Mazur
236+
1 Chris Pado
237+
1 Filip Zybała
238+
1 Georgi Krastev
239+
1 Hamza Remmal
240+
1 Jisoo Park
241+
1 Katarzyna Marek
242+
1 Lucas Nouguier
243+
1 Lucy Martin
244+
1 Ola Flisbäck
245+
1 Pascal Weisenburger
246+
1 Quentin Bernet
247+
1 Raphael Jolly
248+
1 Stephane Bersier
249+
1 Tomasz Godzik
250+
1 Yoonjae Jeon
251+
1 aherlihy
252+
1 rochala
253+
1 willerf
254+
```

0 commit comments

Comments
 (0)