Skip to content

Commit aa8ff7f

Browse files
committed
docs: Add release notes for 3.3.7-RC1
1 parent 7e360b9 commit aa8ff7f

File tree

1 file changed

+218
-0
lines changed

1 file changed

+218
-0
lines changed

changelogs/3.3.7-RC1.md

Lines changed: 218 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,218 @@
1+
# Highlights of the release
2+
3+
- Warn if interpolator uses toString [#20578](https://github.com/scala/scala3/pull/20578)
4+
- Fixes #15736 blocking Scala 3 on Android [#22632](https://github.com/scala/scala3/pull/22632)
5+
- Implement :jar (deprecate :require) [#22343](https://github.com/scala/scala3/pull/22343)
6+
- In selector check, prefix of reference must match import qualifier [#20894](https://github.com/scala/scala3/pull/20894)
7+
- Fix #21242: Add REPL flag to quit after evaluating init script [#22636](https://github.com/scala/scala3/pull/22636)
8+
- Warn if implicit default shadows given [#23559](https://github.com/scala/scala3/pull/23559)
9+
10+
# Other changes and fixes
11+
12+
## Annotations
13+
14+
- Approximate annotated types in `wildApprox` [#22893](https://github.com/scala/scala3/pull/22893)
15+
- Fix copy of annotation on @main methods [#22582](https://github.com/scala/scala3/pull/22582)
16+
17+
## CI
18+
19+
- Disable Cats flaky tests [#23007](https://github.com/scala/scala3/pull/23007)
20+
21+
## Developer Experience
22+
23+
- Add support for running the `test` sub-command with the bisect script [#22796](https://github.com/scala/scala3/pull/22796)
24+
25+
## Documentation
26+
27+
- Improve the usage of inclusive language [#22360](https://github.com/scala/scala3/pull/22360)
28+
- Update indentation.md to fix a typo [#23505](https://github.com/scala/scala3/pull/23505)
29+
30+
## Enums
31+
32+
- Make hashcode of enum items stable [#23218](https://github.com/scala/scala3/pull/23218)
33+
34+
## Erasure
35+
36+
- Add regression test for #23616 [#23623](https://github.com/scala/scala3/pull/23623)
37+
- Disallow context function types as value-class parameters [#23015](https://github.com/scala/scala3/pull/23015)
38+
- Handle type aliases in contextFunctionResultTypeAfter [#21517](https://github.com/scala/scala3/pull/21517)
39+
- Align erasure of `Array[Nothing]` and `Array[Null]` with Scala 2 [#22517](https://github.com/scala/scala3/pull/22517)
40+
41+
## Experimental: Erased definitions
42+
43+
- Erased fields are not nullable [#23311](https://github.com/scala/scala3/pull/23311)
44+
45+
## Implicits
46+
47+
- Refine implicit search fallbacks for better ClassTag handling [#23532](https://github.com/scala/scala3/pull/23532)
48+
- Fix #20335: Try extensions for arguments with type mismatch error [#23212](https://github.com/scala/scala3/pull/23212)
49+
50+
## Inline
51+
52+
- Fix Symbol.info remapping in TreeTypeMap [#23432](https://github.com/scala/scala3/pull/23432)
53+
54+
## Lambda Lift
55+
56+
- Fix: treat static vals as enclosures in lambdalift [#22452](https://github.com/scala/scala3/pull/22452)
57+
- Fix: record calls to constructors in lambdaLift [#22487](https://github.com/scala/scala3/pull/22487)
58+
59+
## Linting
60+
61+
- Check OrType in interpolated toString lint [#23365](https://github.com/scala/scala3/pull/23365)
62+
- Consider setter of effectively private var [#23211](https://github.com/scala/scala3/pull/23211)
63+
- Nowarn receiver of extension taking params [#23351](https://github.com/scala/scala3/pull/23351)
64+
- Dealias when looking into imports [#22889](https://github.com/scala/scala3/pull/22889)
65+
- Revert unconditional lint of Inlined expansion [#22815](https://github.com/scala/scala3/pull/22815)
66+
- Warn unused member of anonymous class [#22729](https://github.com/scala/scala3/pull/22729)
67+
- No warning for parameter of overriding method [#22757](https://github.com/scala/scala3/pull/22757)
68+
- Lazy val def member is pattern var [#22750](https://github.com/scala/scala3/pull/22750)
69+
- Ignore params to default arg getters [#22749](https://github.com/scala/scala3/pull/22749)
70+
- Restore resolving prefixes of implicit Ident [#22751](https://github.com/scala/scala3/pull/22751)
71+
- Exclude synthetic this.m, Any.m from import lookup [#22695](https://github.com/scala/scala3/pull/22695)
72+
- Nowarn public implicit val class params [#22664](https://github.com/scala/scala3/pull/22664)
73+
- Don't warn retainedBody [#22510](https://github.com/scala/scala3/pull/22510)
74+
- Suppress spurious Suppression [#22383](https://github.com/scala/scala3/pull/22383)
75+
- Handle Typeable [#22663](https://github.com/scala/scala3/pull/22663)
76+
- CheckUnused checks span.exists before testing its parts [#22504](https://github.com/scala/scala3/pull/22504)
77+
- Process Export for unused check [#22984](https://github.com/scala/scala3/pull/22984)
78+
- Enclosing package p.q not visible as q [#23069](https://github.com/scala/scala3/pull/23069)
79+
- Remove premature caching of lookups for unused lint [#22982](https://github.com/scala/scala3/pull/22982)
80+
- Improve checking LHS of Assign [#22977](https://github.com/scala/scala3/pull/22977)
81+
- Improve Unit ascription escape hatch [#23147](https://github.com/scala/scala3/pull/23147)
82+
- Mention extension in unused param warning [#23132](https://github.com/scala/scala3/pull/23132)
83+
- Dealias for unused param check [#23256](https://github.com/scala/scala3/pull/23256)
84+
- Take inferred or explicit refinement result for unused check [#23325](https://github.com/scala/scala3/pull/23325)
85+
- Add accessible check for import usage [#23348](https://github.com/scala/scala3/pull/23348)
86+
- Use result of lambda type of implicit in CheckUnused [#23497](https://github.com/scala/scala3/pull/23497)
87+
88+
## Match Types
89+
90+
- Handle NoType in TypeComparer.disjointnessBoundary [#21520](https://github.com/scala/scala3/pull/21520)
91+
- Fix: #23261 Distinguish 0.0 and -0.0 in ConstantType match types [#23265](https://github.com/scala/scala3/pull/23265)
92+
93+
## Metaprogramming
94+
95+
- Add a check for correct Array shape in quotes.reflect.ClassOfConstant [#22033](https://github.com/scala/scala3/pull/22033)
96+
97+
## Opaque Types
98+
99+
- Fix stack overflow errors when generating opaque type proxies [#22479](https://github.com/scala/scala3/pull/22479)
100+
101+
## Optional Braces
102+
103+
- Correctly detect colon lambda eol indent for optional brace of argument [#22477](https://github.com/scala/scala3/pull/22477)
104+
105+
## Overloading
106+
107+
- Fail compilation if multiple conflicting top-level private defs/vals are in the same package [#22759](https://github.com/scala/scala3/pull/22759)
108+
109+
## Parser
110+
111+
- Allow observing an indent after conditional [#22611](https://github.com/scala/scala3/pull/22611)
112+
- No outdent at eof [#22435](https://github.com/scala/scala3/pull/22435)
113+
- Fix annotations being not expected in the middle of an array type by java parser [#22391](https://github.com/scala/scala3/pull/22391)
114+
- Fix incorrect warning with -no-indent [#23216](https://github.com/scala/scala3/pull/23216)
115+
116+
## Pattern Matching
117+
118+
- Fix issue in lazy symbol completion or bug in nested classfile parser [#23634](https://github.com/scala/scala3/pull/23634)
119+
- Fix existing GADT constraints with introduced pattern-bound symbols [#22928](https://github.com/scala/scala3/pull/22928)
120+
- Avoid crash in uninhab check in Space [#22601](https://github.com/scala/scala3/pull/22601)
121+
122+
## Pickling
123+
124+
- Try to handle SkolemTypes in SingletonTypeTree during pickling [#23236](https://github.com/scala/scala3/pull/23236)
125+
126+
## Positions
127+
128+
- Compare span points in pathTo to determine best span [#23581](https://github.com/scala/scala3/pull/23581)
129+
130+
## Presentation Compiler
131+
132+
- Fix: Fix extracting refinements from intersection types in dynamic select hovers [#23640](https://github.com/scala/scala3/pull/23640)
133+
- Completions for requests just before string [#22894](https://github.com/scala/scala3/pull/22894)
134+
- Add enum type param support in sourceSymbol [#18603](https://github.com/scala/scala3/pull/18603)
135+
- Use untpd.Tree instead of tpd.Tree for SelectionRangeProvider [#22702](https://github.com/scala/scala3/pull/22702)
136+
- Fix: handle multiple params lists in for infer type [#23197](https://github.com/scala/scala3/pull/23197)
137+
- Fix completion mode filtering + optimize scopeCompletions [#23172](https://github.com/scala/scala3/pull/23172)
138+
- Add selection ranges for more names [#23257](https://github.com/scala/scala3/pull/23257)
139+
- Add inlay hints for by-name parameters [#23283](https://github.com/scala/scala3/pull/23283)
140+
- Add jpath to VirtualFile (for pc) [#23203](https://github.com/scala/scala3/pull/23203)
141+
142+
## Quotes
143+
144+
- Fix issue with static `this` references erroring in quoted code [#22618](https://github.com/scala/scala3/pull/22618)
145+
- Skip splice level checking for <refinement> symbols [#22782](https://github.com/scala/scala3/pull/22782)
146+
- Fix stale top level synthetic package object being used in later runs [#23464](https://github.com/scala/scala3/pull/23464)
147+
148+
## REPL
149+
150+
- REPL: JLine 3.29.0 (was 3.27.1) [#22679](https://github.com/scala/scala3/pull/22679)
151+
- Repl: emit warning for the `:sh` command [#22694](https://github.com/scala/scala3/pull/22694)
152+
153+
## Reflection
154+
155+
- Fix regression: do not approximate prefixes when using memberType in reflect API [#22448](https://github.com/scala/scala3/pull/22448)
156+
- Forbid `StringConstant(null)` [#23064](https://github.com/scala/scala3/pull/23064)
157+
- Quotes reflect: sort the typeMembers output list and filter out non-members [#22876](https://github.com/scala/scala3/pull/22876)
158+
159+
## Reporting
160+
161+
- Register nowarn when inlining [#22682](https://github.com/scala/scala3/pull/22682)
162+
- Filter help renders box border [#22434](https://github.com/scala/scala3/pull/22434)
163+
- Fix incorrect warning on type ascription for backquoted identifiers [#23088](https://github.com/scala/scala3/pull/23088)
164+
- Add an explainer to the DoubleDefinition error [#23470](https://github.com/scala/scala3/pull/23470)
165+
166+
## Scaladoc
167+
168+
- Encode path of class [#23503](https://github.com/scala/scala3/pull/23503)
169+
170+
## Settings
171+
172+
- Chore: filter allowed source versions by import and by settings [#23215](https://github.com/scala/scala3/pull/23215)
173+
174+
## Testing framework
175+
176+
- Revert dubious retry in vulpix [#21801](https://github.com/scala/scala3/pull/21801)
177+
178+
## Transform
179+
180+
- Check only stable qual for import prefix [#22633](https://github.com/scala/scala3/pull/22633)
181+
- Warn trivial recursion with module prefix [#23278](https://github.com/scala/scala3/pull/23278)
182+
183+
## Tuples
184+
185+
- Normalize tuple types in var args seq literals and classOf instances [#23465](https://github.com/scala/scala3/pull/23465)
186+
187+
## Typer
188+
189+
- Generalize "Don't approximate a type using Nothing as prefix" [#23628](https://github.com/scala/scala3/pull/23628)
190+
- Don't approximate a type using `Nothing` as prefix [#23531](https://github.com/scala/scala3/pull/23531)
191+
- Tighten condition to preserve denotation in IntegrateMap [#23060](https://github.com/scala/scala3/pull/23060)
192+
- Disallow context bounds in type lambdas [#22659](https://github.com/scala/scala3/pull/22659)
193+
- Fix #22724: Revert the PolyType case in #21744 [#22820](https://github.com/scala/scala3/pull/22820)
194+
- Fix isGenericArrayElement for higher-kinded types [#22938](https://github.com/scala/scala3/pull/22938)
195+
- Revert lambda cleanup [#22697](https://github.com/scala/scala3/pull/22697)
196+
- Constructor companion gets privateWithin [#22627](https://github.com/scala/scala3/pull/22627)
197+
- Add regression test for #22076 [#22602](https://github.com/scala/scala3/pull/22602)
198+
- Constructor proxy is restricted if class is protected [#22563](https://github.com/scala/scala3/pull/22563)
199+
- Check if a prefix is valid before selecting from a type [#22368](https://github.com/scala/scala3/pull/22368)
200+
- Preserve hard unions in widenSingletons [#22369](https://github.com/scala/scala3/pull/22369)
201+
- Revert recent changes to opaque type proxy generation [#23059](https://github.com/scala/scala3/pull/23059)
202+
- Compare TypeVar and TypeParamRef in mergeRefinedOrApplied [#23045](https://github.com/scala/scala3/pull/23045)
203+
- Only keep denotation for methods in IntegrateMap [#23226](https://github.com/scala/scala3/pull/23226)
204+
- Tighten condition when to do SAM type conversion [#23246](https://github.com/scala/scala3/pull/23246)
205+
- Revert "Make overload pruning based on result types less aggressive (#21744)" in main [#23331](https://github.com/scala/scala3/pull/23331)
206+
- Fix #22922: Add TypeParamRef handling in isSingletonBounded [#23501](https://github.com/scala/scala3/pull/23501)
207+
- Fix this references everywhere in dependent function types [#23514](https://github.com/scala/scala3/pull/23514)
208+
- More careful ClassTag instantiation [#23659](https://github.com/scala/scala3/pull/23659)
209+
- Use more context for implicit search only if no default argument [#23664](https://github.com/scala/scala3/pull/23664)
210+
211+
## JDK
212+
213+
- Check path of module prefix for tailrec [#23491](https://github.com/scala/scala3/pull/23491)
214+
215+
## Releases
216+
217+
- [CI] Switch releasing to Sontype Central instead of legacy Sonatype OSS [#23290](https://github.com/scala/scala3/pull/23290)
218+

0 commit comments

Comments
 (0)