github scala/scala3 3.6.3

latest releases: 3.3.5-RC2, 3.6.4-RC1
one day ago

Highlights of the release

  • Scala 2 forwardport: -Yprofile-trace #19897

Other changes and fixes

Annotations

  • Fix Java parsing of annotations on qualified types #21867
  • Consider all arguments in Annotations.refersToParamOf #22001

Backend

  • Flag class file collision as error #19332

Compiler Phases

  • Fix #21939: Update names and descriptions for cc and setup phases #21942
  • Limit exposure to ConcurrentModificationException when sys props are replaced or mutated #22275

Experimental: Explicit Nulls

  • Improve warning for wildcard matching only null under the explicit nulls flag (scala#21577) #21623
  • Fix warning message for matching on redundant nulls #21850

Experimental: Capture Checking

Experimentals

  • Replace symbol traversal with tree traversal when finding top level experimentals #21827

Extension Methods

  • Nowarn extension matching nonpublic member #21825

Implicits

  • Apply implicit conversion from derived Conversion instance defined as implicit rather than given #21785

Imports

  • Allow imports nested in packagings to shadow #21539

Inline

  • Avoid using the current denotation in NamedType.disambiguate #21414
  • Drop phase.isTyper use in isLegalPrefix/asf #21954
  • Fix for macro annotation that resolves macro-based implicit crashing the compiler #20353
  • Allow macro annotations to recover from suspension #21969

Linting

  • Disallow open modifier on objects #21922
  • Allow discarding "Discarded non-Unit" warnings with : Unit #21927

Opaque Types

  • Fix pkg obj prefix of opaque tp ext meth #21527

Parser

  • Fix: don't consider into as a soft-modifier #21924

Pattern Matching

  • Drop inaccessible subclasses from refineUsingParent #21799
  • (Re-)Drop inaccessible subclasses from refineUsingParent #21930
  • Fix use of class terms in match analysis #21848
  • Don't project nested wildcard patterns to nullable #21934
  • Fix provablyDisjoint handling enum constants with mixins #21876
  • Do not consider uninhabited constructors when performing exhaustive match checking #21750

Presentation Compiler

  • Update mtags to 1.4.1 and backport remaining changes #21859
  • Backport changes for the presentation compiler from Metals #21756

Pickling

  • Avoid orphan param from default arg #21824
  • Make sure definition tree has the defined symbol #21851

REPL

  • Allow top-level opaque type definitions in REPL #21753
  • JLine: follow recommendation to use JNI, not JNA; also JLine 3.27.1 (was 3.27.0) #22271

Scaladoc

  • Fix scaladoc TastyInspector regressions #21716
  • Bring back the fix for scaladoc TastyInspector regressions #21929
  • Fix scaladoc graph highlight background color in dark mode #21814

Standard Library

  • Combine cases of Tuple.Zip disjoint from (h1 *: t1, h2 *: t2) #21287

Quotes

  • Fix #20471: owners of top-level symbols in cached quoted code being incorrect #21945

Reporting

  • Do not warn about expected missing positions in quotes.reflect.Symbol #21677
  • Add missing error messages to asserts in QuotesImpl #21852
  • Don't point to the compiler backlog when a compiler plugin phase crashes #21887
  • Better error message for polytypes wrapping capturing types #21843
  • Pretty-print lambdas #21846
  • Nowarn extension matching nonpublic member #22276
  • Refactor: Improve Given search preference warning #22273

Runner

  • Fix: update scala-cli.jar path #22274

Releases

  • Fix layout of released SDK archives, restore intermiediete top-level directory #22272

Scala.js

  • Shade scalajs.ir under dotty.tools #21765

SemanticDB

  • Extract semanticDB for lifted definitions #21856

Transform

  • Fix enclosingClass from returning refinement classes #21411
  • Attempt to beta reduce only if parameters and arguments have same shape #21970
  • Drop copied parent refinements before generating bytecode #21733

Tooling

  • Ensure to escape characters before constructing JSON profile trace #21872

Tuples

  • Fix tupleTypeFromSeq for XXL tuples #21782

Typer

  • Do not crash when typing a closure with unknown type, since it can occur for erroneous input #21178
  • Revert SAM condition to what it was before #21684
  • Fix ctx implicits under case unapplySeq #21748
  • Avoid erasure/preErasure issues around Any in transformIsInstanceOf #21647

Contributors

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

According to git shortlog -sn --no-merges 3.6.2..3.6.3 these are:

    33  Wojciech Mazur
    30  Dale Wijnand
    30  Kacper Korban
    14  noti0na1
    11  Hamza Remmal
    10  Eugene Flesselle
    10  HarrisL2
     9  Martin Odersky
     8  Matt Bovel
     7  Jan Chyb
     6  Tomasz Godzik
     5  Seth Tisue
     4  Jamie Thompson
     2  Friendseeker
     2  João Ferreira
     2  Pascal Weisenburger
     2  Som Snytt
     2  Sébastien Doeraene
     1  Adrien Piquerez
     1  Alden Torres
     1  Alexander
     1  Eugene Yokota
     1  Fengyun Liu
     1  Georgi Krastev
     1  Jentsch
     1  Lunfu Zhong
     1  Michał Pałka
     1  Natsu Kagami
     1  Rui Chen
     1  dependabot[bot]
     1  friendseeker
     1  tgodzik

Don't miss a new scala3 release

NewReleases is sending notifications on new releases.