Skip to content

Commit 17de079

Browse files
committed
Add changelog for 3.1.2
1 parent 74075a6 commit 17de079

File tree

1 file changed

+199
-0
lines changed

1 file changed

+199
-0
lines changed

changelogs/3.1.2.md

+199
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,199 @@
1+
# Forward compatibility improvements
2+
3+
- Enable generation of TASTy files readable for older compilers [#14156](https://github.com/lampepfl/dotty/pull/14156)
4+
5+
# General improvements
6+
7+
- Add eval (-e) expression evaluation to command line [#14263](https://github.com/lampepfl/dotty/pull/14263)
8+
- Format compiler crash stack traces [#14269](https://github.com/lampepfl/dotty/pull/14269)
9+
- Improve typer traces [#14270](https://github.com/lampepfl/dotty/pull/14270)
10+
- Add -Xmacro-settings option and API [#14234](https://github.com/lampepfl/dotty/pull/14234)
11+
- Add reflect TypeRepr.substituteTypes [#13166](https://github.com/lampepfl/dotty/pull/13166)
12+
- Expand compiletime.ops [#13400](https://github.com/lampepfl/dotty/pull/13400)
13+
- Cache isSubspace for a 3000% speedup [#13637](https://github.com/lampepfl/dotty/pull/13637)
14+
- lint trivially self-recursive extension methods [#13709](https://github.com/lampepfl/dotty/pull/13709)
15+
- add `printTypesAndErasure` test main method to compare typer and erasure [#13745](https://github.com/lampepfl/dotty/pull/13745)
16+
- Warning for infinite recursive lazy vals [#13749](https://github.com/lampepfl/dotty/pull/13749)
17+
- Provide scala.home setting for scripts [#13759](https://github.com/lampepfl/dotty/pull/13759)
18+
- Improve message when -Xmax-inlines limit reached [#13783](https://github.com/lampepfl/dotty/pull/13783)
19+
- Add append operator to Tuple [#13786](https://github.com/lampepfl/dotty/pull/13786)
20+
- Allow passing any JMH option to scala3-bench [#13787](https://github.com/lampepfl/dotty/pull/13787)
21+
- Warn on lossy conversion of literals & constants [#13792](https://github.com/lampepfl/dotty/pull/13792)
22+
- Consider minTargetVersion as always supported [#13811](https://github.com/lampepfl/dotty/pull/13811)
23+
- Add -Xmacro-check for Block constructors [#13824](https://github.com/lampepfl/dotty/pull/13824)
24+
- Navigate the AST within AnnotatedType and ImportType [#13834](https://github.com/lampepfl/dotty/pull/13834)
25+
- Refine handling of CanThrow capabilities [#13866](https://github.com/lampepfl/dotty/pull/13866)
26+
- Indicate name of classfile where leaky mapping of existential type happens [#13879](https://github.com/lampepfl/dotty/pull/13879)
27+
- Refine treatment of TypeBounds in patterns [#13881](https://github.com/lampepfl/dotty/pull/13881)
28+
- Impose implicit search limit [#13886](https://github.com/lampepfl/dotty/pull/13886)
29+
- Better handling of multiple exceptions for saferExceptions [#13914](https://github.com/lampepfl/dotty/pull/13914)
30+
- Complete when importing same symbol multiple times [#13972](https://github.com/lampepfl/dotty/pull/13972)
31+
- Implement :settings in the REPL [#13982](https://github.com/lampepfl/dotty/pull/13982)
32+
- Fixes and improvements to trace logging [#13984](https://github.com/lampepfl/dotty/pull/13984)
33+
- Fail compilation of attempting a 0-arity product extraction [#14029](https://github.com/lampepfl/dotty/pull/14029)
34+
- Traverse the types to find experimental references [#14047](https://github.com/lampepfl/dotty/pull/14047)
35+
- Retain HasDefaultParams flag on export. [#14051](https://github.com/lampepfl/dotty/pull/14051)
36+
- Also consider private symbols in implicit scope of type [#14054](https://github.com/lampepfl/dotty/pull/14054)
37+
- Allow return in tailrec position [#14067](https://github.com/lampepfl/dotty/pull/14067)
38+
- Make outer references Java-synthetic [#14084](https://github.com/lampepfl/dotty/pull/14084)
39+
- Add Reflect `TypeRepr.typeArgs` [#14088](https://github.com/lampepfl/dotty/pull/14088)
40+
- Reject empty target names [#14090](https://github.com/lampepfl/dotty/pull/14090)
41+
- Use =>> instead of => for printing a LambdaTypeTree [#14107](https://github.com/lampepfl/dotty/pull/14107)
42+
- REPL: Add compiler options to :reset [#14139](https://github.com/lampepfl/dotty/pull/14139)
43+
- Add hint on -Xcheck-macro scope extrusion failure [#14203](https://github.com/lampepfl/dotty/pull/14203)
44+
- Support quoted PolyFunction [#14222](https://github.com/lampepfl/dotty/pull/14222)
45+
- Update wording of uninitialized value error to be grammatically correct [#14292](https://github.com/lampepfl/dotty/pull/14292)
46+
- Rename `-Yscala-release`, `-release` and `-Xtarget` settings to make them more consistent [#14606](https://github.com/lampepfl/dotty/pull/14606)
47+
48+
# Scaladoc
49+
50+
- Fix missing known subtypes [#13794](https://github.com/lampepfl/dotty/pull/13794)
51+
- Markdown preprocessor [#13140](https://github.com/lampepfl/dotty/pull/13140)
52+
- Add source position for errors from doc-root-content file [#13908](https://github.com/lampepfl/dotty/pull/13908)
53+
- Fix double implicit modifier [#13909](https://github.com/lampepfl/dotty/pull/13909)
54+
- Fix links to unexisting types sites [#13917](https://github.com/lampepfl/dotty/pull/13917)
55+
- Add support for tables in wiki syntax [#13933](https://github.com/lampepfl/dotty/pull/13933)
56+
- Improve features parity with old scaladoc/docs.scala-lang [#13954](https://github.com/lampepfl/dotty/pull/13954)
57+
- Add missing styles to snippets that are not Scala [#13959](https://github.com/lampepfl/dotty/pull/13959)
58+
- Fix filtering extensions. Better support for exports [#14125](https://github.com/lampepfl/dotty/pull/14125)
59+
60+
# SemanticDB
61+
62+
- Add annotations [#13818](https://github.com/lampepfl/dotty/pull/13818)
63+
- Support TypeApply Synthetic [#13481](https://github.com/lampepfl/dotty/pull/13481)
64+
65+
# Bug fixes
66+
67+
- Fix [#13855](https://github.com/lampepfl/dotty/issues/13855): Chaining Match Types fails at value level [#14354](https://github.com/lampepfl/dotty/pull/14354)
68+
- Fix [#12260](https://github.com/lampepfl/dotty/issues/12260): Add underscore to match type syntax [#12261](https://github.com/lampepfl/dotty/pull/12261)
69+
- Fix [#11861](https://github.com/lampepfl/dotty/issues/11861) - hash nested calls to inline definitions [#12931](https://github.com/lampepfl/dotty/pull/12931)
70+
- Avoid shadowing of name 'name' [#13442](https://github.com/lampepfl/dotty/pull/13442)
71+
- Fix [#13633](https://github.com/lampepfl/dotty/issues/13633): Can't reduce match types inside a type alias [#13635](https://github.com/lampepfl/dotty/pull/13635)
72+
- Fix erased context function types [#13736](https://github.com/lampepfl/dotty/pull/13736)
73+
- Widen qualifier skolems [#13748](https://github.com/lampepfl/dotty/pull/13748)
74+
- Change order of proxy evaluation when inlining [#13755](https://github.com/lampepfl/dotty/pull/13755)
75+
- Fix init checker on secondary constructor parameter access [#13776](https://github.com/lampepfl/dotty/pull/13776)
76+
- Add missing @experimental in Tuples [#13778](https://github.com/lampepfl/dotty/pull/13778)
77+
- Fix improper usage of constrained breaking type inference [#13779](https://github.com/lampepfl/dotty/pull/13779)
78+
- Fix error message when deriving an obstract type [#13812](https://github.com/lampepfl/dotty/pull/13812)
79+
- Handles Nothing when synthesizing CanEqual [#13828](https://github.com/lampepfl/dotty/pull/13828)
80+
- Fix [#13026](https://github.com/lampepfl/dotty/issues/13026): No longer print VBAR and padding in the middle of the message [#13829](https://github.com/lampepfl/dotty/pull/13829)
81+
- Solves dotc assertion error on (non-sensical?) parameter type. #13769 [#13830](https://github.com/lampepfl/dotty/pull/13830)
82+
- Fix missing code-completion on standalone annotations [#13831](https://github.com/lampepfl/dotty/pull/13831)
83+
- Fix comparing `AnyVal | Null` to `Null` and selecting in `UnsafeNulls` [#13837](https://github.com/lampepfl/dotty/pull/13837)
84+
- Fix error summary printed twice [#13843](https://github.com/lampepfl/dotty/pull/13843)
85+
- Detect opaque aliases in inline val types [#13857](https://github.com/lampepfl/dotty/pull/13857)
86+
- Fix `@experimental @main` methods [#13858](https://github.com/lampepfl/dotty/pull/13858)
87+
- Fix [#13860](https://github.com/lampepfl/dotty/issues/13860): Ignore bridges when looking for a default getter's attached method. [#13870](https://github.com/lampepfl/dotty/pull/13870)
88+
- Add missing position when expanding error [#13872](https://github.com/lampepfl/dotty/pull/13872)
89+
- Try to instantiate type variables in tryInsertImplicitOnQualifier [#13884](https://github.com/lampepfl/dotty/pull/13884)
90+
- Fix crasher for missing integer argument on command line [#13894](https://github.com/lampepfl/dotty/pull/13894)
91+
- Fix messages leaking via suspended messages [#13911](https://github.com/lampepfl/dotty/pull/13911)
92+
- Don't lift try-catch statements that are already in local functions [#13944](https://github.com/lampepfl/dotty/pull/13944)
93+
- Initialize quote cache on tasty inspector run [#13953](https://github.com/lampepfl/dotty/pull/13953)
94+
- Tighten product match logic in irrefutable check [#13962](https://github.com/lampepfl/dotty/pull/13962)
95+
- Fix Mirror.Product for type lambdas [#14003](https://github.com/lampepfl/dotty/pull/14003)
96+
- Sound type avoidance (hopefully!) [#14026](https://github.com/lampepfl/dotty/pull/14026)
97+
- Fix REPL clashing with CWD artefacts [#14021](https://github.com/lampepfl/dotty/pull/14021)
98+
- Don't retypecheck erroneous arguments when fixing function [#14043](https://github.com/lampepfl/dotty/pull/14043)
99+
- Fix [#13994](https://github.com/lampepfl/dotty/issues/13994): initialise inline ctx in lateEnter [#14050](https://github.com/lampepfl/dotty/pull/14050)
100+
- Inline inlined private methods before checking accessibility [#14049](https://github.com/lampepfl/dotty/pull/14049)
101+
- Handle hoisted super arguments correctly in `elimByName` [#14057](https://github.com/lampepfl/dotty/pull/14057)
102+
- Check variance of RHS of opaque type [#14058](https://github.com/lampepfl/dotty/pull/14058)
103+
- Don't insert INDENT/UNINDENT without anything in between [#14066](https://github.com/lampepfl/dotty/pull/14066)
104+
- Don't generate illegal types when clarifying implicit errors [#14068](https://github.com/lampepfl/dotty/pull/14068)
105+
- Allow import `<ident>` to show completions [#14069](https://github.com/lampepfl/dotty/pull/14069)
106+
- Bypass eligible caches for implicit search under GADT constraints [#14072](https://github.com/lampepfl/dotty/pull/14072)
107+
- Fix passing jvm options [#14073](https://github.com/lampepfl/dotty/pull/14073)
108+
- Harden erasure of PolyFunction apply's [#14075](https://github.com/lampepfl/dotty/pull/14075)
109+
- Test for non-open classes warning [#14079](https://github.com/lampepfl/dotty/pull/14079)
110+
- Avoid field/field clashes [#14081](https://github.com/lampepfl/dotty/pull/14081)
111+
- Fix reachability of unapplySeq of non-List sequences [#14112](https://github.com/lampepfl/dotty/pull/14112)
112+
- Check for splices in quoted macro parameters [#14117](https://github.com/lampepfl/dotty/pull/14117)
113+
- Fix reachability by retaining spaces of Prod params [#14118](https://github.com/lampepfl/dotty/pull/14118)
114+
- Extract GADT constraints from wildcard type arguments [#14132](https://github.com/lampepfl/dotty/pull/14132)
115+
- Fix `derivedPolyProto` to use the correct result type [#14148](https://github.com/lampepfl/dotty/pull/14148)
116+
- Remove reflect TypeApply TypeVars [#14201](https://github.com/lampepfl/dotty/pull/14201)
117+
- Clear temp var for captured var expr to permit GC [#14205](https://github.com/lampepfl/dotty/pull/14205)
118+
- Re-type implicit candidate if expected type is context function [#14219](https://github.com/lampepfl/dotty/pull/14219)
119+
- Adapt generic tuples to be able to access members [#14242](https://github.com/lampepfl/dotty/pull/14242)
120+
- Fix Scala.JS source map URIs [#14243](https://github.com/lampepfl/dotty/pull/14243)
121+
- Disallow erased inline definitions [#14250](https://github.com/lampepfl/dotty/pull/14250)
122+
- Fix [#7512](https://github.com/lampepfl/dotty/issues/7512): Normalize type arguments before instantiation [#14259](https://github.com/lampepfl/dotty/pull/14259)
123+
- Disallow bottom types in erased implementations [#14267](https://github.com/lampepfl/dotty/pull/14267)
124+
- Fix `checkNoModuleClash` & avoid types with less precision loss [#14274](https://github.com/lampepfl/dotty/pull/14274)
125+
- Parse splices inside quoted patterns as patterns [#14277](https://github.com/lampepfl/dotty/pull/14277)
126+
- Make initialization checker see through synthetic applys [#14283](https://github.com/lampepfl/dotty/pull/14283)
127+
- Fix byte code generation for by-name parameters [#14310](https://github.com/lampepfl/dotty/pull/14310)
128+
- Avoid misleading error message [#14331](https://github.com/lampepfl/dotty/pull/14331)
129+
- Set context when reporting summonInline errors [#14405](http://github.com/lampepfl/dotty/pull/14405)
130+
- Fix [#14541](http://github.com/lampepfl/dotty/issues/14541): Problem running `@main` methods with command line arguments [#14543](http://github.com/lampepfl/dotty/pull/14543)
131+
- Check defined in src for cache in companion [#14557](http://github.com/lampepfl/dotty/pull/14557)
132+
133+
# Contributors
134+
135+
Thank you to all the contributors who made this release possible 🎉
136+
137+
According to `git shortlog -sn --no-merges 3.1.1..3.1.2` these are:
138+
139+
```
140+
57 Martin Odersky
141+
44 Nicolas Stucki
142+
28 Dale Wijnand
143+
20 Paweł Marks
144+
18 Jamie Thompson
145+
16 Andrzej Ratajczak
146+
16 Filip Zybała
147+
16 Guillaume Martres
148+
15 Michał Pałka
149+
10 Olivier Blanvillain
150+
9 Som Snytt
151+
8 Matt Bovel
152+
7 Fengyun Liu
153+
7 Tomasz Godzik
154+
6 danicheg
155+
6 Sébastien Doeraene
156+
6 Gagandeep Kalra
157+
6 oronpo
158+
5 Seth Tisue
159+
5 Arman Bilge
160+
4 Stephane MICHELOUD
161+
4 noti0na1
162+
3 Phil
163+
3 adampauls
164+
3 ghostbuster91
165+
3 Eric Torreborre
166+
2 Matthieu Bovel
167+
2 philwalk
168+
2 Kacper Korban
169+
2 Ruslan Shevchenko
170+
2 Oron Port
171+
2 Chris Kipp
172+
1 Andrzej Ressel
173+
1 Anatolii Kmetiuk
174+
1 Arthur Sengileyev
175+
1 Cédric Chantepie
176+
1 Denis Zolkin
177+
1 Georgi Krastev
178+
1 Hugo van Rijswijk
179+
1 Jakob Odersky
180+
1 Julien Richard-Foy
181+
1 Kien Dang
182+
1 Natsu Kagami
183+
1 Ondrej Lhotak
184+
1 Ondřej Lhoták
185+
1 Rikito Taniguchi
186+
1 SDSR
187+
1 Tom Grigg
188+
1 Yang, Bo
189+
1 comcx
190+
1 kenji yoshida
191+
1 mzcu
192+
1 soronpo
193+
1 Łukasz Wroński
194+
1 Adrien Piquerez
195+
```
196+
197+
# Reporting Bugs
198+
199+
If you encounter a bug, please [open an issue](https://github.com/lampepfl/dotty/issues/new)! 🙏

0 commit comments

Comments
 (0)