Skip to content

Commit 0059e3f

Browse files
committed
Add changelog for 3.3.5
1 parent 2031857 commit 0059e3f

File tree

1 file changed

+168
-0
lines changed

1 file changed

+168
-0
lines changed

Diff for: changelogs/3.3.5.md

+168
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,168 @@
1+
# Highlights of the release
2+
3+
- Use Scala 2.13.15 standard library [#21648](https://github.com/scala/scala3/pull/21648)
4+
- Support JDK 23 [#20144](https://github.com/scala/scala3/pull/20144)
5+
- Add the `-Wall` option that enables all warnings [#20577](https://github.com/scala/scala3/pull/20577)
6+
- Reversed `-Wconf` parsing order to mirror Scala 2 semantics [#18503](https://github.com/scala/scala3/pull/18503)
7+
8+
# Other changes and fixes
9+
10+
## Annotations
11+
12+
- Tighten java annot value parsing [#21650](https://github.com/scala/scala3/pull/21650)
13+
14+
## Exports
15+
16+
- Re-use attachment in exportForwarders to handle ambiguous overloads [#21518](https://github.com/scala/scala3/pull/21518)
17+
- Allow export statements in AnyVal [#21653](https://github.com/scala/scala3/pull/21653)
18+
19+
## Extension Methods
20+
21+
- Make right assoc ext method fwd refs error [#21641](https://github.com/scala/scala3/pull/21641)
22+
23+
## Inference
24+
25+
- Fix #20521: Optimise caching for computing atoms and widened in OrTypes [#21223](https://github.com/scala/scala3/pull/21223)
26+
27+
## Linting
28+
29+
- Add origin filter to WConf, DeprecationWarning [#21404](https://github.com/scala/scala3/pull/21404)
30+
- CheckUnused checks type param annotations [#20549](https://github.com/scala/scala3/pull/20549)
31+
32+
## Match Types
33+
34+
- Fix #20897: Make `Nothing ⋔ Nothing`, as per spec. [#21241](https://github.com/scala/scala3/pull/21241)
35+
- Always interpret underscores inside patterns as type bounds [#21718](https://github.com/scala/scala3/pull/21718)
36+
37+
## Overloading
38+
39+
- Report only non-overridden unimplemented members [#21337](https://github.com/scala/scala3/pull/21337)
40+
41+
## Parser
42+
43+
- Harden skip in Scanner [#21607](https://github.com/scala/scala3/pull/21607)
44+
- SimplePattern errors should now be recovered as wildcard instead of unimplemented expr [#21438](https://github.com/scala/scala3/pull/21438)
45+
46+
## Positions
47+
48+
- Fix trailing comma Ident's span [#20445](https://github.com/scala/scala3/pull/20445)
49+
50+
## Presentation Compiler
51+
52+
- Fix autoimports with using directives [#21590](https://github.com/scala/scala3/pull/21590)
53+
- Remove artificial `CURSOR` added to code in the completions [#20899](https://github.com/scala/scala3/pull/20899)
54+
- Help implement Metals' infer expected type feature [#21390](https://github.com/scala/scala3/pull/21390)
55+
- Weekly metals backport [#21343](https://github.com/scala/scala3/pull/21343)
56+
- Change mock symbol search [#21296](https://github.com/scala/scala3/pull/21296)
57+
- Fix: completions when parenthesis already provided [#21299](https://github.com/scala/scala3/pull/21299)
58+
- Backport from metals [#21196](https://github.com/scala/scala3/pull/21196)
59+
- Fix: don't add suffix if brackets already present [#21259](https://github.com/scala/scala3/pull/21259)
60+
61+
## Quotes
62+
63+
- Handle suspension due to macro call in arbitrary phases [#21651](https://github.com/scala/scala3/pull/21651)
64+
- Have a better error message when healing types [#21711](https://github.com/scala/scala3/pull/21711)
65+
- Expr#show: Don't crash when the expression contains an unsupported type (like a SkolemType) [#20494](https://github.com/scala/scala3/pull/20494)
66+
- Quotes type printing: take `infix` type modifier into account [#21726](https://github.com/scala/scala3/pull/21726)
67+
68+
## Reporting
69+
70+
- Nicer error message in case a `derived` method has an explicit term param [#21332](https://github.com/scala/scala3/pull/21332)
71+
- Add better error reporting for inlined non-immutable paths [#21639](https://github.com/scala/scala3/pull/21639)
72+
73+
## Releases
74+
75+
- Add support for Chocolatey [#20534](https://github.com/scala/scala3/pull/20534)
76+
- Add the merge commit hash to the icon's url [#21221](https://github.com/scala/scala3/pull/21221)
77+
- Add sources of synthetic classes to sources jar [#20904](https://github.com/scala/scala3/pull/20904)
78+
79+
## REPL
80+
81+
- Uppdate JLine to 3.27.0 (was 3.25.1) [#21752](https://github.com/scala/scala3/pull/21752)
82+
- Allow JLine to fall back to a dumb terminal [#21330](https://github.com/scala/scala3/pull/21330)
83+
- JLine: follow recommendation to use JNI, not JNA; also JLine 3.27.1 (was 3.27.0) [#22205](https://github.com/scala/scala3/pull/22205)
84+
85+
## Runner
86+
87+
- Fix old scala runner to use correct JLine classpath [#22464](https://github.com/scala/scala3/pull/22464)
88+
- Fix remaining JNA classpath entries in `dist/bin/scaladoc*` scripts [#22471](https://github.com/scala/scala3/pull/22471)
89+
90+
## Scaladoc
91+
92+
- Only trim one newline when preprocessing the content of a markdown code snippet [#21519](https://github.com/scala/scala3/pull/21519)
93+
- Bump Inkuire version to fix it for the new Scala versions [#21611](https://github.com/scala/scala3/pull/21611)
94+
- Filter opaque modifier from object documentation [#21640](https://github.com/scala/scala3/pull/21640)
95+
96+
## TASTy format
97+
98+
- Add child to parent in completion context [#21214](https://github.com/scala/scala3/pull/21214)
99+
100+
## Transform
101+
102+
- Three fixes to SAM type handling [#21596](https://github.com/scala/scala3/pull/21596)
103+
- Fix treatment of separately compiled @native methods in FirstTransform [#21593](https://github.com/scala/scala3/pull/21593)
104+
- Fix #20856: Serialize `Waiting` and `Evaluating` as if `null`. [#21243](https://github.com/scala/scala3/pull/21243)
105+
- Fixes IllegalAccessError with Java package protected class [#21362](https://github.com/scala/scala3/pull/21362)
106+
- Consistently use TypeMismatch in TreeChecker [#21529](https://github.com/scala/scala3/pull/21529)
107+
- Fix: don't use color codes for pattern match code action [#21120](https://github.com/scala/scala3/pull/21120)
108+
- Let show behave more robustly for Recheck [#21678](https://github.com/scala/scala3/pull/21678)
109+
- Always rewrite empty List() to Nil [#21689](https://github.com/scala/scala3/pull/21689)
110+
111+
## Typer
112+
113+
- Fix extending protected nested java classes [#21857](https://github.com/scala/scala3/pull/21857)
114+
- Avoid cyclic errors forcing default arg types [#21597](https://github.com/scala/scala3/pull/21597)
115+
- Survive inaccessible types when computing implicit scope [#21589](https://github.com/scala/scala3/pull/21589)
116+
- Revert "Drop redundant `butNot = Param` clause in isAnchor" [#21566](https://github.com/scala/scala3/pull/21566)
117+
- Fail early & more clearly on shaded-broken classfiles [#21262](https://github.com/scala/scala3/pull/21262)
118+
- Fix isomorphism tests of `AndOrType`s under non-empty `BinderPairs` [#21017](https://github.com/scala/scala3/pull/21017)
119+
- Some fixes for AnnotatedTypes mapping [#19957](https://github.com/scala/scala3/pull/19957)
120+
- Simple performance improvement for Denotations [#21584](https://github.com/scala/scala3/pull/21584)
121+
- Avoid import suggestion thread hang if -Ximport-suggestion-timeout <= 1 [#21434](https://github.com/scala/scala3/pull/21434)
122+
- Fix incorrect caching with dependent method parameters [#21699](https://github.com/scala/scala3/pull/21699)
123+
124+
## Experimental: Explicit Nulls
125+
126+
- Add tracking of NotNullInfo for Match, Case, Try trees (fix #21380) [#21389](https://github.com/scala/scala3/pull/21389)
127+
- Fix #21392: Adjust `canComparePredefined(Nothing, T)` in explicit nulls [#21504](https://github.com/scala/scala3/pull/21504)
128+
129+
# Contributors
130+
131+
Thank you to all the contributors who made this release possible 🎉
132+
133+
According to `git shortlog -sn --no-merges 3.3.4..3.3.5-RC1` these are:
134+
135+
```
136+
56 Wojciech Mazur
137+
14 Dale Wijnand
138+
10 Katarzyna Marek
139+
8 rochala
140+
5 Hamza Remmal
141+
5 noti0na1
142+
4 Matt Bovel
143+
4 Seth Tisue
144+
4 Som Snytt
145+
3 Jamie Thompson
146+
3 Martin Odersky
147+
3 Michał Pałka
148+
3 dependabot[bot]
149+
3 kasiaMarek
150+
2 Aleksander Rainko
151+
2 Eugene Flesselle
152+
2 Florian3k
153+
2 HarrisL2
154+
2 Jędrzej Rochala
155+
2 Kacper Korban
156+
2 Yichen Xu
157+
1 Eugene Yokota
158+
1 Guillaume Martres
159+
1 Hamza REMMAL
160+
1 Jan Chyb
161+
1 Joel Wilsson
162+
1 Kenji Yoshida
163+
1 Martin Duhem
164+
1 Nicolas Stucki
165+
1 Ondrej Lhotak
166+
1 Sébastien Doeraene
167+
1 Tomasz Godzik
168+
```

0 commit comments

Comments
 (0)