Skip to content

Conversation

renovate[bot]
Copy link

@renovate renovate bot commented Apr 1, 2024

Note

Mend has cancelled the proposed renaming of the Renovate GitHub app being renamed to mend[bot].

This notice will be removed on 2025-10-07.


This PR contains the following updates:

Package Change Age Confidence
scala 3.3.0 -> 3.7.3 age confidence

Test plan: CI should pass with updated dependencies. No review required: this is an automated dependency update PR.


Release Notes

scala/scala3 (scala)

v3.7.3

Compare Source

Release highlights

  • Warn if implicit default shadows given #​23559
  • Standardize on -Vprint:... (still support -Xprint:... as alias) #​22828

Other changes and fixes

Desugaring

Enums

  • Make hashcode of enum items stable #​23218

Erasure

  • Replace erased class modifiers with Erased base traits #​23447
  • Bring back part of PruneErasedDefs #​23466

Experimental: Capture Checking

  • Fix parsing crash for update in later phases #​23390
  • Implement boxing for singleton type arguments #​23418
  • Expand Capability types also in arguments of Capability classes #​23427
  • Adjustments to the capability trilogy #​23428
  • Set context owner to the method for paramsToCap #​23436
  • Flatten nested capture sets in retainedElementsRaw #​23571
  • Fix well-formed test for capabilities #​23393
  • Add restricted capabilities x.only[C] #​23485
  • Rely on hidden sets for use checking #​23580

Experimental: Separation Checking

  • Make separation checking controlled by language import #​23560

Experimental: Erased Definitions

  • Refactorings and fixes to erased definition handling #​23404

Experimental: Explicit Nulls

  • Add quick fix to remove unnecessary .nn #​23461
  • Add stableNull annotation to force tracking mutable fields #​23528

Experimental: Global Initialization

  • Rewrite resolveThis in global init checker #​23282
  • Fix errors in the global initialization checker when compiling bootstrapped dotty #​23429
  • Fix error in product-sequence match in global init checker #​23480

Experimental: Into

Experimental: Modularity

Experimental: Unroll

  • Enable UnrollDefinitions phase in REPL frontend phases #​23433

Extension Methods

  • Avoid forcing extension on check of local select #​23439

Implicits

  • Refine implicit search fallbacks for better ClassTag handling #​23532

Inline

  • Fix Symbol.info remapping in TreeTypeMap #​23432
  • Fail not inlined inline method calls early #​22925
  • Fix inline export forwarder generation regression #​23126

Linting

  • Consider setter of effectively private var #​23211
  • Add accessible check for import usage #​23348
  • Check OrType in interpolated toString lint #​23365
  • Use result of lambda type of implicit in CheckUnused #​23497
  • Add suppression if nowarn differs #​23652

Match Types

Named Tuples

  • Skip bypassing unapply for scala 2 case classes to allow for single-element named tuple in unapply #​23603

Parser

  • Enforce -new-syntax under -language:future #​23443
  • Disallow Scala 2 implicits under -source:future #​23472

Pattern Matching

  • Fix problems in checking that a constructor is uninhabited for exhaustive match checking #​23403

Pickling

  • Don't force annotation unpickling when testing for SilentIntoAnnot #​23506
  • Drop invalid assumption from TastyUnpickler #​23353

Printer

  • Print update modifier when printing update method definitions #​23392

Positions

  • Compare span points in pathTo to determine best span #​23581
  • Add line number magic comment support #​23549

Presentation Compiler

  • Port Inlay hints for name parameters #​23375
  • Fix: Simplify infer type for apply #​23434
  • Fix: Inconsistent annotation tooltips #​23454
  • Fix adjust type when already exists #​23455
  • Exclude named parameters inlay hints for java defined #​23462
  • Fix: StringIndexOutOfBoundsException in presentation compiler's hasColon method #​23498
  • Add InferredMethodProvider for automatic method signature generation #​23563
  • Fix completions for Quotes #​23619
  • Handle default arguments in named parameters for inlay hints #​23641
  • Fix issue with pc breaking in requiredMethod on newly overloaded valueOf #​23708
  • Handle default arguments in named parameters for inlay hints #​23641
  • Fix extracting refinements from intersection types in dynamic select hovers #​23640

Quotes

  • Skip splice level checking for <refinement> symbols #​22782
  • Fix stale top level synthetic package object being used in later runs #​23464
  • Emit an error for quoted pattern type variable after new #​23618
  • Fix issue with certain polyfunctions not properly matching in macros #​23614
  • Check PCP of constructor calls on the type #​7531

Reflection

  • Quotes reflect: sort the typeMembers output list and filter out non-members #​22876

Reporting

  • Add an explainer to the DoubleDefinition error #​23470
  • Suppress warnings in comprehensions with 22+ binds #​23590
  • Unhelpful error message when trying to use named extraction, when not matching case class or named tuple #​23354
  • Improve error message for conflicting definitions #​23453
  • -Yprofile-trace properly report macro splicing source #​23488
  • -Yprofile-trace profiles all inline calls #​23490

Rewrites

  • Patch empty implicit parens on error recovery #​22835
  • Rewrite underscore with optional space #​23525

Runner

  • Bump Scala CLI to v1.9.0 (was v1.8.4) #​23702

Scaladoc

  • Scaladoc: fixes and improvements to context bounds and extension methods #​22156
  • Encode path of class #​23503

SemanticDB

  • Bugfix: Also save infos in semanticdb #​23587

Transform

  • Handle multiple type parameter lists in value class methods #​23516
  • Check path of module prefix for tailrec #​23491

Tuples

  • Normalize tuple types in var args seq literals and classOf instances #​23465

Typer

  • Fix #​22922: Add TypeParamRef handling in isSingletonBounded #​23501
  • Fix this references everywhere in dependent function types #​23514
  • Don't approximate a type using Nothing as prefix #​23531
  • Support cleanup actions in class completers #​23515
  • Fix regressions in asSeenFrom introduced in 3.7 #​23438
  • Use correct owner in eta expansion #​7564
  • Fix irrefutability checking in for with untupling #​23273
  • Fix missing members reporting for var setters #​23476
  • Guard against invalid prefixes in argForParam #​23508
  • Add missing case to TypeComparer #​23550
  • Fix match type bounds checking problem #​23695
  • Generalize "Don't approximate a type using Nothing as prefix" #​23628
  • More careful ClassTag instantiation #​23659
  • Use more context for implicit search only if no default argument #​23664

Contributors

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

According to git shortlog -sn --no-merges 3.7.2..3.7.3 these are:

    85  Martin Odersky
    56  Hamza Remmal
    29  Wojciech Mazur
    20  Som Snytt
    20  noti0na1
    18  Yichen Xu
    15  Jan Chyb
     9  Matt Bovel
     7  EnzeXing
     7  Guillaume Martres
     6  aherlihy
     5  Sébastien Doeraene
     4  Zieliński Patryk
     3  Oliver Bračevac
     3  Piotr Chabelski
     3  Tomasz Godzik
     2  Alexander
     2  Mikołaj Fornal
     2  Seyon Sivatharan
     1  Alex1005a
     1  HarrisL2
     1  Jan
     1  Jentsch
     1  Jędrzej Rochala
     1  Kacper Korban
     1  Katarzyna Marek
     1  Marc GRIS
     1  Martin Duhem
     1  Patryk Zieliński
     1  Przemysław Sajnóg
     1  Seth Tisue
     1  Wessel W. Bakker
     1  bingchen-li
     1  kijuky

v3.7.2

Compare Source

Highlights of the release

  • Add an -Yimplicit-to-given flag for rewrites to easily test changes in the ecosystem #​22580
    This experimental flag when used in conjunction with --rewrite allows to migrate most of implicit definitions as given. It aims to ease with migration to new syntax, or testing how it would affect your code base.

  • Bump Scala CLI to v1.8.4 (was v1.8.0) #​23538

    • Support for URLs in using file directives
    • Better support for the REPL with JDK 24+
    • experimental publish support for the Sonatype Central Portal
    • See full Scala CLI changelog
  • Implement applied constructor types #​22543
    It introduces new syntax allowing for easier definition of tracked parameters under -language:experimental.modularity
    You can read more about this experimental feature in the Modularity Improvements proposal documentation.

Other changes and fixes

Documentation

  • Mark AnyRef::eq and AnyRef::ne as infix instead of special casing when emitting the warning #​23252
  • Mark eq and ne in Predef as infix #​23255

Experimental: Capture Checking

  • Allow caps in result types of functions to be mapped to reaches #​23275
  • Adapt types according to read-only status #​23332
  • Rename mut to update #​23335
  • Change retains annotation from using term arguments to using type arguments #​22909
  • New Syntax for Capture Variables and Explicit Capture Polymorphism v3 #​23063
  • Fix #​23223: Add handling for classes deriving from Capability during Setup #​23248
  • Copy @use and @consume annotations to parameter types #​23324
  • Fix handling of @use and @consume in class parameters #​23342
  • Some usability improvements relating to errors #​23370
  • Loosen the "does not match previously inferred" criterion #​23067
  • Use level checking for Fresh instances #​23101
  • Ensure all capture variables carry the attachment #​23162
  • Cache ResultCaps #​23198
  • Move separation checking to -source:3.8 #​23249
  • Refactorings for CC error reporting #​23260
  • Standardize on log-based undo #​23357
  • Flag nonsensical capturing types with pure parents as errors #​23367

Experimental: Erased Definitions

Experimental: Explicit Nulls

  • Relax comparison between Null and reference types in explicit nulls #​23308
  • Warn about unnecessary uses of .nn #​23327

Experimental: Global Initialization

  • Modified abstract domain in global initialization checker #​23138

Experimental: Into Modifier

  • Change into scheme to be fully type-based #​23014

Experimental: Modularity

  • Implement applied constructor types #​22543

Implicits

  • Try extensions for arguments with type mismatch error #​23212

Linting

  • Improve checking LHS of Assign #​22977
  • Remove premature caching of lookups for unused lint #​22982
  • Enclosing package p.q not visible as q #​23069
  • Mention extension in unused param warning #​23132
  • Improve Unit ascription escape hatch #​23147
  • Dealias for unused param check #​23256
  • Take inferred or explicit refinement result for unused check #​23325
  • Nowarn receiver of extension taking params #​23351
  • Improved edit span for import #​23083
  • Use result of lambda type of implicit in CheckUnused #​23497

Parser

  • Fix incorrect warning with -no-indent #​23216
  • Patvar: adjust caret in error message #​23115
  • Disallow empty parameter clauses in extension definition #​23143

Pattern Matching

  • Improve GADT reasoning for pattern alternatives #​23205

Pickling

  • Try to handle SkolemTypes in SingletonTypeTree during pickling #​23236
  • Avoid creating constructors where not warranted #​23178

Presentation Compiler

  • Use untpd.Tree instead of tpd.Tree for SelectionRangeProvider #​22702
  • Fix completion mode filtering + optimize scopeCompletions #​23172
  • Handle multiple params lists in for infer type #​23197
  • Add jpath to VirtualFile (for pc) #​23203
  • Add selection ranges for more names #​23257
  • Add inlay hints for by-name parameters #​23283
  • Implement code action 'convert to named lambda parameters' #​22799
  • Improve completions when a lot of exports are present #​23414
  • Buffix: Make PC actions work for re-exported symbols #​22722
  • Bugfix: Fix enumeration issues when Value is imported #​23124
  • Bugfix: Check in the collector for empty arrays #​23341
  • Bugfix: Don't check scope members if not needed #​23384
  • Improvement: Don't dealias named tuples for type hints #​23013
  • Improvement: Simplify match types when possible #​23146
  • Improvement: Improve efficiency of completions #​23355
  • Improvement: Cache compilation on . and don't add CURSOR #​23356

Private Options

Rewrites

  • Remove empty parentheses when rewriting implicits to givens #​23339

Quotes

  • Preserve implicits in Quotes context #​23263
  • Don't StackOverflow when printing RecursiveType structure. #​22859

Reflection

Reporting

  • Fix incorrect warning on type ascription for backquoted identifiers #​23088
  • Improve position of deprecation #​23052
  • Have a better error message when context bounds are not allowed #​23190
  • Avoid false warning when synthesising deferred givens #​23087
  • Fix insufficient number width allocated when using -print-lines #​23336

SemanticDB

  • Fix SemantiDB production of method signature with shadowed parameters #​23161
  • Check if symbol exists before calling methods on it #​23376

Settings

  • Filter allowed source versions by import and by settings #​23215

Tooling

  • Suggest to add using as a code action #​23079

Transform

  • Warn trivial recursion with module prefix #​23278
  • Partial function synthesis changesOwner of selector #​23337
  • Check path of module prefix for tailrec #​23491
  • Fix stale top level synthetic package object being used in later runs #​23464

Typer

  • Compare TypeVar and TypeParamRef in mergeRefinedOrApplied #​23045
  • Revert recent changes to opaque type proxy generation #​23059
  • Only keep denotation for methods in IntegrateMap #​23226
  • Tighten condition when to do SAM type conversion #​23246
  • Revert "Make overload pruning based on result types less aggressive (#​21744)" in main #​23331
  • Tweak parameter dependency test when typing applications #​23346
  • Ensure pt span exists in implicitParams migration #​23372
  • Check for error before checking members of product type in getUnapplySelectors #​23358
  • Synthesise value of this.type in ValueOf #​23094
  • Hide constructor proxies at PostTyper #​23269
  • Fix regressions in asSeenFrom introduced in 3.7 #​23438

Contributors

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

According to git shortlog -sn --no-merges 3.7.1..3.7.2 these are:

    93  Martin Odersky
    29  Wojciech Mazur
    22  Som Snytt
    22  noti0na1
    14  Tomasz Godzik
    13  Hamza Remmal
    13  Yichen Xu
     6  EnzeXing
     5  Jan Chyb
     5  Matt Bovel
     3  Oliver Bračevac
     3  aherlihy
     3  kasiaMarek
     2  Alexander
     2  Dale Wijnand
     2  Dolphin von Chips
     2  Georgi Krastev
     2  Jędrzej Rochala
     2  Kacper Korban
     2  Natsu Kagami
     2  Ondrej Lhotak
     2  Piotr Chabelski
     2  Seyon Sivatharan
     2  Yoonjae Jeon
     2  Zieliński Patryk
     1  Guillaume Martres
     1  Jakub Kozłowski
     1  Katarzyna Marek
     1  MatthieuSLR9
     1  Ondřej Lhoták
     1  Tomas Mikula
     1  anna herlihy
     1  dependabot[bot]
     1  rochala
     1  s2sivath

v3.7.1

Compare Source

Highlights of the release

  • Support for JDK 25 #​23004
  • Warn if interpolator uses toString #​20578
  • Warn if match in block is not used for PartialFunction #​23002

Other changes and fixes

Annotations

  • Approximate annotated types in wildApprox #​22893
  • Keep unused annot on params #​23037

Erasure

  • Disallow context function types as value-class parameters #​23015

Experimental: Capture Checking

  • Two fixes to handling of abstract types with cap bounds #​22838
  • Drop idempotent type maps #​22910
  • Fix setup of class constructors #​22980

Experimental: Unroll

Experimental: Referencable Package Objects

  • Add experimental.packageObjectValues language setting #​23001

Exports

  • Respect export alias for default arg forwarder #​21109

Extension Methods

  • Extension check checks for no parens not empty parens #​22825

GADTs

  • Fix: Prevent GADT reasoning in pattern alternatives #​22853

Linting

  • Dealias when looking into imports #​22889
  • Process Export for unused check #​22984
  • Drill into QuotePattern bindings symbol info #​22987
  • No warn implicit param of overriding method #​22901
  • No warn for evidence params of marker traits such as NotGiven #​22985
  • Mention extension in unused param warning #​23132
  • Remove premature caching of lookups for unused lint #​22982
  • Enclosing package p.q not visible as q #​23069

Inline

  • Revert recent changes to opaque type proxy generation #​23059

Initialization

  • Check for tasty error in template trees. #​22867

Metaprogramming: Compile-time

  • Fix issue with certain synthetics missing in compiletime.typechecks #​22978

Named Tuples

  • Call dealias after stripping type variables for tupleElementTypesUpTo #​23005
  • Avoid loosing denotations of named types during integrate #​22839

Pattern Matching

  • Fix existing GADT constraints with introduced pattern-bound symbols #​22928

Pickling

  • Fix fromProduct synthesized code for parameter-dependent case classes #​22961

Presentation Compiler

  • Completions for requests just before string #​22894
  • Fix: go to def should lead to all: apply, object and class #​22771
  • Ignore ending $ when looking at end marker names #​22798
  • Feature: Skip auto importing symbols we know are wrong in current context #​22813
  • Show the Autofill completion case as what would be auto-filled #​22819
  • Bugfix: Fix issues with annotations not detected #​22878
  • Improvement: Rework IndexedContext to reuse the previously calculated scopes #​22898
  • Pc: Properly adjust indentation when inlining blocks #​22915
  • Improvement: Support using directives in worksheets #​22957
  • Fix: show hover for synthetics if explicitly used #​22973
  • Pc: fix: inline value when def indentation equals 2 #​22990

Rewrites

  • Fix insertion of using in applications with trailing lambda syntax #​22937
  • Test chars safely when highlighting #​22918

Reporting

  • Print infix operations in infix form #​22854

Runner

  • Bump Scala CLI to v1.8.0 (was v1.7.1) #​23168

Scaladoc

  • Chore: add support for 'abstract override' modifier #​22802
  • Scaladoc: fix generation of unique header ids #​22779

Settings

  • Filter allowed source versions by import and by settings #​23215

Typer

Transform

  • Mix in the productPrefix hash statically in case class hashCode #​22865

Value Classes

Contributors

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

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

   135  Martin Odersky
    31  Som Snytt
    14  Wojciech Mazur
    13  Hamza Remmal
    13  Matt Bovel
     6  Jan Chyb
     5  Quentin Bernet
     5  Tomasz Godzik
     4  aherlihy
     3  HarrisL2
     3  Natsu Kagami
     3  Ondrej Lhotak
     3  Piotr Chabelski
     3  Sébastien Doeraene
     2  Yichen Xu
     2  Yoonjae Jeon
     2  kasiaMarek
     1  Aleksey Troitskiy
     1  Daisy Li
     1  Dale Wijnand
     1  Jan-Pieter van den Heuvel
     1  Jędrzej Rochala
     1  Kacper Korban
     1  Katarzyna Marek
     1  Lukas Rytz
     1  Mikołaj Fornal
     1  Nikita Glushchenko
     1  Oliver Bračevac
     1  Ondřej Lhoták
     1  dependabot[bot]
     1  noti0na1
     1  philippus

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


Configuration

📅 Schedule: Branch creation - "on the 1st through 7th day of the month" in timezone America/Los_Angeles, 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 added the bot label Apr 1, 2024
@renovate renovate bot force-pushed the renovate/scala-3.x branch from 4b9faa0 to d37bc72 Compare May 13, 2024 18:07
@renovate renovate bot changed the title chore(deps): update dependency scala to v3.4.1 chore(deps): update dependency scala to v3.4.2 May 13, 2024
@renovate renovate bot force-pushed the renovate/scala-3.x branch from d37bc72 to 3a34199 Compare August 12, 2024 20:25
@renovate renovate bot changed the title chore(deps): update dependency scala to v3.4.2 chore(deps): update dependency scala to v3.5.0 Aug 12, 2024
@renovate renovate bot force-pushed the renovate/scala-3.x branch from 3a34199 to 0bf2505 Compare September 18, 2024 14:21
@renovate renovate bot changed the title chore(deps): update dependency scala to v3.5.0 chore(deps): update dependency scala to v3.5.1 Sep 18, 2024
@renovate renovate bot force-pushed the renovate/scala-3.x branch from 0bf2505 to cf01775 Compare October 16, 2024 14:44
@renovate renovate bot changed the title chore(deps): update dependency scala to v3.5.1 chore(deps): update dependency scala to v3.5.2 Oct 16, 2024
@renovate renovate bot force-pushed the renovate/scala-3.x branch from cf01775 to 965f2da Compare October 18, 2024 16:43
@renovate renovate bot changed the title chore(deps): update dependency scala to v3.5.2 chore(deps): update dependency scala to v3.6.0 Oct 18, 2024
@renovate renovate bot force-pushed the renovate/scala-3.x branch from 965f2da to 3b6b794 Compare October 19, 2024 10:51
@renovate renovate bot changed the title chore(deps): update dependency scala to v3.6.0 chore(deps): update dependency scala to v3.6.1 Oct 19, 2024
@renovate renovate bot force-pushed the renovate/scala-3.x branch from 3b6b794 to 6673c5c Compare December 9, 2024 14:48
@renovate renovate bot changed the title chore(deps): update dependency scala to v3.6.1 chore(deps): update dependency scala to v3.6.2 Dec 9, 2024
@renovate renovate bot force-pushed the renovate/scala-3.x branch from 6673c5c to 12b3a34 Compare January 16, 2025 11:17
@renovate renovate bot changed the title chore(deps): update dependency scala to v3.6.2 chore(deps): update dependency scala to v3.6.3 Jan 16, 2025
@renovate renovate bot force-pushed the renovate/scala-3.x branch from 12b3a34 to e50348e Compare March 6, 2025 12:48
@renovate renovate bot changed the title chore(deps): update dependency scala to v3.6.3 chore(deps): update dependency scala to v3.6.4 Mar 6, 2025
@renovate renovate bot force-pushed the renovate/scala-3.x branch from e50348e to 187c5f3 Compare May 5, 2025 12:51
@renovate renovate bot changed the title chore(deps): update dependency scala to v3.6.4 chore(deps): update dependency scala to v3.7.0 May 5, 2025
@renovate renovate bot force-pushed the renovate/scala-3.x branch from 187c5f3 to 380ebd0 Compare June 2, 2025 16:59
@renovate renovate bot changed the title chore(deps): update dependency scala to v3.7.0 chore(deps): update dependency scala to v3.7.1 Jun 2, 2025
@renovate renovate bot force-pushed the renovate/scala-3.x branch from 380ebd0 to 4e2ca76 Compare July 29, 2025 22:10
@renovate renovate bot changed the title chore(deps): update dependency scala to v3.7.1 chore(deps): update dependency scala to v3.7.2 Jul 29, 2025
@renovate renovate bot force-pushed the renovate/scala-3.x branch from 4e2ca76 to 21c81fb Compare September 8, 2025 15:05
@renovate renovate bot changed the title chore(deps): update dependency scala to v3.7.2 chore(deps): update dependency scala to v3.7.3 Sep 8, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

0 participants