|
| 1 | +# Highlights of the release |
| 2 | + |
| 3 | +- Bump JLine 3.19.0 -> 3.24.1 & sbt 1.9.7 -> 1.9.9 [#19744](https://github.com/lampepfl/dotty/pull/19744) |
| 4 | +- Refactor settings & improve dx [#19766](https://github.com/lampepfl/dotty/pull/19766) |
| 5 | +- Publish `scala2-library-tasty-experimental` [#19588](https://github.com/lampepfl/dotty/pull/19588) |
| 6 | +- Repl - method signatures in autocomplete [#19917](https://github.com/lampepfl/dotty/pull/19917) |
| 7 | + |
| 8 | +# Other changes and fixes |
| 9 | + |
| 10 | +## Annotations |
| 11 | + |
| 12 | +- Attempt implicit search for old style `implicit` parameters in Application matchArgs [#19737](https://github.com/lampepfl/dotty/pull/19737) |
| 13 | + |
| 14 | +## Backend |
| 15 | + |
| 16 | +- Fix(#17255): cannot find Scala companion module from Java [#19773](https://github.com/lampepfl/dotty/pull/19773) |
| 17 | +- Change isStatic to isStaticOwner in hasLocalInstantiation [#19803](https://github.com/lampepfl/dotty/pull/19803) |
| 18 | + |
| 19 | +## Coverage |
| 20 | + |
| 21 | +- Port coverage filter options for packages and files [#19727](https://github.com/lampepfl/dotty/pull/19727) |
| 22 | + |
| 23 | +## Default parameters |
| 24 | + |
| 25 | +- Lift all non trivial prefixes for default parameters [#19739](https://github.com/lampepfl/dotty/pull/19739) |
| 26 | + |
| 27 | +## Doctool |
| 28 | + |
| 29 | +- Prevent HTML/XSS Injection in Scala Search [#19980](https://github.com/lampepfl/dotty/pull/19980) |
| 30 | +- Parse search query param in Scaladoc [#19669](https://github.com/lampepfl/dotty/pull/19669) |
| 31 | + |
| 32 | +## Experimental: Capture Checking |
| 33 | + |
| 34 | +- Disallow covariant `cap`s in the lower bound of type members [#19624](https://github.com/lampepfl/dotty/pull/19624) |
| 35 | +- Ignore orphan parameters inside a retains annotation during Ycheck [#19684](https://github.com/lampepfl/dotty/pull/19684) |
| 36 | +- Fix the pickling of `This` inside capture sets [#19797](https://github.com/lampepfl/dotty/pull/19797) |
| 37 | +- Add updated to SeqViewOps [#19798](https://github.com/lampepfl/dotty/pull/19798) |
| 38 | +- Fix Function tree copier [#19822](https://github.com/lampepfl/dotty/pull/19822) |
| 39 | +- Drop FreeSeqFactory from stdlib-cc [#19849](https://github.com/lampepfl/dotty/pull/19849) |
| 40 | +- Fix i19859 [#19860](https://github.com/lampepfl/dotty/pull/19860) |
| 41 | +- Various fixes to stdlib-cc [#19873](https://github.com/lampepfl/dotty/pull/19873) |
| 42 | +- Add more methods in `SeqViewOps` [#19993](https://github.com/lampepfl/dotty/pull/19993) |
| 43 | +- Check `This` references in `refersToParamOf` [#20005](https://github.com/lampepfl/dotty/pull/20005) |
| 44 | + |
| 45 | +## Exports |
| 46 | + |
| 47 | +- Fix the tparam bounds of exported inherited classes [#18647](https://github.com/lampepfl/dotty/pull/18647) |
| 48 | + |
| 49 | +## Implicits |
| 50 | + |
| 51 | +- Prefer extensions over conversions for member selection [#19717](https://github.com/lampepfl/dotty/pull/19717) |
| 52 | +- Don't allow implicit conversions on prefixes of type selections [#19934](https://github.com/lampepfl/dotty/pull/19934) |
| 53 | +- Make sure typeParams returns a stable result even in the presence of completions [#19974](https://github.com/lampepfl/dotty/pull/19974) |
| 54 | + |
| 55 | +## Incremental Compilation |
| 56 | + |
| 57 | +- Fix undercompilation upon ctor change [#19911](https://github.com/lampepfl/dotty/pull/19911) |
| 58 | +- Load but not enter case accessors fields in Scala2Unpickler [#19926](https://github.com/lampepfl/dotty/pull/19926) |
| 59 | + |
| 60 | +## Initialization |
| 61 | + |
| 62 | +- Add supports for type cast and filtering type for field and method owner in global initialization checker [#19612](https://github.com/lampepfl/dotty/pull/19612) |
| 63 | +- Added a second trace for global init checker showing creation of mutable fields [#19996](https://github.com/lampepfl/dotty/pull/19996) |
| 64 | +- Suppressing repetitive warnings in the global initialization checker [#19898](https://github.com/lampepfl/dotty/pull/19898) |
| 65 | + |
| 66 | +## Inline |
| 67 | + |
| 68 | +- Specialized retained inline FunctionN apply methods [#19801](https://github.com/lampepfl/dotty/pull/19801) |
| 69 | +- Avoid crash after StopMacroExpansion [#19883](https://github.com/lampepfl/dotty/pull/19883) |
| 70 | +- Check deprecation of inline methods [#19914](https://github.com/lampepfl/dotty/pull/19914) |
| 71 | +- Inline transparent implicit parameters when typing Unapply trees [#19646](https://github.com/lampepfl/dotty/pull/19646) |
| 72 | +- Restore pre-3.3.2 behavior of `inline implicit def` [#19877](https://github.com/lampepfl/dotty/pull/19877) |
| 73 | + |
| 74 | +## Match Types |
| 75 | + |
| 76 | +- Cover patterns using `reflect.TypeTest` in isMatchTypeShaped [#19923](https://github.com/lampepfl/dotty/pull/19923) |
| 77 | +- Rework MatchType recursion in collectParts [#19867](https://github.com/lampepfl/dotty/pull/19867) |
| 78 | + |
| 79 | +## Nullability |
| 80 | + |
| 81 | +- Fix #19808: Don't force to compute the owner of a symbol when there is no denotation [#19813](https://github.com/lampepfl/dotty/pull/19813) |
| 82 | + |
| 83 | +## Parser |
| 84 | + |
| 85 | +- Add support for JEP-409 (sealed classes) + Add javacOpt directive [#19080](https://github.com/lampepfl/dotty/pull/19080) |
| 86 | +- Fix(#16458): regression in xml syntax parsing [#19522](https://github.com/lampepfl/dotty/pull/19522) |
| 87 | +- Fix parsing of conditional expressions in parentheses [#19985](https://github.com/lampepfl/dotty/pull/19985) |
| 88 | + |
| 89 | +## Presentation Compiler |
| 90 | + |
| 91 | +- Allow range selection on function parameter to select a parameter list [#19777](https://github.com/lampepfl/dotty/pull/19777) |
| 92 | + |
| 93 | +## Quotes |
| 94 | + |
| 95 | +- Disallow ill-staged references to local classes [#19869](https://github.com/lampepfl/dotty/pull/19869) |
| 96 | +- Add regression test for #19909 [#19915](https://github.com/lampepfl/dotty/pull/19915) |
| 97 | +- Detect non `Expr[..]` splice patterns [#19944](https://github.com/lampepfl/dotty/pull/19944) |
| 98 | +- Avoid spurious `val` binding in quote pattern [#19948](https://github.com/lampepfl/dotty/pull/19948) |
| 99 | +- Add regression test and imporve -Xprint-suspension message [#19688](https://github.com/lampepfl/dotty/pull/19688) |
| 100 | + |
| 101 | +## REPL |
| 102 | + |
| 103 | +- Repl truncation copes with null [#17336](https://github.com/lampepfl/dotty/pull/17336) |
| 104 | +- Catch stackoverflow errors in the highlighter [#19836](https://github.com/lampepfl/dotty/pull/19836) |
| 105 | +- Fix a REPL bad symbolic reference [#19786](https://github.com/lampepfl/dotty/pull/19786) |
| 106 | + |
| 107 | +## Reflection |
| 108 | + |
| 109 | +- Fix `TypeTreeTypeTest` to not match `TypeBoundsTree`s [#19485](https://github.com/lampepfl/dotty/pull/19485) |
| 110 | +- Improve message when tree cannot be shown as source [#19906](https://github.com/lampepfl/dotty/pull/19906) |
| 111 | +- Fix #19732: quotes.reflect.Ref incorrectly casting `This` to `RefTree` [#19930](https://github.com/lampepfl/dotty/pull/19930) |
| 112 | +- Add check for parents in Quotes (#19842) [#19870](https://github.com/lampepfl/dotty/pull/19870) |
| 113 | + |
| 114 | +## Reporting |
| 115 | + |
| 116 | +- Improve error reporting for missing members [#19800](https://github.com/lampepfl/dotty/pull/19800) |
| 117 | +- Avoid repetitions in name hints [#19975](https://github.com/lampepfl/dotty/pull/19975) |
| 118 | +- Improve error message when using experimental definitions [#19782](https://github.com/lampepfl/dotty/pull/19782) |
| 119 | +- Make -Xprompt work as desired under -Werror [#19765](https://github.com/lampepfl/dotty/pull/19765) |
| 120 | +- Fix #19402: emit proper error in absence of using in given definitions [#19714](https://github.com/lampepfl/dotty/pull/19714) |
| 121 | +- Bugfix: Choose correct signature is signatureHelp for overloaded methods [#19707](https://github.com/lampepfl/dotty/pull/19707) |
| 122 | +- Unify completion pos usage, fix presentation compiler crash in interpolation [#19614](https://github.com/lampepfl/dotty/pull/19614) |
| 123 | + |
| 124 | +## Scaladoc |
| 125 | + |
| 126 | +- Fix(#16610): warn ignored Scaladoc on multiple enum cases [#19555](https://github.com/lampepfl/dotty/pull/19555) |
| 127 | + |
| 128 | +## TASTy format |
| 129 | + |
| 130 | +- Add patch for undefined behavior with `object $` [#19705](https://github.com/lampepfl/dotty/pull/19705) |
| 131 | +- Fix(#19806): wrong tasty of scala module class reference [#19827](https://github.com/lampepfl/dotty/pull/19827) |
| 132 | +- Used derived types to type arguments of dependent function type [#19838](https://github.com/lampepfl/dotty/pull/19838) |
| 133 | + |
| 134 | +## Tooling |
| 135 | + |
| 136 | +- Java TASTy: use new threadsafe writer implementation [#19690](https://github.com/lampepfl/dotty/pull/19690) |
| 137 | +- Remove `-Yforce-inline-while-typing` [#19889](https://github.com/lampepfl/dotty/pull/19889) |
| 138 | +- Cleanup unnecessary language flag [#19865](https://github.com/lampepfl/dotty/pull/19865) |
| 139 | +- Bugfix: Auto imports in worksheets in Scala 3 [#19793](https://github.com/lampepfl/dotty/pull/19793) |
| 140 | +- Refine behavior of `-Yno-experimental` [#19741](https://github.com/lampepfl/dotty/pull/19741) |
| 141 | + |
| 142 | +## Transform |
| 143 | + |
| 144 | +- Short-circuit isCheckable with classSymbol [#19634](https://github.com/lampepfl/dotty/pull/19634) |
| 145 | +- Avoid eta-reduction of `(..., f: T => R, ...) => f.apply(..)` into `f` [#19966](https://github.com/lampepfl/dotty/pull/19966) |
| 146 | +- Tweak parameter accessor scheme [#19719](https://github.com/lampepfl/dotty/pull/19719) |
| 147 | + |
| 148 | +## Typer |
| 149 | + |
| 150 | +- Update phrasing for NotClassType explain error message [#19635](https://github.com/lampepfl/dotty/pull/19635) |
| 151 | +- Fix java typer problems with inner class references and raw types [#19747](https://github.com/lampepfl/dotty/pull/19747) |
| 152 | +- Approximate MatchTypes with lub of case bodies, if non-recursive [#19761](https://github.com/lampepfl/dotty/pull/19761) |
| 153 | +- Revert broken changes with transparent inline [#19922](https://github.com/lampepfl/dotty/pull/19922) |
| 154 | +- Delay hard argument comparisons [#20007](https://github.com/lampepfl/dotty/pull/20007) |
| 155 | +- Fix #19607: Allow to instantiate *wildcard* type captures to TypeBounds. [#19627](https://github.com/lampepfl/dotty/pull/19627) |
| 156 | +- Fix #19907: Skip soft unions in widenSingle of widenInferred [#19995](https://github.com/lampepfl/dotty/pull/19995) |
| 157 | +- Fix untupling of functions in for comprehensions [#19620](https://github.com/lampepfl/dotty/pull/19620) |
| 158 | + |
| 159 | +# Contributors |
| 160 | + |
| 161 | +Thank you to all the contributors who made this release possible 🎉 |
| 162 | + |
| 163 | +According to `git shortlog -sn --no-merges 3.4.1..3.4.2` these are: |
| 164 | + |
| 165 | +``` |
| 166 | + 46 Nicolas Stucki |
| 167 | + 33 Martin Odersky |
| 168 | + 25 Dale Wijnand |
| 169 | + 22 Hamza REMMAL |
| 170 | + 18 Yichen Xu |
| 171 | + 17 Jamie Thompson |
| 172 | + 15 Szymon Rodziewicz |
| 173 | + 11 EnzeXing |
| 174 | + 11 i10416 |
| 175 | + 9 Paweł Marks |
| 176 | + 6 Kacper Korban |
| 177 | + 4 Dan13llljws |
| 178 | + 4 Katarzyna Marek |
| 179 | + 4 Matt Bovel |
| 180 | + 4 Som Snytt |
| 181 | + 4 noti0na1 |
| 182 | + 3 110416 |
| 183 | + 3 Eugene Flesselle |
| 184 | + 3 Sébastien Doeraene |
| 185 | + 3 dependabot[bot] |
| 186 | + 2 Bersier |
| 187 | + 2 Hamza Remmal |
| 188 | + 2 Jakub Ciesluk |
| 189 | + 2 João Costa |
| 190 | + 2 Jędrzej Rochala |
| 191 | + 2 Natsu Kagami |
| 192 | + 2 Stephane Bersier |
| 193 | + 2 Taro L. Saito |
| 194 | + 2 aherlihy |
| 195 | + 1 Aleksander Boruch-Gruszecki |
| 196 | + 1 Aviv Keller |
| 197 | + 1 Eugene Yokota |
| 198 | + 1 Guillaume Martres |
| 199 | + 1 Jan Chyb |
| 200 | + 1 Lukas Rytz |
| 201 | + 1 Mikołaj Fornal |
| 202 | + 1 Olga Mazhara |
| 203 | + 1 Ondřej Lhoták |
| 204 | + 1 Robert Stoll |
| 205 | + 1 Seth Tisue |
| 206 | + 1 Valentin Schneeberger |
| 207 | + 1 Yilin Wei |
| 208 | + 1 willerf |
| 209 | +``` |
0 commit comments