|
| 1 | +# Highlights of the release |
| 2 | + |
| 3 | +- Add support for `@deprecatedInheritance` [#19082](https://github.com/lampepfl/dotty/pull/19082) |
| 4 | +- Avoid generating given definitions that loop [#19282](https://github.com/lampepfl/dotty/pull/19282) |
| 5 | + |
| 6 | +# Other changes and fixes |
| 7 | + |
| 8 | +## Coverage |
| 9 | + |
| 10 | +- Correctly prettify names in coverage info [#18542](https://github.com/lampepfl/dotty/pull/18542) |
| 11 | + |
| 12 | +## Desugaring |
| 13 | + |
| 14 | +- Make apply proxies work with overloaded ctors [#19464](https://github.com/lampepfl/dotty/pull/19464) |
| 15 | +- Fix possible crash in Desugar [#19567](https://github.com/lampepfl/dotty/pull/19567) |
| 16 | + |
| 17 | +## Documentation |
| 18 | + |
| 19 | +- Update `private[this]` deprecation warning and documentation [#19393](https://github.com/lampepfl/dotty/pull/19393) |
| 20 | + |
| 21 | +## Erasure |
| 22 | + |
| 23 | +- Make eraseInfo work for classes with EmptyScopes [#19550](https://github.com/lampepfl/dotty/pull/19550) |
| 24 | + |
| 25 | +## Exports |
| 26 | + |
| 27 | +- Do not propagate `@tailrec` to exported methods [#19509](https://github.com/lampepfl/dotty/pull/19509) |
| 28 | +- Fix retained flags in exports [#19636](https://github.com/lampepfl/dotty/pull/19636) |
| 29 | + |
| 30 | +## GADTs |
| 31 | + |
| 32 | +- Only cache base types when gadt state is empty [#19562](https://github.com/lampepfl/dotty/pull/19562) |
| 33 | + |
| 34 | +## Implicits |
| 35 | + |
| 36 | +- Run CheckStatic after UncacheGivenAliases [#19318](https://github.com/lampepfl/dotty/pull/19318) |
| 37 | +- Add tests to verify that crash is fixed elsewhere. Fixes #19328 [#19329](https://github.com/lampepfl/dotty/pull/19329) |
| 38 | +- Don't search for implicit conversions to NoType [#19563](https://github.com/lampepfl/dotty/pull/19563) |
| 39 | +- Instantiate argument type vars before implicit search [#19096](https://github.com/lampepfl/dotty/pull/19096) |
| 40 | + |
| 41 | +## Java Interop |
| 42 | + |
| 43 | +- Classfile reader: handle JDK 9+ constant types in constant pool [#19533](https://github.com/lampepfl/dotty/pull/19533) |
| 44 | + |
| 45 | +## Linting |
| 46 | + |
| 47 | +- Make fatal warnings not fail compilation early & aggregate warns [#19245](https://github.com/lampepfl/dotty/pull/19245) |
| 48 | + |
| 49 | +## Macro Annotations |
| 50 | + |
| 51 | +- Check and enter missing symbols in MacroAnnotations only for definitions [#19579](https://github.com/lampepfl/dotty/pull/19579) |
| 52 | + |
| 53 | +## Match Types |
| 54 | + |
| 55 | +- Normalize MatchAlias in unrollTupleTypes [#19565](https://github.com/lampepfl/dotty/pull/19565) |
| 56 | +- Fix #19445: Remove too-strict test in match type matching. [#19511](https://github.com/lampepfl/dotty/pull/19511) |
| 57 | + |
| 58 | +## Opaque Types |
| 59 | + |
| 60 | +- Fix problems with cycle checks [#19453](https://github.com/lampepfl/dotty/pull/19453) |
| 61 | + |
| 62 | +## Parser |
| 63 | + |
| 64 | +- Fix(#18265): crash on extension method without type nor RHS [#18743](https://github.com/lampepfl/dotty/pull/18743) |
| 65 | +- Warn when @volatile is used on vals [#19462](https://github.com/lampepfl/dotty/pull/19462) |
| 66 | +- Fix(#16459) xml parse regression [#19531](https://github.com/lampepfl/dotty/pull/19531) |
| 67 | + |
| 68 | +## Pattern Matching |
| 69 | + |
| 70 | +- Fix false unreachable due to opaqueness [#19368](https://github.com/lampepfl/dotty/pull/19368) |
| 71 | +- Improve recursive decompose prefix fix [#19375](https://github.com/lampepfl/dotty/pull/19375) |
| 72 | +- Allow constraining a parameter to Nothing [#19397](https://github.com/lampepfl/dotty/pull/19397) |
| 73 | +- Add a test case, proving i15661 is fixed [#19432](https://github.com/lampepfl/dotty/pull/19432) |
| 74 | + |
| 75 | +## Presentation Compiler |
| 76 | + |
| 77 | +- Improvement: Support completions for implicit classes [#19314](https://github.com/lampepfl/dotty/pull/19314) |
| 78 | +- Chore: Backport changes from Metals [#19410](https://github.com/lampepfl/dotty/pull/19410) |
| 79 | +- Fix goto-def on exported forwarders [#19494](https://github.com/lampepfl/dotty/pull/19494) |
| 80 | +- Backport pc changes from metals [#19617](https://github.com/lampepfl/dotty/pull/19617) |
| 81 | +- Chore: Backport changes from Metals [#19592](https://github.com/lampepfl/dotty/pull/19592) |
| 82 | +- Use comma counting for all signature help types [#19520](https://github.com/lampepfl/dotty/pull/19520) |
| 83 | +- Make PC more resilient to crashes [#19488](https://github.com/lampepfl/dotty/pull/19488) |
| 84 | +- Make order of renames and missing imports deterministic [#19468](https://github.com/lampepfl/dotty/pull/19468) |
| 85 | +- Chore: backport changes from metals [#19452](https://github.com/lampepfl/dotty/pull/19452) |
| 86 | +- Improve signature help by more stable position calculation + better named arg support [#19214](https://github.com/lampepfl/dotty/pull/19214) |
| 87 | +- Instantiate Type Vars in completion labels of extension methods [#18914](https://github.com/lampepfl/dotty/pull/18914) |
| 88 | + |
| 89 | +## Quotes |
| 90 | + |
| 91 | +- Only evaluate transparent inline unapply once [#19380](https://github.com/lampepfl/dotty/pull/19380) |
| 92 | +- Update `staging.Compiler.make` documentation [#19428](https://github.com/lampepfl/dotty/pull/19428) |
| 93 | +- Error instead of StaleSymbol crash for certain cyclic macro dependencies [#19549](https://github.com/lampepfl/dotty/pull/19549) |
| 94 | +- Refine handling of StaleSymbol type errors [#19605](https://github.com/lampepfl/dotty/pull/19605) |
| 95 | +- Fix module symbol recovery from `NoClassDefFoundError` [#19645](https://github.com/lampepfl/dotty/pull/19645) |
| 96 | +- Fix HOAS pattern example and error message [#19655](https://github.com/lampepfl/dotty/pull/19655) |
| 97 | +- Set the correct type when copying reflect Inlined trees [#19409](https://github.com/lampepfl/dotty/pull/19409) |
| 98 | + |
| 99 | +## Reporting |
| 100 | + |
| 101 | +- Don't explain erroneous bounds [#19338](https://github.com/lampepfl/dotty/pull/19338) |
| 102 | +- Better error diagnostics for cyclic references [#19408](https://github.com/lampepfl/dotty/pull/19408) |
| 103 | +- Properly identify empty bounds in error message [#19310](https://github.com/lampepfl/dotty/pull/19310) |
| 104 | + |
| 105 | +## Scala-JS |
| 106 | + |
| 107 | +- Fix #19528: Actually remove Dynamic from interfaces of native JS classes. [#19536](https://github.com/lampepfl/dotty/pull/19536) |
| 108 | +- Consider static and non-static methods as non-double def [#19400](https://github.com/lampepfl/dotty/pull/19400) |
| 109 | + |
| 110 | +## Scaladoc |
| 111 | + |
| 112 | +- Scaladoc - add option for dynamic side menu [#19337](https://github.com/lampepfl/dotty/pull/19337) |
| 113 | +- Scaladoc: Fix "case case Foo" in enum's cases [#19519](https://github.com/lampepfl/dotty/pull/19519) |
| 114 | +- Fix(#19377): show inherited abstract members in dedicated section [#19552](https://github.com/lampepfl/dotty/pull/19552) |
| 115 | +- Jsoup: 1.14.3 → 1.17.2 [#19564](https://github.com/lampepfl/dotty/pull/19564) |
| 116 | +- Extend copyright into 2024 [#19367](https://github.com/lampepfl/dotty/pull/19367) |
| 117 | + |
| 118 | +## Tooling |
| 119 | + |
| 120 | +- Prioritize TASTy files over classfiles on classpath aggregation [#19431](https://github.com/lampepfl/dotty/pull/19431) |
| 121 | + |
| 122 | +## Transform |
| 123 | + |
| 124 | +- Fix purity check for val inside of object [#19598](https://github.com/lampepfl/dotty/pull/19598) |
| 125 | +- Drop special treatment of function types in overloading resolution [#19654](https://github.com/lampepfl/dotty/pull/19654) |
| 126 | +- Add checks for the consistency of the parents in TreeChecker [#18935](https://github.com/lampepfl/dotty/pull/18935) |
| 127 | + |
| 128 | +## Type Inference |
| 129 | + |
| 130 | +- More careful type variable instance improvements [#19659](https://github.com/lampepfl/dotty/pull/19659) |
| 131 | + |
| 132 | +## Typer |
| 133 | + |
| 134 | +- Reject wildcard types in using clauses [#19459](https://github.com/lampepfl/dotty/pull/19459) |
| 135 | +- Don't leave underspecified SAM types in the code [#19461](https://github.com/lampepfl/dotty/pull/19461) |
| 136 | +- Also compute base classes of wildcardTypes [#19465](https://github.com/lampepfl/dotty/pull/19465) |
| 137 | +- Fix(#15784): ident rule for pat match was too strict [#19501](https://github.com/lampepfl/dotty/pull/19501) |
| 138 | +- Heal occurrences of => T between ElimByName and Erasure [#19558](https://github.com/lampepfl/dotty/pull/19558) |
| 139 | +- Fix(#i18645): overload ext method body in braces didn't compile [#19651](https://github.com/lampepfl/dotty/pull/19651) |
| 140 | +- Fix #19202: Passing NotNullInfos to a mutable field of a Completer [#19463](https://github.com/lampepfl/dotty/pull/19463) |
| 141 | +- Fix Java record problems (#19578) and (#19386) [#19583](https://github.com/lampepfl/dotty/pull/19583) |
| 142 | +- Improve when deprecation warnings are emitted [#19621](https://github.com/lampepfl/dotty/pull/19621) |
| 143 | +- Space: Replace showType & make Space Showable [#19370](https://github.com/lampepfl/dotty/pull/19370) |
| 144 | + |
| 145 | + |
| 146 | +# Contributors |
| 147 | + |
| 148 | +Thank you to all the contributors who made this release possible 🎉 |
| 149 | + |
| 150 | +According to `git shortlog -sn --no-merges 3.4.0..3.4.1-RC1` these are: |
| 151 | + |
| 152 | +``` |
| 153 | + 53 Martin Odersky |
| 154 | + 53 Nicolas Stucki |
| 155 | + 20 Dale Wijnand |
| 156 | + 11 Szymon Rodziewicz |
| 157 | + 11 i10416 |
| 158 | + 7 noti0na1 |
| 159 | + 6 Yilin Wei |
| 160 | + 4 Hamza REMMAL |
| 161 | + 4 Jędrzej Rochala |
| 162 | + 3 Eugene Flesselle |
| 163 | + 3 Paweł Marks |
| 164 | + 3 Seth Tisue |
| 165 | + 2 Florian3k |
| 166 | + 2 Hamza Remmal |
| 167 | + 2 Jan Chyb |
| 168 | + 2 Katarzyna Marek |
| 169 | + 2 Sébastien Doeraene |
| 170 | + 2 Tomasz Godzik |
| 171 | + 2 dependabot[bot] |
| 172 | + 1 Bersier |
| 173 | + 1 Fabián Heredia Montiel |
| 174 | + 1 Jakub Ciesluk |
| 175 | + 1 Jakub Cieśluk |
| 176 | + 1 Kacper Korban |
| 177 | + 1 Kenji Yoshida |
| 178 | + 1 Mehdi Alaoui |
| 179 | + 1 Nikita Gazarov |
| 180 | + 1 Oron Port |
| 181 | + 1 Pascal Weisenburger |
| 182 | + 1 Philippus Baalman |
| 183 | + 1 Quentin Bernet |
| 184 | + 1 Som Snytt |
| 185 | + 1 Wojciech Mazur |
| 186 | + 1 Yichen Xu |
| 187 | + 1 aherlihy |
| 188 | + 1 rochala |
| 189 | +
|
| 190 | +``` |
0 commit comments