Skip to content

Update dependency scala to v3.7.0 #12

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 1 commit into
base: main
Choose a base branch
from
Open

Conversation

renovate[bot]
Copy link
Contributor

@renovate renovate bot commented Mar 23, 2023

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
scala 3.0.0-M3 -> 3.7.0 age adoption passing confidence

Release Notes

scala/scala3 (scala)

v3.7.0

Compare Source

See release blogpost: https://www.scala-lang.org/news/3.7.0/

Highlights of the release

  • Add @scala.annotation.internal.preview annotation and -preview flag. #​22317
  • Make SIP-52 @publicInBinary a stable feature in 3.7 #​22591
  • Make SIP-58 - Named Tuples a stable feature in 3.7 #​22753
  • Make SIP-62 - Better Fors a preview feature in 3.7 #​22776
  • Implement SIP-61 @unroll annotation as experimental #​21693
  • Upgrade Scala 2 Standard Library to 2.13.16 #​22386
  • Upgrade Scala.js to 1.19.0 #​23026
  • Upgrade Scala CLI to 1.7.1 #​22843
  • Expression Compiler is now part of Scala 3 compiler #​22597
  • Quotes API: Added apply methods to import selectors #​22457
  • Quotes API: Implement experimental summonIgnoring method #​22417
  • Quotes API: Add class parameters, flags, and privateWithin and annotations to experimental newClass methods #​21880
  • Experimental: Capture Calculus - Inferring tracked modifier #​21628
  • Presentation Compiler: Show inferred type on holes in hover #​21423
  • JVM Backend: Fix #​15736 blocking Scala 3 on Android #​22632
  • REPL: add flag to quit after evaluating init script #​22636
  • REPL: implement :jar (deprecate :require) #​22343
  • Linting: Improvements to -Wunused and -Wconf #​20894
  • Implicit parameters warn at call site without using keyword #​22441
  • Support for dependent case classes #​21698
  • Deprecate Yno-kind-polymorphism #​22814

Other changes and fixes

Annotations

  • Lift arguments of explicitly constructed annotations #​22553
  • Fix copy of annotation on @main methods #​22582
  • @publicInBinary has now effect on secondary constructors #​22630
  • Fix mapping of annotations #​22407

Backend: Scala.js

  • Emit js.NewArray IR nodes when possible. #​22446
  • Fix #​22794: Emit the definition of Arrays.newArray even though it's a primitive #​22797

Classpath

  • Fix empty ClassPath attribute in one or more classpath jars causes crash #​22462

Documentation

  • Improve the usage of inclusive language #​22360

Erasure

  • Handle type aliases in contextFunctionResultTypeAfter #​21517
  • Align erasure of Array[Nothing] and Array[Null] with Scala 2 #​22517

Desugering

  • Under betterFors don't drop the trailing map if it would result in a different type (also drop _ => ()) #​22619

Experimental: Capture Checking

  • Canonicalize capture variable subtype comparisons #​22299
  • Permit Capture Refs for Uninitialized Type and Term Params in BiTypeMap #​22451
  • Fix maximal capability handling and expand aliases #​22341

Experimental: Modularity

  • Widen skolem types when adding parent refinements #​22488

Experimental: Global Initialization Checker

  • Refactor the abstract domain of global init checker to compile http4s #​22179
  • Fix global init checking crash when using a value defined in by-name closure #​22625

Experimentals

  • Expand value references to packages to their underlying package objects #​22011

Implicits

Linting

  • Suppress spurious Suppression #​22383
  • CheckUnused checks span.exists before testing its parts #​22504
  • Don't warn retainedBody #​22510
  • Handle Typeable #​22663
  • Nowarn public implicit val class params #​22664
  • Exclude synthetic this.m, Any.m from import lookup #​22695
  • Warn unused member of anonymous class #​22729
  • Ignore params to default arg getters #​22749
  • Lazy val def member is pattern var #​22750
  • Restore resolving prefixes of implicit Ident #​22751
  • No warning for parameter of overriding method #​22757
  • Dealias before checking for member in lint #​22708
  • Warn on bad extensions of aliases #​22362
  • Warn universal extensions on opaque types #​22502
  • Discourage default arg for extension receiver #​22492
  • Rename on import is never wildcard #​22712
  • Collect nowarn symbols instead of skipping them #​22766
  • Revert unconditional lint of Inlined expansion #​22815

Match Types

  • Handle NoType in TypeComparer.disjointnessBoundary #​21520

Named Tuples

  • Special case NamedTuple.From for arguments derived from Tuple #​22449
  • Generate mirrors for named tuples #​22469
  • Two fixes to NamedTuple pattern matching #​22953

Opaque Types

  • Fix stack overflow errors when generating opaque type proxies #​22479
  • Fix inline proxy generation for opaque types referencing other opaque types #​22381
  • Fix opaque types leaking rhs when inlined and found in type params (and a related stale symbol issue) #​22655

Overloading

  • Make overload pruning based on result types less aggressive #​21744
  • Fail compilation if multiple conflicting top-level private defs/vals are in the same package #​22759

Parser

  • Fix annotations being not expected in the middle of an array type by java parser #​22391
  • No outdent at eof #​22435
  • Allow observing an indent after conditional #​22611
  • Correctly detect colon lambda eol indent for optional brace of argument #​22477

Pattern Matching

  • Avoid crash in uninhab check in Space #​22601
  • Account for named tuples in space subtraction #​22658
  • Check exhaustivity of any case class #​22604

Presentation Compiler

  • Add enum type param support in sourceSymbol #​18603
  • Map name position to desugared version of named context bound #​22374
  • Hover and go to definition for named tuples #​22202
  • Completions: do not complete package #​20532
  • Print parens for single method argument only if a direct tuple type #​21510
  • Improvement: use heuristic to figure out nameSpan if pointDelta too big #​22484
  • Fix inferredTypeEdits for symbols #​22485
  • Fix: Only fallback to the definition of a synthetic valdef if it is zero extent #​22551
  • Better LSP completions inside of backticks #​22555
  • Don't search for members in pc info when irrelevant #​22674
  • Backport from Metals #​22426
  • Backport from Metals #​22491
  • Backport from Metals #​22665

Runner

  • Upgrade Scala CLI to 1.7.1 highlights
    • Switch to scalameta/scalafmt images of scalafmt 3.9.1+ #​3502
    • Support the --test command line option for run subcommand #​3519
    • Support the --test command line option for package subcommand #​3519
    • Detect objects with main class in scripts #​3479
    • Support for Scala.js 1.18.2 #​3454
    • Support for Scala Native 0.5.7 #​3527
    • Add support for running a main method from the test scope #​3502

Quotes

  • Add a check for correct Array shape in quotes.reflect.ClassOfConstant #​22033
  • Fix issue with static this references erroring in quoted code #​22618
  • Fix #​21721: make case TypeBlock(,) not match non-type Block #​21722
  • Make Ref.apply() return trees usable in the largest scope possible #​22240
  • Make sure Block does not incorrectly match a TypeBlock #​22716
  • Do not approximate prefixes when using memberType in reflect API #​22448
  • Bring back pattern match exhaustivity checking for macros #​22622

REPL

  • REPL: JLine 3.29.0 (was 3.27.1) #​22679
  • Repl: emit warning for the :sh command #​22694
  • Add warning for :kind command #​22572
  • Check trailing blank line at EOF for OUTDENT #​22855

Reporting

  • Filter help renders box border #​22434
  • Register nowarn when inlining #​22682
  • Rule out exports of member of the current class #​22545

Standard Library

  • Changes in preparation to make caps.Capability stable #​22849
  • Mitigate change in status of scala.caps #​22956

Scaladoc

  • Render @deprecated correctly even when named arguments weren't used #​21925
  • Remove DRI from Scaladoc warnings #​22330

SemanticDB

  • Don't add () to semanticdb symbol for java variables #​22573
  • Fix compiler crash when using betasty with missing java classfiles #​22599

Transform

  • Check only stable qual for import prefix #​22633
  • Treat static vals as enclosures in lambdalift #​22452
  • Record calls to constructors in lambdaLift #​22487
  • Only check logicalOwners for methods, and not for classes, when looking for proxies #​22356
  • Add error-checking when fetching rhs of trees from TASTy #​22565

Typer

  • Root of Java select must be class or rooted package #​21800
  • Check if a prefix is valid before selecting from a type #​22368
  • Preserve hard unions in widenSingletons #​22369
  • Constructor proxy is restricted if class is protected #​22563
  • Constructor companion gets privateWithin #​22627
  • Revert lambda cleanup #​22697
  • Avoid infinite recursion when looking for suggestions #​22361
  • Fix cyclic check, regardless of definition order #​22342
  • Avoid inf recursion in provablyDisjointClasses #​22489

Value Classes

  • Allow private members when computing the denotation of a NamedType #​22549

Other changes

  • Remove locale dependent FileSystemException check #​21633

Contributors

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

According to git shortlog -sn --no-merges 3.6.4..3.7.0 these are:

    63  Martin Odersky
    47  Som Snytt
    33  Adrien Piquerez
    32  Hamza Remmal
    29  Wojciech Mazur
    19  aherlihy
    19  kasiaMarek
    16  Jan Chyb
    13  Dale Wijnand
    11  Kacper Korban
    10  EnzeXing
     9  Sébastien Doeraene
     7  Guillaume Martres
     7  Matt Bovel
     7  Oliver Bračevac
     7  noti0na1
     5  HarrisL2
     5  Jamie Thompson
     5  dependabot[bot]
     4  Joel Wilsson
     4  Piotr Chabelski
     4  Seth Tisue
     3  Roman Janusz
     3  anna herlihy
     2  David Hua
     2  Tomasz Godzik
     2  Yichen Xu
     1  Alec Theriault
     1  Daisy Li
     1  Daniel Thoma
     1  Dmitrii Naumenko
     1  Felix Herrmann
     1  He-Pin(kerr)
     1  João Ferreira
     1  Jędrzej Rochala
     1  Katarzyna Marek
     1  Kenji Yoshida
     1  Natsu Kagami
     1  Niklas Fiekas
     1  Rocco Mathijn Andela
     1  Vadim Chelyshov
     1  adpi2
     1  fan-tom
     1  philwalk
     1  rochala

v3.6.4

Compare Source

Highlights of the release

  • Support for JDK 24 #​22250
  • REPL :silent command to toggle automatic printing of outputs #​22248
  • REPL --repl-init-script: setting to run a code on startup #​22206
  • Deprecated setting -Xno-decode-stacktraces is now an alias to -Xno-enrich-error-messages #​22208
  • Annotation arguments are no longer lifted #​22035
  • Experimental Capture Checking: Implement tracked members #​21761

Breaking changes

  • Align @implicitNotFound and @implicitAmbigous with the language specification #​22371

    This change may impact users who previously used these annotations using variables or string interpolation.

    Previously, a bug in the Scala 3 compiler allowed non-literal strings to be passed as arguments to the @implicitNotFound and @implicitAmbiguous annotations.
    This could have affected how failed implicit search results were reported by the compiler.

    Starting from Scala 3.6.4, the arguments for these annotations must be string literals.
    If a message is too long, it can be concatenated using the + operator, allowing for constant folding.

Other changes and fixes

Annotations

  • Make sure symbols in annotation trees are fresh before pickling #​22002
  • Consider all arguments in Annotations.refersToParamOf #​22001
  • Do not lift annotation arguments (bis) #​22046

Desugaring

Documentation

  • Update example code linked to obsolete content in macros-spec.md #​22256

Experimental: Capture Checking

Experimental: Global Initialization

  • Fix crash when initializing val in ByName closure #​22354

Experimental: Named Tuples

  • Handle TypeProxy of Named Tuples in unapply #​22325
  • Fail more eagerly when trying to adapt named unapply patterns #​22315
  • Widen singleton types when computing fields from .Fields #​22149
  • Fix .toTuple insertion #​22028

Extension Methods

  • Tweak ExtensionNullifiedByMember #​22268
  • Nowarn extension matching nonpublic member #​21825

Implicits

  • Rollback constraints in compareAppliedTypeParamRef #​22339
  • Try implicit searching after finding dynamic select #​22318

Linting

  • Allow discarding "Discarded non-Unit" warnings with : Unit #​21927

Match Types

Metaprogramming

  • Rethrow SuspendExceptions caught in CodeGen phase #​22009

Metaprogramming: Compile-time

  • Extend compiletime.testing.typechecks with certain transform phases #​21185

Nullability

  • Fix #​21619: Refactor NotNullInfo to record every reference which is retracted once. #​21624

Presentation Compiler

  • Use new infer expected type for singleton complations #​21421
  • Fix match error in keyword completions #​22138

Reflection

  • Do not return java outline dummy constructor in primaryConstructor #​22104

Reporting

  • Normalise the types for Type Mismatch Error (E007) #​22337
  • Improve given search preference warning #​22189
  • Better error messages when an enum derives from AnyVal #​22236
  • Correctly print litteral types in the refined printer #​22351

Rewrites

Scaladoc

  • Scaladoc: Add support for named tuples #​22263

Settings

  • Limit exposure to ConcurrentModificationException when sys props are replaced or mutated #​22180

Specification

  • Align the spec to allow the marker #​22323
  • Integrate the specification for match types. #​22164

Transform

Typer

  • Fixes for isLegalPrefix change #​22241
  • Resolve name when named imp is behind wild imps #​21888

Contributors

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

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

    46  Martin Odersky
    33  noti0na1
    24  Wojciech Mazur
    14  Dale Wijnand
    13  Matt Bovel
    11  Hamza Remmal
     7  Jan Chyb
     6  aherlihy
     5  Kacper Korban
     5  Seth Tisue
     5  Som Snytt
     4  Oliver Bračevac
     4  Yichen Xu
     3  Sébastien Doeraene
     3  dependabot[bot]
     3  kasiaMarek
     2  João Ferreira
     1  David Hua
     1  Eugene Flesselle
     1  Eugene Yokota
     1  Florian3k
     1  Jędrzej Rochala
     1  Kenji Yoshida
     1  Mathias
     1  Natsu Kagami
     1  Oleg Zenzin
     1  Piotr Chabelski
     1  Rui Chen
     1  philippus
     1  rochala
     1  xiaoshihou

v3.6.3

Compare Source

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 (#​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

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

v3.6.2

Compare Source

Highlights of the release

  • Stabilise SIP-47 (Adding Clause Interleaving to method definitions) #​20861
  • Stabilise SIP-64 (New syntax of givens and context bounds) #​21668
  • Context Bounds for Polymorphic Functions #​21643
  • Switch mapping of context bounds to using clauses in 3.6 #​21257
  • Enable betterMatchTypeExtractors in >= 3.6 #​21198
  • Require named arguments for java defined annotations #​21329
  • Refine the bounds of the Tuple.Filter type lambda predicate .. #​21286
  • Add an infix shorthand for Tuple.{Append, Concat} #​21288
  • Add .msi artifacts to release assets #​21834
  • Implement SIP-62 as experimental - For comprehension improvements #​20522
  • Implement SIP-57 as experimental - add runtimeChecked method and annotation #​20987

Other changes and fixes

Annotations

Erasure

  • Fixes IllegalAccessError with Java package protected class #​21362

Experimental: Capture Checking

  • Fix setup of CapSet arguments. #​21309
  • Check all top-level covariant capture sets in checkNotUniversal #​21428
  • Charge also dcs of local reaches to capture set of enclosing method #​21443
  • No need to unbox if expected type is LhsProto #​21508
  • Treat more closure parameter types as inferred #​21583
  • Existential Capabilities #​20566
  • Fixes for cleanup retains scheme #​21350
  • Improve Contains handling #​21361
  • Expand Capability types T to T^ only if no explicit capture set is given #​21375
  • Tighten closure extractor in TreeInfo #​21621

Experimental: Global Initialization

  • Analyze object when selecting from package #​21511
  • Fix bug in init checker while compiling scodec-bits community project #​21574

Experimental: Named Tuples

  • Finalize named tuples #​21710
  • Move NamedTuple.head to NamedTupleDecomposition #​21308
  • Move NonEmptyTuple members into Tuple #​21291
  • Migration rewrites for infix arguments interpreted as named tuples #​21949
  • Make named tuples a standard feature #​21680
  • Make named tuples an experimental feature again #​22045

Experimental: Explicit Nulls

Experimentals

  • [experimental feature] Support HOAS pattern with type variables for quote pattern matching #​18271

Exports

  • Re-use attachment in exportForwarders to handle ambiguous overloads #​21518
  • Allow export statements in AnyVal #​21653

Extension Methods

  • Make right assoc ext method fwd refs error #​21641

Inline

  • Fix: throw an error before assigning ErrorType when expanding constValue #​21364

Implicits

  • Fix prioritization of givens over implicits #​21226

JVM Backend

  • Backend computes line number from source of position #​21763

Linting

  • CheckUnused checks type param annotations #​20549

Match Types

  • Fix #​21295: Restrict provablyDisjoint with Nothings in invariant type params. #​21891
  • Do not propagate TypeErrors of ops from TypeComparer#tryAlso #​21070
  • Fix #​21402: Always allow type member extraction for stable scrutinees in match types. #​21700
  • Add a 3.6-migration warning for MT lubbing #​21336
  • Always interpret underscores inside patterns as type bounds #​21718

Opaque Types

  • Capture the kse3 issue in test cases and close it #​21260

Parser

  • Guard against recursive lower bounds in constraints #​21587
  • Handle old given syntax where identifier and type are seperated by new line #​21957
  • Fix: Allow as as an infix type in non context bound types #​21849
  • Revised given syntax #​21208
  • Make context bounds for poly functions a standard feature #​22019

Pattern Matching

Pickling

  • Some fixes for AnnotatedTypes mapping #​19957

Polyfunctions

  • Fix: Check if a PolyFunction TypeTree has no ByName parameters #​21671

Presentation Compiler

  • Add regression test for issue 18726 #​20318
  • Remove artificial CURSOR added to code in the completions #​20899
  • Fix autoimports with using directives #​21590

Quotes

  • Handle suspension due to macro call in arbitrary phases #​21651
  • Have a better error message when healing types #​21711
  • Bound TypeRepr by Matchable in Quotes #​21377
  • Expr#show: Don't crash when the expression contains an unsupported type (like a SkolemType) #​20494

Reflection

  • Add the possibility to create a typeSymbol in the Quotes API #​20347
  • Fix stale symbols connected to lazy vals in macros #​21559

Reporting

  • Add better error reporting for inlined non-immutable paths #​21639
  • Only replace new errors by warnings under -migration #​21289
  • Warn when named tuples resemble assignments #​21823

REPL

  • REPL: JLine 3.27.0 (was 3.25.1) #​21752
  • Ignore best effort settings in repl and update docs #​21540

Rewrites

  • Remove empty argument lists for classes with only context bounds #​21513
  • Fix rewrite logic for old <function> _ syntax #​21715
  • Remove the -rewrite option for typechecks methods in Quotes #​21547
  • Add migration rewrite for non-named arguments in Java annotations #​21397

Runner

Scaladoc

  • Only trim one newline when preprocessing the content of a markdown code snippet #​21519
  • Filter opaque modifier from object documentation #​21640
  • Bump Inkuire version to fix it for the new Scala versions #​21611

Standard Library

  • Scala 2.13.15 (was .14) #​21648
  • Define binary symbolic compiletime ops as infix #​21683

Transform

  • Fix treatment of separately compiled @native methods in FirstTransform #​21593
  • Three fixes to SAM type handling #​21596
  • Always rewrite empty List() to Nil #​21689
  • Add support for clauseInterleaving in JVM generic signatures #​21709

Typeclass Derivation

  • Nicer error message in case a derived method has an explicit term param #​21332

Typer

  • Calm param autotupling for overloads #​21552
  • Survive inaccessible types when computing implicit scope #​21589
  • Avoid cyclic errors forcing default arg types #​21597
  • Allow autotupling if fn's param is a type param #​21741
  • Fix extending protected nested java classes #​21857
  • Fix incorrect caching with dependent method parameters #​21699

Contributors

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

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

   128  Martin Odersky
    53  Wojciech Mazur
    44  Dale Wijnand
    35  Hamza REMMAL
    33  Kacper Korban
    31  Eugene Flesselle
    22  Hamza Remmal
    11  Katarzyna Marek
    10  Matt Bovel
     9  noti0na1
     9  rochala
     8  Jamie Thompson
     8  Jan Chyb
     7  Adrien Piquerez
     7  Som Snytt
     7  Sébastien Doeraene
     7  dependabot[bot]
     6  Yichen Xu
     5  EnzeXing
     5  Guillaume Martres
     4  Fengyun Liu
     4  kasiaMarek
     3  Martin Duhem
     3  Oliver Bracevac
     3  Piotr Chabelski
     2  Aleksander Rainko
     2  David Hua
     2  Florian3k
     2  HarrisL2
     2  Joel Wilsson
     2  Jędrzej Rochala
     2  Kenji Yoshida
     1  Eugene Yokota
     1  Kavin Satheeskumar
     1  Lorenzo Gabriele
     1  Michel Charpentier
     1  Ondrej Lhotak
     1  Raphael Jolly
     1  Tomasz Godzik
     1  Yuito Murase
     1  crunchyfrog
     1  philippus

v3.6.1

This is a fast-track release to replace a broken release 3.6.0 that occurred during the Scala 3.6.0-RC1 release. It might contain bugs that would be have been fixed during the Release Candidate bugfixes period. We recommend waiting for the stable Scala 3.6.2 release.

Scala 3.6.0 should never be used to produce libraries. TASTy files produced by this version of the compiler are produced in the experimental mode. These outputs are not compatible with consumers using stable versions of the compiler.

See details in Scala 3.6.0 Post Mortem blogpost

Highlights of the release

  • Stabilise SIP-47 (Adding Clause Interleaving to method definitions) #​20861
  • Implement SIP-57 - add runtimeChecked method and annotation #​20987
  • Implement SIP-62 - For comprehension improvements #​20522
  • Implement SIP-64 as non-experimental #​21668
  • Make named tuples a standard feature #​21680
  • Switch mapping of context bounds to using clauses in 3.6 #​21257
  • Require named arguments for java defined annotations #​21329

Other changes and fixes

Annotations

Dependencies

Erasure

  • Fixes IllegalAccessError with Java package protected class #​21362

Experimental: Capture Checking

  • Existential Capabilities #​20566
  • Fix setup of CapSet arguments. #​21309
  • Check all top-level covariant capture sets in checkNotUniversal #​21428
  • Charge also dcs of local reaches to capture set of enclosing method #​21443
  • No need to unbox if expected type is LhsProto #​21508
  • Treat more closure parameter types as inferred #​21583
  • Fixes for cleanup retains scheme #​21350
  • Improve Contains handling #​21361
  • Expand Capability types T to T^ only if no explicit capture set is given #​21375
  • Tighten closure extractor in TreeInfo #​21621

Experimental: Strict Equality

Experimental: Modularity

Experimental: Global Initialization

  • Analyze object when selecting from package #​21511
  • Fix bug in init checker while compiling scodec-bits community project #​21574

Experimentals

  • [experimental feature] Support HOAS pattern with type variables for quote pattern matching #​18271

Exports

  • Re-use attachment in exportForwarders to handle ambiguous overloads #​21518
  • Allow export statements in AnyVal #​21653

Extension Methods

  • Make right assoc ext method fwd refs error #​21641

Inline

  • Fix: throw an error before assigning ErrorType when expanding constValue #​21364

Implicits

  • Fix prioritization of givens over implicits #​21226

JVM backend

  • Backend computes line number from source of position #​21763

Linting

  • CheckUnused checks type param annotations #​20549

Library

Match Types

  • Enable betterMatchTypeExtractors in >= 3.6 #​21198
  • Do not propagate TypeErrors of ops from TypeComparer#tryAlso #​21070
  • Fix #​21402: Always allow type member extraction for stable scrutinees in match types. #​21700
  • Add a 3.6-migration warning for MT lubbing #​21336
  • Always interpret underscores inside patterns as type bounds #​21718

Opaque Types

  • Capture the kse3 issue in test cases and close it #​21260

Parser

  • Guard against recursive lower bounds in constraints #​21587

Pattern Matching

Pickling

  • Some fixes for AnnotatedTypes mapping #​19957

Polyfunctions

  • Fix: Check if a PolyFunction TypeTree has no ByName parameters #​21671

Presentation Compiler


Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate renovate bot force-pushed the renovate/scala-3.x branch from bcb8c79 to ed81ffe Compare May 28, 2023 10:31
@renovate renovate bot changed the title Update dependency scala to v3.2.2 Update dependency scala to v3.3.0 May 28, 2023
@renovate renovate bot force-pushed the renovate/scala-3.x branch from ed81ffe to 1451b48 Compare September 5, 2023 20:22
@renovate renovate bot changed the title Update dependency scala to v3.3.0 Update dependency scala to v3.3.1 Sep 5, 2023
@renovate renovate bot force-pushed the renovate/scala-3.x branch from 1451b48 to 9578aa9 Compare February 14, 2024 16:56
@renovate renovate bot changed the title Update dependency scala to v3.3.1 Update dependency scala to v3.4.0 Feb 14, 2024
@renovate renovate bot force-pushed the renovate/scala-3.x branch from 9578aa9 to 5b7e423 Compare March 27, 2024 20:17
@renovate renovate bot changed the title Update dependency scala to v3.4.0 Update dependency scala to v3.4.1 Mar 27, 2024
@renovate renovate bot force-pushed the renovate/scala-3.x branch from 5b7e423 to 70c7fec Compare May 13, 2024 17:15
@renovate renovate bot changed the title Update dependency scala to v3.4.1 Update dependency scala to v3.4.2 May 13, 2024
@renovate renovate bot force-pushed the renovate/scala-3.x branch from 70c7fec to 86f969d Compare August 12, 2024 20:44
@renovate renovate bot changed the title Update dependency scala to v3.4.2 Update dependency scala to v3.5.0 Aug 12, 2024
@renovate renovate bot force-pushed the renovate/scala-3.x branch from 86f969d to e7edd81 Compare September 18, 2024 14:32
@renovate renovate bot changed the title Update dependency scala to v3.5.0 Update dependency scala to v3.5.1 Sep 18, 2024
@renovate renovate bot force-pushed the renovate/scala-3.x branch from e7edd81 to be0280a Compare October 16, 2024 11:30
@renovate renovate bot changed the title Update dependency scala to v3.5.1 Update dependency scala to v3.5.2 Oct 16, 2024
@renovate renovate bot force-pushed the renovate/scala-3.x branch from be0280a to 92abf1f Compare October 18, 2024 16:35
@renovate renovate bot changed the title Update dependency scala to v3.5.2 Update dependency scala to v3.6.0 Oct 18, 2024
@renovate renovate bot force-pushed the renovate/scala-3.x branch from 92abf1f to 46be8b2 Compare October 19, 2024 09:08
@renovate renovate bot changed the title Update dependency scala to v3.6.0 Update dependency scala to v3.6.1 Oct 19, 2024
@renovate renovate bot force-pushed the renovate/scala-3.x branch from 46be8b2 to 955e1ae Compare December 9, 2024 14:52
@renovate renovate bot changed the title Update dependency scala to v3.6.1 Update dependency scala to v3.6.2 Dec 9, 2024
@renovate renovate bot force-pushed the renovate/scala-3.x branch from 955e1ae to 6033103 Compare January 16, 2025 13:44
@renovate renovate bot changed the title Update dependency scala to v3.6.2 Update dependency scala to v3.6.3 Jan 16, 2025
@renovate renovate bot force-pushed the renovate/scala-3.x branch from 6033103 to fb358dd Compare March 6, 2025 14:30
@renovate renovate bot changed the title Update dependency scala to v3.6.3 Update dependency scala to v3.6.4 Mar 6, 2025
@renovate renovate bot force-pushed the renovate/scala-3.x branch from fb358dd to b57142a Compare May 5, 2025 16:00
@renovate renovate bot changed the title Update dependency scala to v3.6.4 Update dependency scala to v3.7.0 May 5, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

0 participants