|  | 
|  | 1 | +# Highlights of the release | 
|  | 2 | + | 
|  | 3 | +- Scala 2 forwardport: `-Yprofile-trace` [#19897](https://github.com/scala/scala3/pull/19897) | 
|  | 4 | + | 
|  | 5 | +# Other changes and fixes | 
|  | 6 | + | 
|  | 7 | +## Annotations | 
|  | 8 | + | 
|  | 9 | +- Fix Java parsing of annotations on qualified types [#21867](https://github.com/scala/scala3/pull/21867) | 
|  | 10 | +- Consider all arguments in Annotations.refersToParamOf [#22001](https://github.com/scala/scala3/pull/22001) | 
|  | 11 | + | 
|  | 12 | +## Backend | 
|  | 13 | + | 
|  | 14 | +- Flag class file collision as error [#19332](https://github.com/scala/scala3/pull/19332) | 
|  | 15 | + | 
|  | 16 | +## Compiler Phases | 
|  | 17 | + | 
|  | 18 | +- Fix #21939: Update names and descriptions for cc and setup phases [#21942](https://github.com/scala/scala3/pull/21942) | 
|  | 19 | + | 
|  | 20 | +## Experimental: Explicit Nulls | 
|  | 21 | + | 
|  | 22 | +- Improve warning for wildcard matching only null under the explicit nulls flag (scala#21577) [#21623](https://github.com/scala/scala3/pull/21623) | 
|  | 23 | +- Fix warning message for matching on redundant nulls [#21850](https://github.com/scala/scala3/pull/21850) | 
|  | 24 | + | 
|  | 25 | +## Experimental: Capture Checking | 
|  | 26 | + | 
|  | 27 | +- Fix #21868, #21869, and #21870: handle CapsOf in more places [#21875](https://github.com/scala/scala3/pull/21875) | 
|  | 28 | +- Consolidate CC [#21863](https://github.com/scala/scala3/pull/21863) | 
|  | 29 | +- Add path support for capture checking [#21445](https://github.com/scala/scala3/pull/21445) | 
|  | 30 | + | 
|  | 31 | +## Experimentals | 
|  | 32 | + | 
|  | 33 | +- Replace symbol traversal with tree traversal when finding top level experimentals [#21827](https://github.com/scala/scala3/pull/21827) | 
|  | 34 | + | 
|  | 35 | +## Extension Methods | 
|  | 36 | + | 
|  | 37 | +- Nowarn extension matching nonpublic member [#21825](https://github.com/scala/scala3/pull/21825) | 
|  | 38 | + | 
|  | 39 | +## Implicits | 
|  | 40 | + | 
|  | 41 | +- Apply implicit conversion from derived Conversion instance defined as implicit rather than given [#21785](https://github.com/scala/scala3/pull/21785) | 
|  | 42 | + | 
|  | 43 | +## Imports | 
|  | 44 | + | 
|  | 45 | +- Allow imports nested in packagings to shadow [#21539](https://github.com/scala/scala3/pull/21539) | 
|  | 46 | + | 
|  | 47 | +## Inline | 
|  | 48 | + | 
|  | 49 | +- Avoid using the current denotation in NamedType.disambiguate [#21414](https://github.com/scala/scala3/pull/21414) | 
|  | 50 | +- Drop phase.isTyper use in isLegalPrefix/asf [#21954](https://github.com/scala/scala3/pull/21954) | 
|  | 51 | +- Fix for macro annotation that resolves macro-based implicit crashing the compiler [#20353](https://github.com/scala/scala3/pull/20353) | 
|  | 52 | +- Allow macro annotations to recover from suspension [#21969](https://github.com/scala/scala3/pull/21969) | 
|  | 53 | + | 
|  | 54 | +## Linting | 
|  | 55 | + | 
|  | 56 | +- Disallow open modifier on objects [#21922](https://github.com/scala/scala3/pull/21922) | 
|  | 57 | +- Allow discarding "Discarded non-Unit" warnings with `: Unit` [#21927](https://github.com/scala/scala3/pull/21927) | 
|  | 58 | + | 
|  | 59 | +## Opaque Types | 
|  | 60 | + | 
|  | 61 | +- Fix pkg obj prefix of opaque tp ext meth [#21527](https://github.com/scala/scala3/pull/21527) | 
|  | 62 | + | 
|  | 63 | +## Parser | 
|  | 64 | + | 
|  | 65 | +- Fix: don't consider `into` as a soft-modifier [#21924](https://github.com/scala/scala3/pull/21924) | 
|  | 66 | + | 
|  | 67 | +## Pattern Matching | 
|  | 68 | + | 
|  | 69 | +- Drop inaccessible subclasses from refineUsingParent [#21799](https://github.com/scala/scala3/pull/21799) | 
|  | 70 | +- (Re-)Drop inaccessible subclasses from refineUsingParent [#21930](https://github.com/scala/scala3/pull/21930) | 
|  | 71 | +- Fix use of class terms in match analysis [#21848](https://github.com/scala/scala3/pull/21848) | 
|  | 72 | +- Don't project nested wildcard patterns to nullable [#21934](https://github.com/scala/scala3/pull/21934) | 
|  | 73 | +- Fix provablyDisjoint handling enum constants with mixins [#21876](https://github.com/scala/scala3/pull/21876) | 
|  | 74 | +- Do not consider uninhabited constructors when performing exhaustive match checking [#21750](https://github.com/scala/scala3/pull/21750) | 
|  | 75 | + | 
|  | 76 | +## Presentation Compiler | 
|  | 77 | + | 
|  | 78 | +- Update mtags to 1.4.1 and backport remaining changes [#21859](https://github.com/scala/scala3/pull/21859) | 
|  | 79 | +- Backport changes for the presentation compiler from Metals [#21756](https://github.com/scala/scala3/pull/21756) | 
|  | 80 | + | 
|  | 81 | +## Pickling | 
|  | 82 | + | 
|  | 83 | +- Avoid orphan param from default arg [#21824](https://github.com/scala/scala3/pull/21824) | 
|  | 84 | +- Make sure definition tree has the defined symbol [#21851](https://github.com/scala/scala3/pull/21851) | 
|  | 85 | + | 
|  | 86 | +## REPL | 
|  | 87 | + | 
|  | 88 | +- Allow top-level opaque type definitions in REPL [#21753](https://github.com/scala/scala3/pull/21753) | 
|  | 89 | + | 
|  | 90 | +## Scaladoc | 
|  | 91 | + | 
|  | 92 | +- Fix scaladoc TastyInspector regressions [#21716](https://github.com/scala/scala3/pull/21716) | 
|  | 93 | +- Bring back the fix for scaladoc TastyInspector regressions [#21929](https://github.com/scala/scala3/pull/21929) | 
|  | 94 | + | 
|  | 95 | +## Standard Library | 
|  | 96 | + | 
|  | 97 | +- Combine cases of `Tuple.Zip` disjoint from `(h1 *: t1, h2 *: t2)` [#21287](https://github.com/scala/scala3/pull/21287) | 
|  | 98 | + | 
|  | 99 | +## Quotes | 
|  | 100 | + | 
|  | 101 | +- Fix #20471: owners of top-level symbols in cached quoted code being incorrect [#21945](https://github.com/scala/scala3/pull/21945) | 
|  | 102 | + | 
|  | 103 | +## Reporting | 
|  | 104 | + | 
|  | 105 | +- Do not warn about expected missing positions in quotes.reflect.Symbol [#21677](https://github.com/scala/scala3/pull/21677) | 
|  | 106 | +- Add missing error messages to asserts in QuotesImpl [#21852](https://github.com/scala/scala3/pull/21852) | 
|  | 107 | +- Don't point to the compiler backlog when a compiler plugin phase crashes [#21887](https://github.com/scala/scala3/pull/21887) | 
|  | 108 | +- Better error message for polytypes wrapping capturing types [#21843](https://github.com/scala/scala3/pull/21843) | 
|  | 109 | +- Pretty-print lambdas [#21846](https://github.com/scala/scala3/pull/21846) | 
|  | 110 | + | 
|  | 111 | +## Scala.js | 
|  | 112 | + | 
|  | 113 | +- Shade scalajs.ir under dotty.tools [#21765](https://github.com/scala/scala3/pull/21765) | 
|  | 114 | + | 
|  | 115 | +## Scaladoc | 
|  | 116 | + | 
|  | 117 | +- Fix scaladoc graph highlight background color in dark mode [#21814](https://github.com/scala/scala3/pull/21814) | 
|  | 118 | + | 
|  | 119 | +## SemanticDB | 
|  | 120 | + | 
|  | 121 | +- Extract semanticDB for lifted definitions [#21856](https://github.com/scala/scala3/pull/21856) | 
|  | 122 | + | 
|  | 123 | +## Transform | 
|  | 124 | + | 
|  | 125 | +- Fix enclosingClass from returning refinement classes [#21411](https://github.com/scala/scala3/pull/21411) | 
|  | 126 | +- Attempt to beta reduce only if parameters and arguments have same shape [#21970](https://github.com/scala/scala3/pull/21970) | 
|  | 127 | +- Drop copied parent refinements before generating bytecode [#21733](https://github.com/scala/scala3/pull/21733) | 
|  | 128 | + | 
|  | 129 | +## Tooling | 
|  | 130 | + | 
|  | 131 | +- Ensure to escape characters before constructing JSON profile trace [#21872](https://github.com/scala/scala3/pull/21872) | 
|  | 132 | + | 
|  | 133 | +## Tuples | 
|  | 134 | + | 
|  | 135 | +- Fix tupleTypeFromSeq for XXL tuples [#21782](https://github.com/scala/scala3/pull/21782) | 
|  | 136 | + | 
|  | 137 | +## Typer | 
|  | 138 | + | 
|  | 139 | +- 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) | 
|  | 140 | +- Revert SAM condition to what it was before [#21684](https://github.com/scala/scala3/pull/21684) | 
|  | 141 | +- Fix ctx implicits under case unapplySeq [#21748](https://github.com/scala/scala3/pull/21748) | 
|  | 142 | +- Avoid erasure/preErasure issues around Any in transformIsInstanceOf [#21647](https://github.com/scala/scala3/pull/21647) | 
|  | 143 | + | 
|  | 144 | +# Contributors | 
|  | 145 | + | 
|  | 146 | +Thank you to all the contributors who made this release possible 🎉 | 
|  | 147 | + | 
|  | 148 | +According to `git shortlog -sn --no-merges 3.6.2..3.6.3-RC1` these are: | 
|  | 149 | + | 
|  | 150 | +``` | 
|  | 151 | +  30 Dale Wijnand | 
|  | 152 | +  30 Kacper Korban | 
|  | 153 | +  27 Wojciech Mazur | 
|  | 154 | +  14 noti0na1 | 
|  | 155 | +  10 Eugene Flesselle | 
|  | 156 | +  10 Hamza Remmal | 
|  | 157 | +  10 HarrisL2 | 
|  | 158 | +    9 Martin Odersky | 
|  | 159 | +    8 Matt Bovel | 
|  | 160 | +    7 Jan Chyb | 
|  | 161 | +    6 Tomasz Godzik | 
|  | 162 | +    4 Jamie Thompson | 
|  | 163 | +    2 Friendseeker | 
|  | 164 | +    2 Pascal Weisenburger | 
|  | 165 | +    2 Seth Tisue | 
|  | 166 | +    2 Sébastien Doeraene | 
|  | 167 | +    1 Adrien Piquerez | 
|  | 168 | +    1 Alden Torres | 
|  | 169 | +    1 Alexander | 
|  | 170 | +    1 Fengyun Liu | 
|  | 171 | +    1 Georgi Krastev | 
|  | 172 | +    1 Jentsch | 
|  | 173 | +    1 Lunfu Zhong | 
|  | 174 | +    1 Michał Pałka | 
|  | 175 | +    1 Natsu Kagami | 
|  | 176 | +    1 dependabot[bot] | 
|  | 177 | +    1 friendseeker | 
|  | 178 | +    1 tgodzik | 
|  | 179 | +``` | 
0 commit comments