github scala/scala3 3.4.1

latest release: 3.4.2-RC1
one month ago

Highlights of the release

  • Add support for @deprecatedInheritance #19082

Other changes and fixes

Coverage

  • Correctly prettify names in coverage info #18542

Desugaring

  • Make apply proxies work with overloaded ctors #19464
  • Fix possible crash in Desugar #19567

Documentation

  • Update private[this] deprecation warning and documentation #19393

Erasure

  • Make eraseInfo work for classes with EmptyScopes #19550

Exports

  • Do not propagate @tailrec to exported methods #19509
  • Fix retained flags in exports #19636

GADTs

  • Only cache base types when gadt state is empty #19562
  • Add GADT symbols when typing typing-ahead lambda bodies#19644

Implicits

  • Run CheckStatic after UncacheGivenAliases #19318
  • Add tests to verify that crash is fixed elsewhere. Fixes #19328 #19329
  • Don't search for implicit conversions to NoType #19563
  • Instantiate argument type vars before implicit search #19096
  • Adjust owner in Interactive.contextOfPath causing crash in ImplicitSearch #19875

Java Interop

  • Classfile reader: handle JDK 9+ constant types in constant pool #19533

Linting

  • Make fatal warnings not fail compilation early & aggregate warns #19245

Macro Annotations

  • Check and enter missing symbols in MacroAnnotations only for definitions #19579

Match Types

  • Normalize MatchAlias in unrollTupleTypes #19565
  • Fix #19445: Remove too-strict test in match type matching. #19511

Opaque Types

  • Fix problems with cycle checks #19453

Parser

Pattern Matching

  • Fix false unreachable due to opaqueness #19368
  • Improve recursive decompose prefix fix #19375
  • Allow constraining a parameter to Nothing #19397
  • Add a test case, proving i15661 is fixed #19432

Presentation Compiler

  • Improvement: Support completions for implicit classes #19314
  • Chore: Backport changes from Metals #19410
  • Fix goto-def on exported forwarders #19494
  • Backport pc changes from metals #19617
  • Chore: Backport changes from Metals #19592
  • Use comma counting for all signature help types #19520
  • Make PC more resilient to crashes #19488
  • Make order of renames and missing imports deterministic #19468
  • Chore: backport changes from metals #19452
  • Improve signature help by more stable position calculation + better named arg support #19214
  • Instantiate Type Vars in completion labels of extension methods #18914

Quotes

  • Only evaluate transparent inline unapply once #19380
  • Update staging.Compiler.make documentation #19428
  • Error instead of StaleSymbol crash for certain cyclic macro dependencies #19549
  • Refine handling of StaleSymbol type errors #19605
  • Fix module symbol recovery from NoClassDefFoundError #19645
  • Fix HOAS pattern example and error message #19655
  • Set the correct type when copying reflect Inlined trees #19409

Reporting

  • Don't explain erroneous bounds #19338
  • Better error diagnostics for cyclic references #19408
  • Properly identify empty bounds in error message #19310

Scala-JS

  • Fix #19528: Actually remove Dynamic from interfaces of native JS classes. #19536
  • Consider static and non-static methods as non-double def #19400

Scaladoc

  • Scaladoc - add option for dynamic side menu #19337
  • Scaladoc: Fix "case case Foo" in enum's cases #19519
  • Fix(#19377): show inherited abstract members in dedicated section #19552
  • Jsoup: 1.14.3 → 1.17.2 #19564
  • Extend copyright into 2024 #19367

Tooling

  • Prioritize TASTy files over classfiles on classpath aggregation #19431

Transform

  • Fix purity check for val inside of object #19598
  • Drop special treatment of function types in overloading resolution #19654
  • Add checks for the consistency of the parents in TreeChecker #18935

Type Inference

  • More careful type variable instance improvements #19659

Typer

  • Reject wildcard types in using clauses #19459
  • Don't leave underspecified SAM types in the code #19461
  • Also compute base classes of wildcardTypes #19465
  • Fix(#15784): ident rule for pat match was too strict #19501
  • Heal occurrences of => T between ElimByName and Erasure #19558
  • Fix(#i18645): overload ext method body in braces didn't compile #19651
  • Fix #19202: Passing NotNullInfos to a mutable field of a Completer #19463
  • Fix Java record problems (#19578) and (#19386) #19583
  • Improve when deprecation warnings are emitted #19621
  • Space: Replace showType & make Space Showable #19370

Contributors

Thank you to all the contributors who made this release possible 🎉

According to git shortlog -sn --no-merges 3.4.0..3.4.1 these are:

    53	Martin Odersky
    53	Nicolas Stucki
    22	Dale Wijnand
    11	Szymon Rodziewicz
    11	i10416
     8	Hamza REMMAL
     7	Paweł Marks
     7	noti0na1
     6	Yilin Wei
     5	Jędrzej Rochala
     3	Eugene Flesselle
     3	Seth Tisue
     2	Florian3k
     2	Hamza Remmal
     2	Jan Chyb
     2	Katarzyna Marek
     2	Sébastien Doeraene
     2	Tomasz Godzik
     2	dependabot[bot]
     1	Bersier
     1	Fabián Heredia Montiel
     1	Jakub Ciesluk
     1	Jakub Cieśluk
     1	Kacper Korban
     1	Kenji Yoshida
     1	Mehdi Alaoui
     1	Nikita Gazarov
     1	Oron Port
     1	Pascal Weisenburger
     1	Philippus Baalman
     1	Quentin Bernet
     1	Som Snytt
     1	Wojciech Mazur
     1	Yichen Xu
     1	aherlihy
     1	rochala

Don't miss a new scala3 release

NewReleases is sending notifications on new releases.