Skip to content

Commit 390f836

Browse files
committed
Add changelog for 3.3.1-RC1
1 parent 32add3d commit 390f836

File tree

1 file changed

+288
-0
lines changed

1 file changed

+288
-0
lines changed

changelogs/3.3.1-RC1.md

+288
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,288 @@
1+
# Highlights of the release
2+
3+
- Support records in JavaParsers [#16762](https://github.com/lampepfl/dotty/pull/16762)
4+
- Port JVM backend refactor from Scala 2 [#15322](https://github.com/lampepfl/dotty/pull/15322)
5+
6+
# Other changes and fixes
7+
8+
## Backend
9+
10+
- Disallow mixins where super calls bind to vals [#16908](https://github.com/lampepfl/dotty/pull/16908)
11+
- Fix #15107: Avoid re-emitting a LineNumber after only LabelNodes. [#16813](https://github.com/lampepfl/dotty/pull/16813)
12+
13+
## Coverage
14+
15+
- Fix #17042: Preserve the shape of secondary ctors in instrumentCoverage. [#17111](https://github.com/lampepfl/dotty/pull/17111)
16+
17+
## Default parameters
18+
19+
- Dupe fix when finding default arg getters [#17058](https://github.com/lampepfl/dotty/pull/17058)
20+
21+
## Documentation
22+
23+
- Fix: ensure syntax blocks for ebnf are marked as such [#16837](https://github.com/lampepfl/dotty/pull/16837)
24+
25+
## Erasure
26+
27+
- Handle `@companionClass` and `@companionMethod` meta-annotations [#17091](https://github.com/lampepfl/dotty/pull/17091)
28+
29+
## Extension Methods
30+
31+
- Support extension methods imported from different objects [#17050](https://github.com/lampepfl/dotty/pull/17050)
32+
33+
## GADTs
34+
35+
- Fix tuple member selection so it works with GADT healing [#16766](https://github.com/lampepfl/dotty/pull/16766)
36+
- Fix upper bound constraints, that are higher-kinded [#16744](https://github.com/lampepfl/dotty/pull/16744)
37+
- Split out immutable GadtConstraint [#16602](https://github.com/lampepfl/dotty/pull/16602)
38+
39+
## Implicits
40+
41+
- Improve subtyping check for not yet eta-expanded higher kinded types [#17139](https://github.com/lampepfl/dotty/pull/17139)
42+
- Harden tpd.Apply/TypeApply in case of errors [#16887](https://github.com/lampepfl/dotty/pull/16887)
43+
- Try to be more subtle when inferring type parameters of class parents [#16896](https://github.com/lampepfl/dotty/pull/16896)
44+
- Include `P` in the implicit scope of `P.this.type` [#17088](https://github.com/lampepfl/dotty/pull/17088)
45+
46+
## Incremental Compilation
47+
48+
- Fix under-compilation when the method type in a SAM changes [#16996](https://github.com/lampepfl/dotty/pull/16996)
49+
50+
## Infrastructure
51+
52+
- Set reference version to 3.3.0-RC6 [#17504](https://github.com/lampepfl/dotty/pull/17504)
53+
- Fix #17119: Download Coursier from GitHub directly [#17141](https://github.com/lampepfl/dotty/pull/17141)
54+
55+
## Inline
56+
57+
- Remove NamedArg from inlined arguments [#17228](https://github.com/lampepfl/dotty/pull/17228)
58+
- Don't generate a Select for a TermRef with NoPrefix [#16754](https://github.com/lampepfl/dotty/pull/16754)
59+
- Prepare bodies of inline forwarders eagerly [#16757](https://github.com/lampepfl/dotty/pull/16757)
60+
- Do not remove inline method implementations until PruneErasedDefs [#17408](https://github.com/lampepfl/dotty/pull/17408)
61+
62+
## Java Interop
63+
64+
- ClassfileParser: allow missing param names (for JDK 21) [#17536](https://github.com/lampepfl/dotty/pull/17536)
65+
66+
## Linting
67+
68+
- Improve -Wunused: locals, privates with unset vars warning #16639 [#17160](https://github.com/lampepfl/dotty/pull/17160)
69+
- Fix wunused false positive when deriving alias type [#17157](https://github.com/lampepfl/dotty/pull/17157)
70+
- Port `-Wnonunit-statement` setting for dotty [#16936](https://github.com/lampepfl/dotty/pull/16936)
71+
72+
## Match Types
73+
74+
- Normalize match type usage during implicit lookup [#17457](https://github.com/lampepfl/dotty/pull/17457)
75+
- Fix #13757: Explicitly disallow higher-kinded scrutinees of match types. [#17322](https://github.com/lampepfl/dotty/pull/17322)
76+
- Fix match type reduction with wildcard type arguments [#17065](https://github.com/lampepfl/dotty/pull/17065)
77+
- Fix check whether classtag can be generated for match types [#16708](https://github.com/lampepfl/dotty/pull/16708)
78+
79+
## Parser
80+
81+
- Allow lines starting with `.` to fall outside previous indentation widths [#17056](https://github.com/lampepfl/dotty/pull/17056)
82+
83+
## Pattern Matching
84+
85+
- Fix #11541: Specialize ClassTag[T] in exhaustivity check [#17385](https://github.com/lampepfl/dotty/pull/17385)
86+
- Check outer class prefixes in type projections when pattern matching [#17136](https://github.com/lampepfl/dotty/pull/17136)
87+
- Make unchecked cases non-`@unchecked` and non-unreachable [#16958](https://github.com/lampepfl/dotty/pull/16958)
88+
- Fix #16899: Better handle X instanceOf P where X is T1 | T2 [#17382](https://github.com/lampepfl/dotty/pull/17382)
89+
90+
## Pickling
91+
92+
- ClassfileParser: Avoid cycle when accessing companion in inner class lookup [#16882](https://github.com/lampepfl/dotty/pull/16882)
93+
94+
## Polyfunctions
95+
96+
- Fix type aliases in beta-reduction of polyfunctions [#17054](https://github.com/lampepfl/dotty/pull/17054)
97+
98+
## Quotes
99+
100+
- Register `paramProxy` and `thisProxy` in `Quote` type [#17541](https://github.com/lampepfl/dotty/pull/17541)
101+
- Only check newVal/newMethod privateWithin on -Xcheck-macros [#17437](https://github.com/lampepfl/dotty/pull/17437)
102+
- Unencode quote and splice trees [#17342](https://github.com/lampepfl/dotty/pull/17342)
103+
- Correctly type Expr.ofTupleFromSeq for arity > 22 [#17261](https://github.com/lampepfl/dotty/pull/17261)
104+
- Use TermRef to distinguish distinct Type[T] instances [#17205](https://github.com/lampepfl/dotty/pull/17205)
105+
- Check level consistency of SingletonTypeTree as a type [#17209](https://github.com/lampepfl/dotty/pull/17209)
106+
- Fix splice type variable pattern detection [#17048](https://github.com/lampepfl/dotty/pull/17048)
107+
- Avoid creation of `@SplicedType` quote local refrences [#17051](https://github.com/lampepfl/dotty/pull/17051)
108+
- Dealias type references when healing types in quotes [#17049](https://github.com/lampepfl/dotty/pull/17049)
109+
- Replace quoted type variables in signature of HOAS pattern result [#16951](https://github.com/lampepfl/dotty/pull/16951)
110+
- Beta-reduce directly applied PolymorphicFunction [#16623](https://github.com/lampepfl/dotty/pull/16623)
111+
- Use `Object.toString` for `quoted.{Expr, Type}` [#16663](https://github.com/lampepfl/dotty/pull/16663)
112+
- Fix Splicer.isEscapedVariable [#16838](https://github.com/lampepfl/dotty/pull/16838)
113+
- Fix references to class members defined in quotes [#17107](https://github.com/lampepfl/dotty/pull/17107)
114+
- Handle pickled forward references in pickled expressions [#16855](https://github.com/lampepfl/dotty/pull/16855)
115+
- Fix #16615 - crashes of path dependent types in spliced Type.of [#16773](https://github.com/lampepfl/dotty/pull/16773)
116+
- Disallow local term references in staged types [#16362](https://github.com/lampepfl/dotty/pull/16362)
117+
- Refactor level checking / type healing logic [#17082](https://github.com/lampepfl/dotty/pull/17082)
118+
- Dealias quoted types when staging [#17059](https://github.com/lampepfl/dotty/pull/17059)
119+
- Fix quotes with references to path dependent types [#17081](https://github.com/lampepfl/dotty/pull/17081)
120+
- Make arguments order in quote hole deterministic [#17405](https://github.com/lampepfl/dotty/pull/17405)
121+
- Only transform the body of the quote with QuoteTransformer [#17451](https://github.com/lampepfl/dotty/pull/17451)
122+
- Place staged type captures in Quote AST [#17424](https://github.com/lampepfl/dotty/pull/17424)
123+
- Add SplicePattern AST to parse and type quote pattern splices [#17396](https://github.com/lampepfl/dotty/pull/17396)
124+
125+
## Reflection
126+
127+
- -Xcheck-macros: add hint when a symbol in created twice [#16733](https://github.com/lampepfl/dotty/pull/16733)
128+
- Assert that symbols created using reflect API have correct privateWithin symbols [#17352](https://github.com/lampepfl/dotty/pull/17352)
129+
- Fix reflect.LambdaType type test [#16972](https://github.com/lampepfl/dotty/pull/16972)
130+
- Improve `New`/`Select` -Ycheck message [#16746](https://github.com/lampepfl/dotty/pull/16746)
131+
- Improve error message for CyclicReference in macros [#16749](https://github.com/lampepfl/dotty/pull/16749)
132+
- Add reflect `defn.FunctionClass` overloads [#16849](https://github.com/lampepfl/dotty/pull/16849)
133+
134+
## REPL
135+
136+
- Always load REPL classes in macros including the output directory [#16866](https://github.com/lampepfl/dotty/pull/16866)
137+
138+
## Reporting
139+
140+
- Improve missing argument list error [#17126](https://github.com/lampepfl/dotty/pull/17126)
141+
- Improve implicit parameter error message with aliases [#17125](https://github.com/lampepfl/dotty/pull/17125)
142+
- Improve "constructor proxy shadows outer" handling [#17154](https://github.com/lampepfl/dotty/pull/17154)
143+
- Clarify ambiguous reference error message [#16137](https://github.com/lampepfl/dotty/pull/16137)
144+
- Hint about forbidden combination of implicit values and conversions [#16735](https://github.com/lampepfl/dotty/pull/16735)
145+
- Attach explanation message to diagnostic message [#16787](https://github.com/lampepfl/dotty/pull/16787)
146+
- Propagate implicit search errors from implicit macros [#16840](https://github.com/lampepfl/dotty/pull/16840)
147+
- Detail UnapplyInvalidReturnType error message [#17167](https://github.com/lampepfl/dotty/pull/17167)
148+
- Add way to debug -Xcheck-macros tree checking [#16973](https://github.com/lampepfl/dotty/pull/16973)
149+
- Enrich and finesse compiler crash reporting [#17031](https://github.com/lampepfl/dotty/pull/17031)
150+
- Allow @implicitNotFound messages as explanations [#16893](https://github.com/lampepfl/dotty/pull/16893)
151+
- Include top-level symbols from same file in outer ambiguity error [#17033](https://github.com/lampepfl/dotty/pull/17033)
152+
- Do not issue deprecation warnings when declaring deprecated case classes [#17165](https://github.com/lampepfl/dotty/pull/17165)
153+
154+
## Scala-JS
155+
156+
- Fix #17344: Make implicit references to this above dynamic imports explicit. [#17357](https://github.com/lampepfl/dotty/pull/17357)
157+
- Fix #12621: Better error message for JS trait ctor param. [#16811](https://github.com/lampepfl/dotty/pull/16811)
158+
- Fix #16801: Handle Closure's of s.r.FunctionXXL. [#16809](https://github.com/lampepfl/dotty/pull/16809)
159+
- Fix #17549: Unify how Memoize and Constructors decide what fields need storing. [#17560](https://github.com/lampepfl/dotty/pull/17560)
160+
161+
## Scaladoc
162+
163+
- Feat: Add a blog configuration with yaml [#17214](https://github.com/lampepfl/dotty/pull/17214)
164+
- Don't render the "$" for module [#17302](https://github.com/lampepfl/dotty/pull/17302)
165+
- Fix: Add scrollbar to the sidebar [#17203](https://github.com/lampepfl/dotty/pull/17203)
166+
- Scaladoc: fix crash when processing extends call [#17260](https://github.com/lampepfl/dotty/pull/17260)
167+
- Fix: Modify the CSS so that the logo of the generated documentation is adaptive [#17172](https://github.com/lampepfl/dotty/pull/17172)
168+
- Fix: Remove the duplicate parameter when generating the scaladoc. [#17097](https://github.com/lampepfl/dotty/pull/17097)
169+
- Fix: padding top in mobile version [#17019](https://github.com/lampepfl/dotty/pull/17019)
170+
- Fix: tap target of the menu in Mobile version [#17018](https://github.com/lampepfl/dotty/pull/17018)
171+
- Scaladoc: Fix expand icon not changing on anchor link [#17053](https://github.com/lampepfl/dotty/pull/17053)
172+
- Scaladoc: fix inkuire generation for PolyTypes [#17129](https://github.com/lampepfl/dotty/pull/17129)
173+
- Re port scroll bar [#17463](https://github.com/lampepfl/dotty/pull/17463)
174+
- Handle empty files and truncated YAML front matter [#17527](https://github.com/lampepfl/dotty/pull/17527)
175+
176+
## SemanticDB
177+
178+
- Make sure symbol exists before calling owner [#16860](https://github.com/lampepfl/dotty/pull/16860)
179+
- Support LambdaType (convert from HKTypeLambda) [#16056](https://github.com/lampepfl/dotty/pull/16056)
180+
181+
## Specification
182+
183+
- Apply `class-shadowing.md` to the Spec [#16839](https://github.com/lampepfl/dotty/pull/16839)
184+
- Adding base for future Spec into the compiler repo [#16825](https://github.com/lampepfl/dotty/pull/16825)
185+
186+
## Standard Library
187+
188+
- Optimization: avoid NotGiven allocations [#17090](https://github.com/lampepfl/dotty/pull/17090)
189+
190+
## Tooling
191+
192+
- Disable `ExtractSemanticDB` phase when writing to output directory defined as JAR. [#16790](https://github.com/lampepfl/dotty/pull/16790)
193+
- Print owner of bind symbol with -Yprint-debug-owners [#16854](https://github.com/lampepfl/dotty/pull/16854)
194+
- Small fixes to allow using Metals with scaladoc with sbt [#16816](https://github.com/lampepfl/dotty/pull/16816)
195+
196+
## Transform
197+
198+
- Move CrossVersionChecks before FirstTransform [#17301](https://github.com/lampepfl/dotty/pull/17301)
199+
- Fix needsOuterIfReferenced [#17159](https://github.com/lampepfl/dotty/pull/17159)
200+
- Drop incorrect super accessor in trait subclass [#17062](https://github.com/lampepfl/dotty/pull/17062)
201+
- Generate toString only for synthetic companions of case classes [#16890](https://github.com/lampepfl/dotty/pull/16890)
202+
- Check trait constructor for accessibility even if not called at Typer [#17094](https://github.com/lampepfl/dotty/pull/17094)
203+
- Fix #17435: A simpler fix [#17436](https://github.com/lampepfl/dotty/pull/17436)
204+
205+
## Typer
206+
207+
- Preserve type bounds for inlined definitions in posttyper [#17190](https://github.com/lampepfl/dotty/pull/17190)
208+
- Change logic to find members of recursive types [#17386](https://github.com/lampepfl/dotty/pull/17386)
209+
- Recognize named arguments in isFunctionWithUnknownParamType [#17161](https://github.com/lampepfl/dotty/pull/17161)
210+
- Better comparisons for type projections [#17092](https://github.com/lampepfl/dotty/pull/17092)
211+
- Allow selectDynamic and applyDynamic to be extension methods [#17106](https://github.com/lampepfl/dotty/pull/17106)
212+
- Fix use of accessibleFrom when finding default arg getters [#16977](https://github.com/lampepfl/dotty/pull/16977)
213+
- Map class literal constant types [#16988](https://github.com/lampepfl/dotty/pull/16988)
214+
- Always use adapted type in withDenotation [#16901](https://github.com/lampepfl/dotty/pull/16901)
215+
- Restrict captureWildcards to only be used if needed [#16799](https://github.com/lampepfl/dotty/pull/16799)
216+
- Don't capture wildcards if in closure or by-name [#16732](https://github.com/lampepfl/dotty/pull/16732)
217+
- Infer: Don't minimise to Nothing if there's an upper bound [#16786](https://github.com/lampepfl/dotty/pull/16786)
218+
- Perform Matchable check only if type test is needed [#16824](https://github.com/lampepfl/dotty/pull/16824)
219+
- Don't eta expand unary varargs methods [#16892](https://github.com/lampepfl/dotty/pull/16892)
220+
- Fix beta-reduction with `Nothing` and `null` args [#16938](https://github.com/lampepfl/dotty/pull/16938)
221+
- Generate kind-correct wildcards when selecting from a wildcard [#17025](https://github.com/lampepfl/dotty/pull/17025)
222+
- Fix #16405 ctd - wildcards prematurely resolving to Nothing [#16764](https://github.com/lampepfl/dotty/pull/16764)
223+
- Test: add regression test for #7790 [#17473](https://github.com/lampepfl/dotty/pull/17473)
224+
- Properly handle `AnyVal`s as refinement members of `Selectable`s [#16286](https://github.com/lampepfl/dotty/pull/16286)
225+
226+
# Contributors
227+
228+
Thank you to all the contributors who made this release possible 🎉
229+
230+
According to `git shortlog -sn --no-merges 3.3.0..3.3.1-RC1` these are:
231+
232+
```
233+
148 Nicolas Stucki
234+
65 Martin Odersky
235+
51 Szymon Rodziewicz
236+
49 Dale Wijnand
237+
49 Quentin Bernet
238+
38 Chris Kipp
239+
19 David Hua
240+
18 Lucas
241+
18 ysthakur
242+
15 Fengyun Liu
243+
15 Paweł Marks
244+
14 Guillaume Martres
245+
14 Jamie Thompson
246+
11 Sébastien Doeraene
247+
9 Timothée Andres
248+
8 Kacper Korban
249+
7 Matt Bovel
250+
7 Som Snytt
251+
6 Julien Richard-Foy
252+
6 Lucas Leblanc
253+
5 Michał Pałka
254+
4 Anatolii Kmetiuk
255+
4 Guillaume Raffin
256+
4 Paul Coral
257+
4 Wojciech Mazur
258+
4 Yichen Xu
259+
3 Decel
260+
3 Jan Chyb
261+
2 Adrien Piquerez
262+
2 Arman Bilge
263+
2 Carl
264+
2 Florian3k
265+
2 Kenji Yoshida
266+
2 Michael Pilquist
267+
2 Natsu Kagami
268+
2 Seth Tisue
269+
2 Tomasz Godzik
270+
2 Vasil Vasilev
271+
2 Yadu Krishnan
272+
1 Bersier
273+
1 Flavio Brasil
274+
1 Jan-Pieter van den Heuvel
275+
1 Lukas Rytz
276+
1 Miles Yucht
277+
1 Mohammad Yousuf Minhaj Zia
278+
1 Ondra Pelech
279+
1 Philippus
280+
1 Rikito Taniguchi
281+
1 Simon R
282+
1 brandonspark
283+
1 github-actions[bot]
284+
1 liang3zy22
285+
1 s.bazarsadaev
286+
1 Łukasz Wroński
287+
288+
```

0 commit comments

Comments
 (0)