Skip to content

Commit 900de77

Browse files
authored
Merge pull request #553 from tgodzik/add-lts-changelogs
docs: Backport changelogs for 3.3.6
2 parents 7e360b9 + 3b0541e commit 900de77

File tree

4 files changed

+534
-0
lines changed

4 files changed

+534
-0
lines changed

changelogs/3.3.6-RC1.md

Lines changed: 252 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,252 @@
1+
# Highlights of the release
2+
3+
- Partial Fix #21242: Add REPL init script setting [#22206](https://github.com/scala/scala3/pull/22206)
4+
- Update asm to patched 9.7.1 [#22250](https://github.com/scala/scala3/pull/22250)
5+
- REPL: Add back `:silent` command [#22248](https://github.com/scala/scala3/pull/22248)
6+
- Scala 2 forwardport: `-Yprofile-trace` [#19897](https://github.com/scala/scala3/pull/19897)
7+
8+
# Other changes and fixes
9+
10+
## Annotations
11+
12+
- Make sure symbols in annotation trees are fresh before pickling [#22002](https://github.com/scala/scala3/pull/22002)
13+
- Fix Java parsing of annotations on qualified types [#21867](https://github.com/scala/scala3/pull/21867)
14+
- Rename `InlineCopier` to `ConservativeTreeCopier`, use it in `TypeMap`s [#21941](https://github.com/scala/scala3/pull/21941)
15+
- Consider all arguments in Annotations.refersToParamOf [#22001](https://github.com/scala/scala3/pull/22001)
16+
17+
## Backend
18+
19+
- Flag class file collision as error [#19332](https://github.com/scala/scala3/pull/19332)
20+
- Backend computes line number from source of position [#21763](https://github.com/scala/scala3/pull/21763)
21+
22+
## CI
23+
24+
- In CI, use new standard scala/cla-checker action [#22203](https://github.com/scala/scala3/pull/22203)
25+
- Cancel stale CI executions when CI is re-triggered in the same branch/PR [#21974](https://github.com/scala/scala3/pull/21974)
26+
- Drop support for old experimental in community-build [#21729](https://github.com/scala/scala3/pull/21729)
27+
28+
## Coverage
29+
30+
- Fix coverage serialization when encountering macro suspension [#22303](https://github.com/scala/scala3/pull/22303)
31+
32+
## Dependencies
33+
34+
- Sbt 1.10.5 (was 1.9.9) [#20157](https://github.com/scala/scala3/pull/20157)
35+
- Scala 2.13.16 (was .15) [#22386](https://github.com/scala/scala3/pull/22386)
36+
37+
## Desugaring
38+
39+
- Fix #22051: only trust the type application part for case class unapplies [#22099](https://github.com/scala/scala3/pull/22099)
40+
41+
## Documentation
42+
43+
- Fix: typo in documentation for Tuple.zip [#22313](https://github.com/scala/scala3/pull/22313)
44+
- Copyright 2025 [#22326](https://github.com/scala/scala3/pull/22326)
45+
- Documentation only: update Example code linked to obsolete content in macros-spec.md [#22256](https://github.com/scala/scala3/pull/22256)
46+
- Doc fix, removed repeated use of the word with [#21915](https://github.com/scala/scala3/pull/21915)
47+
- Fix typos [#21913](https://github.com/scala/scala3/pull/21913)
48+
49+
## Enums
50+
51+
- Add type parameters derived from enum to default param getters of enum cases [#22157](https://github.com/scala/scala3/pull/22157)
52+
53+
## Extension Methods
54+
55+
- Add regression test for #22320 [#22321](https://github.com/scala/scala3/pull/22321)
56+
- Tweak ExtensionNullifiedByMember [#22268](https://github.com/scala/scala3/pull/22268)
57+
58+
# Infrastructure
59+
60+
- Improve, document and group versioning code in `Build.scala` [#21837](https://github.com/scala/scala3/pull/21837)
61+
- Fix: drop jackson-module-scala from CB [#22353](https://github.com/scala/scala3/pull/22353)
62+
- Fix inductive-implicits benchmark [#22007](https://github.com/scala/scala3/pull/22007)
63+
- Remove tests/pos-with-compiler-cc from VSCode ignored files [#22198](https://github.com/scala/scala3/pull/22198)
64+
- Bump webrick from 1.8.2 to 1.9.1 in /docs/_spec [#22066](https://github.com/scala/scala3/pull/22066)
65+
- Fix Windows OS detection in TraceNameManglingTest [#21937](https://github.com/scala/scala3/pull/21937)
66+
- Don't warn for deprecated Thread.getId() calls in `ChromeTrace` [#21831](https://github.com/scala/scala3/pull/21831)
67+
- Improvement: Remove workaround for Bloop and update docs [#21842](https://github.com/scala/scala3/pull/21842)
68+
- Ensure ChromeTraceTest event timestamps are emitted in correct invervals [#21911](https://github.com/scala/scala3/pull/21911)
69+
- Remove tests/pos-with-compiler-cc [#21956](https://github.com/scala/scala3/pull/21956)
70+
- Shade scalajs.ir under dotty.tools [#21765](https://github.com/scala/scala3/pull/21765)
71+
72+
## Implicits
73+
74+
- Rollback constraints in compareAppliedTypeParamRef [#22339](https://github.com/scala/scala3/pull/22339)
75+
- Apply implicit conversion from derived Conversion instance defined as implicit rather than given [#21785](https://github.com/scala/scala3/pull/21785)
76+
77+
## Imports
78+
79+
- Allow imports nested in packagings to shadow [#21539](https://github.com/scala/scala3/pull/21539)
80+
81+
## Inline
82+
83+
- Fix inline reduction for CaseDef guards with asInstanceOf [#22305](https://github.com/scala/scala3/pull/22305)
84+
- Avoid using the current denotation in NamedType.disambiguate [#21414](https://github.com/scala/scala3/pull/21414)
85+
86+
## Linting
87+
88+
- Append instead of prepending import selectors for the current scope when collecting them in CheckUnused [#22314](https://github.com/scala/scala3/pull/22314)
89+
- Allow discarding "Discarded non-Unit" warnings with `: Unit` [#21927](https://github.com/scala/scala3/pull/21927)
90+
- Disallow open modifier on objects [#21922](https://github.com/scala/scala3/pull/21922)
91+
- Only count associated files of direct members of package objects in dropStale [#22190](https://github.com/scala/scala3/pull/22190)
92+
93+
## Metaprogramming
94+
95+
- Rethrow SuspendExceptions caught in CodeGen phase [#22009](https://github.com/scala/scala3/pull/22009)
96+
- Extend compiletime.testing.typechecks with certain transform phases [#21185](https://github.com/scala/scala3/pull/21185)
97+
98+
# Match Types
99+
100+
- Fix #21841: Check more that an `unapplySeq` on a `NonEmptyTuple` is valid. [#22366](https://github.com/scala/scala3/pull/22366)
101+
- Type avoidance in MT bound inference [#22142](https://github.com/scala/scala3/pull/22142)
102+
103+
104+
## Nullability
105+
106+
- Fix #21619: Refactor NotNullInfo to record every reference which is retracted once. [#21624](https://github.com/scala/scala3/pull/21624)
107+
108+
## Parser
109+
110+
- Fix: don't consider `into` as a soft-modifier [#21924](https://github.com/scala/scala3/pull/21924)
111+
- Fix: Allow `as` as an infix type in non context bound types [#21849](https://github.com/scala/scala3/pull/21849)
112+
- Undo patch of double-block apply [#21982](https://github.com/scala/scala3/pull/21982)
113+
114+
## Pattern Matching
115+
116+
- (Re-)Drop inaccessible subclasses from refineUsingParent [#21930](https://github.com/scala/scala3/pull/21930)
117+
- Fix #21914: Don't project nested wildcard patterns to nullable [#21934](https://github.com/scala/scala3/pull/21934)
118+
- Fix use of class terms in match analysis [#21848](https://github.com/scala/scala3/pull/21848)
119+
- Fix provablyDisjoint handling enum constants with mixins [#21876](https://github.com/scala/scala3/pull/21876)
120+
- Do not consider uninhabited constructors when performing exhaustive match checking [#21750](https://github.com/scala/scala3/pull/21750)
121+
122+
## Pickling
123+
124+
- Avoid orphan param from default arg [#21824](https://github.com/scala/scala3/pull/21824)
125+
- Make sure definition tree has the defined symbol [#21851](https://github.com/scala/scala3/pull/21851)
126+
127+
## Presentation Compiler
128+
129+
- Use new infer expected type for singleton complations [#21421](https://github.com/scala/scala3/pull/21421)
130+
- Fix presentation compiler testcases [#22253](https://github.com/scala/scala3/pull/22253)
131+
- Fix match error in keyword completions [#22138](https://github.com/scala/scala3/pull/22138)
132+
- Add test cases project for presentation compiler [#22101](https://github.com/scala/scala3/pull/22101)
133+
- Improvement: Update mtags to 1.4.1 and backport remaining changes [#21859](https://github.com/scala/scala3/pull/21859)
134+
- Backport changes for the presentation compiler from Metals [#21756](https://github.com/scala/scala3/pull/21756)
135+
136+
## Quotes
137+
138+
- Fix tupleTypeFromSeq for XXL tuples [#21782](https://github.com/scala/scala3/pull/21782)
139+
- Do not bring forward symbols created in transform and backend phases [#21865](https://github.com/scala/scala3/pull/21865)
140+
- Fix #20471: owners of top-level symbols in cached quoted code being incorrect [#21945](https://github.com/scala/scala3/pull/21945)
141+
- Fix for macro annotation that resolves macro-based implicit crashing the compiler [#20353](https://github.com/scala/scala3/pull/20353)
142+
- Allow macro annotations to recover from suspension [#21969](https://github.com/scala/scala3/pull/21969)
143+
144+
# REPL
145+
146+
- REPL: 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)
147+
- Fix #9879: allow top-level opaque type definitions in REPL [#21753](https://github.com/scala/scala3/pull/21753)
148+
149+
## Reflection
150+
151+
- Do not return java outline dummy constructor in `primaryConstructor` [#22104](https://github.com/scala/scala3/pull/22104)
152+
153+
## Reporting
154+
155+
- Normalise the types for Type Mismatch Error (E007) [#22337](https://github.com/scala/scala3/pull/22337)
156+
- Do not warn about expected missing positions in quotes.reflect.Symbol [#21677](https://github.com/scala/scala3/pull/21677)
157+
- Add missing error messages to asserts in QuotesImpl [#21852](https://github.com/scala/scala3/pull/21852)
158+
- Don't point to the compiler backlog when a compiler plugin phase crashes [#21887](https://github.com/scala/scala3/pull/21887)
159+
- Nowarn extension matching nonpublic member [#21825](https://github.com/scala/scala3/pull/21825)
160+
- Fix: better error messages when an enum derives from AnyVal [#22236](https://github.com/scala/scala3/pull/22236)
161+
162+
## Scaladoc
163+
164+
- [ISSUE-#19208] If scaladocs on file protocol don't do SPA routing. [#22013](https://github.com/scala/scala3/pull/22013)
165+
- Fix scaladoc graph highlight background color in dark mode [#21814](https://github.com/scala/scala3/pull/21814)
166+
167+
## SemanticDB
168+
169+
- Extract semanticDB for lifted definitions [#21856](https://github.com/scala/scala3/pull/21856)
170+
171+
## Specification
172+
173+
- Align the spec to allow the marker [#22323](https://github.com/scala/scala3/pull/22323)
174+
- Fix #20271: Bring for comprehension spec up to date. [#21702](https://github.com/scala/scala3/pull/21702)
175+
- Spec: Integrate the specification for match types. [#22164](https://github.com/scala/scala3/pull/22164)
176+
177+
## Settings
178+
179+
- Limit exposure to ConcurrentModificationException when sys props are replaced or mutated [#22180](https://github.com/scala/scala3/pull/22180)
180+
181+
# Tooling
182+
183+
- Connect the input to the compiler in `sbt` [#22336](https://github.com/scala/scala3/pull/22336)
184+
- Ensure to escape characters before constructing JSON profile trace [#21872](https://github.com/scala/scala3/pull/21872)
185+
- Fix: correctly print literal types in the refined printer [#22351](https://github.com/scala/scala3/pull/22351)
186+
187+
## Transform
188+
189+
- Attempt to beta reduce only if parameters and arguments have same shape [#21970](https://github.com/scala/scala3/pull/21970)
190+
- Fix enclosingClass from returning refinement classes [#21411](https://github.com/scala/scala3/pull/21411)
191+
- Fix #22226: Use `classOf[BoxedUnit]` for Unit array in `ArrayConstructors`. [#22238](https://github.com/scala/scala3/pull/22238)
192+
- Fix typo in `allTermArguments` [#21836](https://github.com/scala/scala3/pull/21836)
193+
194+
## Typer
195+
196+
- Fixes for isLegalPrefix change [#22241](https://github.com/scala/scala3/pull/22241)
197+
- Resolve name when named imp is behind wild imps [#21888](https://github.com/scala/scala3/pull/21888)
198+
- Do not crash when typing a closure with unknown type, since it can occur for erroneous input [#21178](https://github.com/scala/scala3/pull/21178)
199+
- Allow autotupling if fn's param is a type param [#21741](https://github.com/scala/scala3/pull/21741)
200+
- Fix ctx implicits under case unapplySeq [#21748](https://github.com/scala/scala3/pull/21748)
201+
- Avoid using ExplainingTypeComparer in regular code [#21583](https://github.com/scala/scala3/pull/21583)
202+
- Avoid erasure/preErasure issues around Any in transformIsInstanceOf [#21647](https://github.com/scala/scala3/pull/21647)
203+
- Remove tvars introduced while testing normalizedCompatible [#21466](https://github.com/scala/scala3/pull/21466)
204+
205+
## Miscellaneous
206+
207+
- Replace deprecated AnyRefMap [#22230](https://github.com/scala/scala3/pull/22230)
208+
209+
# Contributors
210+
211+
Thank you to all the contributors who made this release possible 🎉
212+
213+
According to git shortlog -sn --no-merges 3.3.5..3.3.6-RC1 these are:
214+
215+
```
216+
63 Tomasz Godzik
217+
30 Dale Wijnand
218+
26 Wojciech Mazur
219+
20 noti0na1
220+
15 Hamza Remmal
221+
15 Matt Bovel
222+
10 Jan Chyb
223+
9 Kacper Korban
224+
6 Som Snytt
225+
4 Sébastien Doeraene
226+
3 HarrisL2
227+
3 Jamie Thompson
228+
3 Martin Odersky
229+
3 Seth Tisue
230+
3 kasiaMarek
231+
2 Friendseeker
232+
2 João Ferreira
233+
2 Kenji Yoshida
234+
2 Natsu Kagami
235+
2 Pascal Weisenburger
236+
2 dependabot[bot]
237+
1 Adrien Piquerez
238+
1 Alden Torres
239+
1 Alexander
240+
1 Georgi Krastev
241+
1 Guillaume Martres
242+
1 Jentsch
243+
1 Lunfu Zhong
244+
1 Mathias
245+
1 Michał Pałka
246+
1 Oleg Zenzin
247+
1 Oliver Bračevac
248+
1 friendseeker
249+
1 philippus
250+
1 tgodzik
251+
1 xiaoshihou
252+
```

changelogs/3.3.6-RC2.md

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
# Reverted changes
2+
3+
- Do not lift annotation arguments [#22035](https://github.com/scala/scala3/pull/22035) and [#22046](https://github.com/scala/scala3/pull/22046)
4+
5+
# Contributors
6+
7+
Thank you to all theq contributors who made this release possible 🎉
8+
9+
According to `git shortlog -sn --no-merges 3.3.6-RC1..3.3.6-RC2` these are:
10+
11+
```
12+
3 Tomasz Godzik
13+
```

changelogs/3.3.6-RC3.md

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
# Backported fixes
2+
3+
- classfile reader: handle JDK 9+ constant types in constant pool [#19533](https://github.com/scala/scala3/pull/19533)
4+
- Update asm to 9.8.0 [#23004](https://github.com/scala/scala3/pull/23004)
5+
6+
# Contributors
7+
8+
Thank you to all theq contributors who made this release possible 🎉
9+
10+
According to `git shortlog -sn --no-merges 3.3.6-RC2..3.3.6-RC3` these are:
11+
12+
```
13+
2 Seth Tisue
14+
1 Tomasz Godzik
15+
1 philippus
16+
```

0 commit comments

Comments
 (0)