Skip to content

Commit fa86e0b

Browse files
committed
Add changelog for 3.1.3
1 parent faa08c8 commit fa86e0b

File tree

1 file changed

+272
-0
lines changed

1 file changed

+272
-0
lines changed

changelogs/3.1.3.md

+272
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,272 @@
1+
# Highlights of the release
2+
3+
- f-interpolator: Scala 2 parity and bugfixes [#13367](https://github.com/lampepfl/dotty/pull/13367)
4+
- Show inlined positions with source code on errors [#14002](https://github.com/lampepfl/dotty/pull/14002)
5+
- Add reflect `ClassDef.apply` and `Symbol.newClass` [#14124](https://github.com/lampepfl/dotty/pull/14124)
6+
- Add experimental `TupledFunction` [#14414](https://github.com/lampepfl/dotty/pull/14414)
7+
8+
# Other changes and fixes
9+
10+
## Backend
11+
12+
- Filter out static forwarders for Java package private methods [#14662](https://github.com/lampepfl/dotty/pull/14662)
13+
- Emit all classes as public to avoid object deserialization issues [#14686](https://github.com/lampepfl/dotty/pull/14686)
14+
- Upgrade to ASM 9.2 [#14711](https://github.com/lampepfl/dotty/pull/14711)
15+
16+
## Desugaring
17+
18+
- Adapt function arguments to n-ary prototype [#14651](https://github.com/lampepfl/dotty/pull/14651)
19+
20+
## Erasure
21+
22+
- Don't optimize explicitly written isInstanceOf tests away. [#14715](https://github.com/lampepfl/dotty/pull/14715)
23+
24+
## Exports
25+
26+
- Fix use of exported prefix [#14461](https://github.com/lampepfl/dotty/pull/14461)
27+
- Export constructor proxies for parameterized classes [#14681](https://github.com/lampepfl/dotty/pull/14681)
28+
29+
## GADT
30+
31+
- Fix [#14726](https://github.com/lampepfl/dotty/issues/14726): call exclusiveLower before addLess during unification [#14727](https://github.com/lampepfl/dotty/pull/14727)
32+
- Avoid unsound GADT constraints derived from subtyping relations between singletons and refined types [#14728](https://github.com/lampepfl/dotty/pull/14728)
33+
- Keep correct kind when preparing constraint in `stripParams` [#14761](https://github.com/lampepfl/dotty/pull/14761)
34+
35+
## Initialization
36+
37+
- Add special case to init checker to always allow certain methods [#14352](https://github.com/lampepfl/dotty/pull/14352)
38+
39+
## Implicits
40+
41+
- Avoid unnecessary under-constrained implicit searches [#14353](https://github.com/lampepfl/dotty/pull/14353)
42+
- Prevent implicit conversion chaining [#14750](https://github.com/lampepfl/dotty/pull/14750)
43+
- Fix hasKnownMembers [#14762](https://github.com/lampepfl/dotty/pull/14762)
44+
45+
## Match types
46+
47+
- Fix [#13855](https://github.com/lampepfl/dotty/issues/13855): Chaining Match Types fails at value level [#14354](https://github.com/lampepfl/dotty/pull/14354)
48+
- Constrain pattern types when typing a match type case [#14563](https://github.com/lampepfl/dotty/pull/14563)
49+
- Fix bounds of match type cases [#14645](https://github.com/lampepfl/dotty/pull/14645)
50+
- More aggressive reduction of type selection (fixes parboiled2) [#14987](https://github.com/lampepfl/dotty/pull/14987)
51+
- Relax avoidance checks more for match type reduction [#15036](https://github.com/lampepfl/dotty/pull/15036)
52+
- Re-establish missing symbol from previous phase (in one specific case) [#15295](https://github.com/lampepfl/dotty/pull/15295)
53+
54+
55+
## Metaprogramming
56+
57+
- Allow nested Quotes with a different owners [#13652](https://github.com/lampepfl/dotty/pull/13652)
58+
- Add typed versions of `Mirror.ProductOf#fromProduct` [#14114](https://github.com/lampepfl/dotty/pull/14114)
59+
- Fix [#14393](https://github.com/lampepfl/dotty/issues/14393): foldOver in default TreeAccumulator can't process Typed nodes [#14396](https://github.com/lampepfl/dotty/pull/14396)
60+
- Fix invariant quote type holes [#14425](https://github.com/lampepfl/dotty/pull/14425)
61+
- Make singleton operations covariant [#14452](https://github.com/lampepfl/dotty/pull/14452)
62+
- Find inline calls inserted in synthetic members [#14480](https://github.com/lampepfl/dotty/pull/14480)
63+
- Don't generate `Mirror.Sum` for simple enum cases [#14525](https://github.com/lampepfl/dotty/pull/14525)
64+
- Collect all local class definitions [#14528](https://github.com/lampepfl/dotty/pull/14528)
65+
- Only make the staged parts of a quote inlineable [#14604](https://github.com/lampepfl/dotty/pull/14604)
66+
- Tolerate some faults when copying trees in `InlineTreeMap` [#14674](https://github.com/lampepfl/dotty/pull/14674)
67+
- Handle this prefix in objects (in quote patterns) [#14732](https://github.com/lampepfl/dotty/pull/14732)
68+
- Detect when position is not in known source [#14801](https://github.com/lampepfl/dotty/pull/14801)
69+
- Handle `SummonFrom` in reflect `TreeAccumulator` [#14809](https://github.com/lampepfl/dotty/pull/14809)
70+
- Handle situation where an inline info cannot be computed [#14827](https://github.com/lampepfl/dotty/pull/14827)
71+
72+
## Opaque Types
73+
74+
- Disallow overriding opaque type aliases [#14665](https://github.com/lampepfl/dotty/pull/14665)
75+
- Disallow private opaque type aliases [#14666](https://github.com/lampepfl/dotty/pull/14666)
76+
- Generate opaque proxies also for base classes [#14668](https://github.com/lampepfl/dotty/pull/14668)
77+
78+
## Parser
79+
80+
- Accept supplementary Unicode characters [#13136](https://github.com/lampepfl/dotty/pull/13136)
81+
- Don't compute indents when in a string [#14441](https://github.com/lampepfl/dotty/pull/14441)
82+
- Parse empty arguments in (invalid) `Apply` more often [#14463](https://github.com/lampepfl/dotty/pull/14463)
83+
- Expand span errorTermTree to include skipped span. [#14492](https://github.com/lampepfl/dotty/pull/14492)
84+
- Fix lookahead logic in Scanner [#14562](https://github.com/lampepfl/dotty/pull/14562)
85+
- Add private inteface methods parsing in JavaParser [#14643](https://github.com/lampepfl/dotty/pull/14643)
86+
- Reject postfix ops already in Parser [#14677](https://github.com/lampepfl/dotty/pull/14677)
87+
- Syntax error recovery [#14695](https://github.com/lampepfl/dotty/pull/14695)
88+
89+
## Pattern matching
90+
91+
- For generic tuples, call `Tuples.apply` instead of `_1/_2/..` [#14296](https://github.com/lampepfl/dotty/pull/14296)
92+
- Preserve the intersection of disjoint numbers in match analysis [#14550](https://github.com/lampepfl/dotty/pull/14550)
93+
- Fix casting of generic tuple selection [#14590](https://github.com/lampepfl/dotty/pull/14590)
94+
- Ignore private/sealed abstract class/traits [#14599](https://github.com/lampepfl/dotty/pull/14599)
95+
- Drop special treatment for Scala-2 code in unapply [#14766](https://github.com/lampepfl/dotty/pull/14766)
96+
97+
## Pickling
98+
99+
- Disable type simplify in unpickler [#14506](https://github.com/lampepfl/dotty/pull/14506)
100+
- Check if package names will be encoded in desugar [#14597](https://github.com/lampepfl/dotty/pull/14597)
101+
- Fix picking default syntax for comments [#14725](https://github.com/lampepfl/dotty/pull/14725)
102+
- Fix lack of type avoidance in argument lifting [#15229](https://github.com/lampepfl/dotty/pull/15229)
103+
104+
## Refchecks
105+
106+
- Don't skip override tests when overridden is `AbsOverride` [#14527](https://github.com/lampepfl/dotty/pull/14527)
107+
- Extend "cannot override mutable variable" restriction to deferred var… [#14724](https://github.com/lampepfl/dotty/pull/14724)
108+
109+
## Repl
110+
111+
- Avoid stale import context during REPL parsing [#14493](https://github.com/lampepfl/dotty/pull/14493)
112+
- Fix #11202: Incorrect highlight for type constructor [#14518](https://github.com/lampepfl/dotty/pull/14518)
113+
- Make empty catch an incomplete. [#14519](https://github.com/lampepfl/dotty/pull/14519)
114+
- Add in feedback when resetting REPL state [#14521](https://github.com/lampepfl/dotty/pull/14521)
115+
- Fix [#14535](https://github.com/lampepfl/dotty/issues/14535): End marker now has the same color as its definition in repl [#14555](https://github.com/lampepfl/dotty/pull/14555)
116+
- Add backticks when needed in completions [#14594](https://github.com/lampepfl/dotty/pull/14594)
117+
- Autocomplete repl commands [#14627](https://github.com/lampepfl/dotty/pull/14627)
118+
- Harden REPL in presence of values that fail to initialize [#14702](https://github.com/lampepfl/dotty/pull/14702)
119+
120+
## Reporting
121+
122+
- Change error message text from "fully-initialized" to "fully initialized" [#14400](https://github.com/lampepfl/dotty/pull/14400)
123+
- Improve -explain rendering [#14357](https://github.com/lampepfl/dotty/pull/14357)
124+
- Propagate unreported features when flushing a reporter [#14503](https://github.com/lampepfl/dotty/pull/14503)
125+
- Avoid using `·` character [#14453](https://github.com/lampepfl/dotty/pull/14453)
126+
- Fix explain rendering with Windows EOL [#14456](https://github.com/lampepfl/dotty/pull/14456)
127+
- Fix [#14576](https://github.com/lampepfl/dotty/issues/14576): Ensure unreported warning summaries are also emitted via sbt-bridge [#14602](https://github.com/lampepfl/dotty/pull/14602)
128+
- Add context to safe-init warnings for inlined methods [#14646](https://github.com/lampepfl/dotty/pull/14646)
129+
- Show unique ids of pattern bound symbols [#14716](https://github.com/lampepfl/dotty/pull/14716)
130+
- Don't replace typevars by their f-bounds in error messages [#14723](https://github.com/lampepfl/dotty/pull/14723)
131+
- Error message improvement for illegal access extension methods [#14730](https://github.com/lampepfl/dotty/pull/14730)
132+
- Warn on misleading indentation in single-case catch [#14738](https://github.com/lampepfl/dotty/pull/14738)
133+
- Use correct ErrorMessageID for EmptyCatchOrFinallyBlock [#14786](https://github.com/lampepfl/dotty/pull/14786)
134+
- Correct highlight interpolation in explain message [#14802](https://github.com/lampepfl/dotty/pull/14802)
135+
Don't issue implicit errors if parameter has default value [#14849](https://github.com/lampepfl/dotty/pull/14849)
136+
137+
## Typer
138+
139+
- Fix approximating RefinedTypes (n>1) [#14361](https://github.com/lampepfl/dotty/pull/14361)
140+
- Allow override `protected[C]` in companion [#14105](https://github.com/lampepfl/dotty/pull/14105)
141+
- Hide `apply` generated for rotected case class constructor [#14266](https://github.com/lampepfl/dotty/pull/14266)
142+
- Infer parameters of eta applications with vararg parameters [#14397](https://github.com/lampepfl/dotty/pull/14397)
143+
- Keep softness when widening unions [#14399](https://github.com/lampepfl/dotty/pull/14399)
144+
- Fix [#11008](https://github.com/lampepfl/dotty/issues/11008): Support generic tuples as a valid unapply result [#14434](https://github.com/lampepfl/dotty/pull/14434)
145+
- Fix `TreeTypeMap` to correctly substitute type parameters [#14537](https://github.com/lampepfl/dotty/pull/14537)
146+
- Handle ownership changes in `InlineTyper` [#14568](https://github.com/lampepfl/dotty/pull/14568)
147+
- Handle more corner cases in `etaReduce` [#14628](https://github.com/lampepfl/dotty/pull/14628)
148+
- Remove false unchecked warnings on refined types [#14703](https://github.com/lampepfl/dotty/pull/14703)
149+
- Fix hoisting local symbols [#14714](https://github.com/lampepfl/dotty/pull/14714)
150+
- Fix desugaring empty argument blocks in normArgs [#14719](https://github.com/lampepfl/dotty/pull/14719)
151+
- Improve overloading resolution if expected type is not FunProto [#14733](https://github.com/lampepfl/dotty/pull/14733)
152+
- Don't force `LazyRefs` when computing `DepStatus` [#14774](https://github.com/lampepfl/dotty/pull/14774)
153+
- Avoid NPE in simplify [#15310](https://github.com/lampepfl/dotty/pull/15310)
154+
- Eta expand export forwarders that have context function types [#15217](https://github.com/lampepfl/dotty/pull/15217)
155+
- Partially revert [#14026](https://github.com/lampepfl/dotty/pull/14026) - Fixes 4 regressions [#15343](https://github.com/lampepfl/dotty/pull/15343)
156+
157+
## Explicit nulls
158+
159+
- Fix override containing type param [#13975](https://github.com/lampepfl/dotty/pull/13975)
160+
- Fix case null on non-nullable type in unsafe null [#13976](https://github.com/lampepfl/dotty/pull/13976)
161+
- Thread context through block in transforms correctly and efficiently [#14523](https://github.com/lampepfl/dotty/pull/14523)
162+
- Fix intercept `TypeApply` [#14617](https://github.com/lampepfl/dotty/pull/14617)
163+
- Fix #14682: fix overriding check in mergeSingleDenot [#14755](https://github.com/lampepfl/dotty/pull/14755)
164+
165+
## IDE Support
166+
167+
- Fix `contextOfPath` for `Template` [#12783](https://github.com/lampepfl/dotty/pull/12783)
168+
- Search all source trees for a given span [#14436](https://github.com/lampepfl/dotty/pull/14436)
169+
- Set zero span for synthetic enum import selector [#14498](https://github.com/lampepfl/dotty/pull/14498)
170+
- Set zero span for synthetic tuple type [#14499](https://github.com/lampepfl/dotty/pull/14499)
171+
- Set proper position for ValDefs generated from tuples [#14513](https://github.com/lampepfl/dotty/pull/14513)
172+
- Provide signature help for unapply methods [#14611](https://github.com/lampepfl/dotty/pull/14611)
173+
- Add completions for specific MatchType cases [#14639](https://github.com/lampepfl/dotty/pull/14639)
174+
- Support backticked imports in completions [#14649](https://github.com/lampepfl/dotty/pull/14649)
175+
- Change completions filtering to now include package module classes [#14756](https://github.com/lampepfl/dotty/pull/14756)
176+
177+
## Scaladoc
178+
179+
- Correctly handle context functions [#14371](https://github.com/lampepfl/dotty/pull/14371)
180+
- Fix rendering dependent function types [#14327](https://github.com/lampepfl/dotty/pull/14327)
181+
- Unescaped special characters in Quotes documentation [#14377](https://github.com/lampepfl/dotty/pull/14377)
182+
- Refactor static site loading and directory structure [#14378](https://github.com/lampepfl/dotty/pull/14378)
183+
- Make member filtering case-insensitive [#14430](https://github.com/lampepfl/dotty/pull/14430)
184+
- Add member position IDs to anchors in searchbar [#14454](https://github.com/lampepfl/dotty/pull/14454)
185+
- Repair links [#14475](https://github.com/lampepfl/dotty/pull/14475)
186+
- Follow renames in content contributors script [#14478](https://github.com/lampepfl/dotty/pull/14478)
187+
- Change default blog directory to `blog` [#14485](https://github.com/lampepfl/dotty/pull/14485)
188+
- Refactor generation configuration in sbt. Generate reference documentation using Scaladoc [#14489](https://github.com/lampepfl/dotty/pull/14489)
189+
- Fix issues with incorrect external links and special characters [#14516](https://github.com/lampepfl/dotty/pull/14516)
190+
- Grouping entries in searchbar. Add hints to searchbar [#14539](https://github.com/lampepfl/dotty/pull/14539)
191+
- Fix [#14481](https://github.com/lampepfl/dotty/issues/14481): certain functions not being shown in searchbar [#14546](https://github.com/lampepfl/dotty/pull/14546)
192+
- Fix function `classpathArgs()` [#14559](https://github.com/lampepfl/dotty/pull/14559)
193+
- Add necessary parentheses in function types [#14565](https://github.com/lampepfl/dotty/pull/14565)
194+
- Fix groupping entries using markdown syntax [#14577](https://github.com/lampepfl/dotty/pull/14577)
195+
- Add table of content to static sites [#14607](https://github.com/lampepfl/dotty/pull/14607)
196+
- Allow to set a comment syntax based on path to source [#14650](https://github.com/lampepfl/dotty/pull/14650)
197+
- Tweak Language Reference documentation [#14669](https://github.com/lampepfl/dotty/pull/14669)
198+
- Don't add extra newlines when there aren't extra sections in doc markdown [#14734](https://github.com/lampepfl/dotty/pull/14734)
199+
- Fix regression with extension methods not being shown in searchbar [#14779](https://github.com/lampepfl/dotty/pull/14779)
200+
- Fix snippets hiding and buttons animation [#14839](https://github.com/lampepfl/dotty/pull/14839)
201+
202+
## SemanticDB
203+
204+
- Update generated semanticdb code with the latest scalapb [#14591](https://github.com/lampepfl/dotty/pull/14591)
205+
- Support MatchType[#14608](https://github.com/lampepfl/dotty/pull/14608)
206+
207+
## Other
208+
209+
- Kotlin interop: Find nested class if `InnerClass` entry is missing [#14426](https://github.com/lampepfl/dotty/pull/14426)
210+
- Add 3.2 language mode internally, treat it like 3.0, 3.1 [#14690](https://github.com/lampepfl/dotty/pull/14690)
211+
- Add -h to alternatives for -help [#14792](https://github.com/lampepfl/dotty/pull/14792)
212+
- Avoid overeager completion of Java annotations in classfile parser [#15185](https://github.com/lampepfl/dotty/pull/15185)
213+
- Implement scalac script in Scala [#15212](https://github.com/lampepfl/dotty/pull/15212)
214+
- Fix [#15220](https://github.com/lampepfl/dotty/issues/15220): Windows scripts do not delegate to MainGenericRunner [#15325](https://github.com/lampepfl/dotty/pull/15325)
215+
216+
# Contributors
217+
218+
Thank you to all the contributors who made this release possible 🎉
219+
220+
According to `git shortlog -sn --no-merges 3.1.2..3.1.3` these are:
221+
222+
```
223+
66 odersky
224+
48 Nicolas Stucki
225+
38 Filip Zybała
226+
36 Martin Odersky
227+
29 noti0na1
228+
27 Som Snytt
229+
24 Dale Wijnand
230+
19 Anatolii Kmetiuk
231+
19 Chris Kipp
232+
18 Paweł Marks
233+
17 Rikito Taniguchi
234+
13 Xavientois
235+
13 Tom Grigg
236+
12 Jan Chyb
237+
11 Guillaume Martres
238+
8 Jamie Thompson
239+
8 Matt Bovel
240+
6 Tomasz Godzik
241+
5 Michael Pilquist
242+
5 rochala
243+
4 adampauls
244+
4 Kacper Korban
245+
3 Sébastien Doeraene
246+
3 Andrzej Ressel
247+
3 Olivier Blanvillain
248+
3 Phil
249+
3 Seth Tisue
250+
2 Stéphane Micheloud
251+
2 Yichen Xu
252+
2 Arman Bilge
253+
2 Julien Richard-Foy
254+
2 Adrien Piquerez
255+
1 ireina7
256+
1 Alexander Ioffe
257+
1 Jentsch
258+
1 Jędrzej Rochala
259+
1 Michał Pałka
260+
1 Ondrej Lhotak
261+
1 Pascal Weisenburger
262+
1 Quentin Bernet
263+
1 Ruslan Shevchenko
264+
1 SrTobi
265+
1 Stephane MICHELOUD
266+
1 Vadim Chelyshov
267+
1 Vasil Vasilev
268+
1 bjornregnell
269+
1 ghostbuster91
270+
1 som-snytt
271+
1 Łukasz Wroński
272+
```

0 commit comments

Comments
 (0)