Skip to content

chore(deps): update dependency scala to v3.8.1#93

Open
renovate[bot] wants to merge 1 commit intomainfrom
renovate/scala-3.x
Open

chore(deps): update dependency scala to v3.8.1#93
renovate[bot] wants to merge 1 commit intomainfrom
renovate/scala-3.x

Conversation

@renovate
Copy link

@renovate renovate bot commented Apr 1, 2024

ℹ️ Note

This PR body was truncated due to platform limits.

This PR contains the following updates:

Package Change Age Confidence
scala (source) 3.3.03.8.1 age confidence
scala (source) 2.12.153.8.1 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.8.1

Compare Source

Highlights of the release

Scala 3.8.1 is a hotfix release for 3.8.0.
It addresses runtime regressions found after the 3.8.0 artifacts were released, specifically JVM linkage errors affecting a small subset of Scala 2 specialized types and members.

Additional regressions

The following regressions still present in 3.8.1 will be addressed in a forthcoming 3.8.2 hotfix release:

  • Some for comprehensions have incorrect behavior at runtime (#​24673)
  • Certain code involving calls to certain parts of the Java standard library fail to compile (#​25133)

Cautious users may wish to wait for 3.8.2.

Fixed regressions

  • Revert addition of new base trait to ReturnThrowable #​24975
  • Use uninlined version of Scala 2 standard-library in ScalaLibraryPlugin #​25008
  • Add missing specialized method in NumericRange #​25020
  • Correct the list of files to copy from Scala 2 #​25033

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

v3.8.0

Compare Source

Please use Scala 3.8.1
Version 3.8.0 was published with runtime regressions.

Highlights of the release

  • Require JDK 17+ #​24146
  • Add explicit null checks to Scala 3 Standard Library #​23566
  • Add capture-checking to Scala 3 Standard Library #​23688
  • Add capture-checking to Scala 2 collections #​23769
  • Extract REPL to be its own artifact #​24243
  • SIP-57: Make runtimeChecked a standard feature #​23262
  • SIP-62: Make better-fors a stable feature #​23630
  • Preview SIP-71: Make into preview feature #​24090
  • Experimental SIP-67: Strict equality pattern matching #​23803
  • Experimental SIP-70: Allow multiple spreads in function arguments #​23855
  • Experimental SIP-75: Allow single-line lambdas after : #​23821
  • Experimental: Match if sub cases #​23786
  • Support JDK 26 #​24430
  • Make scala.caps.Pure non-experimental #​23745
  • Allow annotations to annotate themselves #​24447
  • Changed indicator for LTS/Next series indicator in pom.xml #​24709

Other changes and fixes

Annotations

  • Emit deprecation warnings when a symbol is annotated by a deprecated annotation #​23906
  • Deprecate scala.annotation.elidable #​23913
  • Deprecate scala.annotation.transparentTrait #​23116

Experimental: Capture Checking

  • Make scala.caps.Pure transparent #​23914
  • Make scala.caps.Capability non-experimental #​23507
  • Check conformance to scala.caps.Pure upper bound only under cc #​23784
  • Widen type parameters before box adaptation #​23809
  • Level checking: distinguish between certain capset vars with same owner #​24077
  • Implement FreshCap Handling for Classes and Objects #​24136
  • Skip capture sets in checkNoPrivateLeaks and drop them in posttyper when cc is not enabled #​23886
  • Changes around reaches and uses #​23584
  • Revise capability hierarchy and fix classifiers #​23656
  • Improve closure typing #​23700
  • Better printing of capabilities in error messages #​23701
  • More improvements to error messages #​23721
  • CC Language Ref Polishings #​23762
  • CC Language Reference Improvements v2 #​23818
  • Changes in CC around classes, constructors, this #​23874
  • Various fixes and simplifications #​23881
  • Simplify Level Checking and Fix Errors #​23934
  • Introduce precise refined types #​24154
  • Fix unsoundness in APPLY and SELECT rules #​24159
  • Fixes for mutability #​24205
  • Implement inheritance condition for Mutable types #​24253
  • Don't add cap when creating instances of capability classes. #​24256
  • Changes to Fresh and Separation Checking #​24112
  • Avoid blowup of compute times for ill-formed retains #​24564
  • Fix apply rule #​24273

Experimental: Explicit Nulls

  • Only nullify tasty if Yflexify-tasty is set; Refine FlexibleType nullification rules #​23938
  • Apply flexible types to files compiled without explicit nulls #​23386
  • Fix NotNullInfo in multi-case match #​23864
  • Fix captureWildcards with FlexibleType #​24070
  • Do not assume left is non-null if another branch is null in splitLast #​24325
  • Fix #​24440: Do not check public flexible types on artifact symbols or inside anonymous classes #​24471

Experimental: Global Initalization

  • Modelling assigning to null in the global object initialization checker #​23858
  • Fix global init checker unexpected by name #​23859
  • Fix selection on safe value in the global object initialization checker #​23860
  • Re-design Env of the global object init checker #​24107

Experimental: Into

Experimental: Modularity

Implicits

  • Only check seen for LazyRef for TypeSizeAccumulator #​20459
  • Derived members succeed other givens in cycle test #​23898

JVM Backend

  • Fix generic signatures for mixin forwarders conflicting type parameter names #​24567
  • Look at the underlying of a TermRef for a getter #​24565
  • Refine parameter adaptation logic for arrays #​23591
  • Fix #​24573: Add stricter checks for platform SAM compatibility #​24624
  • Only rename method type params shadowing enclosing class type params #​24684
  • Update BackendUtils.classfileVersionMap #​23954
  • Refine TypeErasure.samExpansionNotNeeded to check parent traits if SAM is covered #​24843

Linting

  • Drill through type lambda for tree symbol #​23699
  • Warn unused masking imports, remove obsolete unused options #​23757
  • Unused lint does not rewrite suppressed warnings #​24055
  • Check for synthetic case methods in unused lint #​24239
  • CheckUnused examines type of Apply #​24465
  • Suggest runtimeChecked in warning/error messages #​24672
  • Parameter name can be masked in import #​24635

Match Types

  • Prioritize tree type over proto type when typing Binds #​24175

Metaprogramming

Named Tuples

  • Prohibit selection of tuples with members named apply. #​24191
  • Add an Ordering given instance for named tuples #​23379
  • Named tuple toMap extension method #​23827

Opaque Types

  • Prevent opaque types leaking from transparent inline methods #​23792
  • Make opaque types decomposable #​24068

Packaging

  • Ensure scala3-library does not contain .class or .tasty files #​24714
  • Ensure that scala3-library artifacts are empty #​24816
  • Actively remove Scala 2 pickles and emit synthetic TASTy attribute for copied stdlib .class files #​24846

Parser

Pattern Matching

  • Fix false exhaustivity warning for seq match #​23968
  • Use upper bound of abstract types in exhaustivity checking #​23909

Performance

  • Make compilationUnitInfo of TastyLoader lazy #​24604
  • Strip CC annotations in TypeMap when CC is not enabled #​24556

Pickling

  • Cleanup the type of UnApply trees in posttyper #​24259

Presentation Compiler

  • Make sure that we can query tree.source #​24123
  • Add unsafe RawPresentationCompiler implementation #​24133

Reporting

  • Fix span of private this warning #​23947
  • Improve printing of strings #​22945
  • Better grouping of explanations in error messages #​24155
  • Better error message: reassignment to val #​24184

Reflection

  • Add missing apply constructors for Refined and TypeProjection TypeTrees #​23837

REPL

  • Use PPrint to handle printing of REPL output values #​23849
  • Invoke pprint reflectively #​24119
  • Consider rendering prefix when pretty printing values in the REPL #​24118
  • Trap Ctrl-C in the REPL: if no command is running clear the prompt, if some command is running ask for confirmation before exiting #​24127
  • Re-implement Ammonite's Ctrl-C interruption for Scala REPL via bytecode instrumentation #​24194
  • Remove pipes from multi-line REPL prompts #​24307
  • Reintroduce reflective REPL pprint call. #​24353
  • Cleanups and source compatibility improvements for repl.AbstractFileClassLoader #​24514
  • Fix REPL interrupt instrumentation conditional #​24837

Scala Runner

  • Drop scala_legacy and MainGenericRunner #​24244
  • Drop -run and -repl in MainGenericCompiler #​24289
  • Bump Scala CLI to v1.10.0 (was v1.9.1) and Coursier to v2.1.25-M19 (was 2.1.24) #​24362
  • Bump Scala CLI to 1.10.1 (was 1.10.0) #​24448
  • Bump Scala CLI to 1.11.0 (was 1.10.1) and coursier to 2.1.25-M21 (was 2.1.25-M19) #​24739

Scaladoc

  • Add FlexibleType support for scaladoc #​23320
  • Render @consume as the consume modifier #​23754
  • Do not render consume update in scaladoc #​23760

Scala.js

  • Upgrade to Scala.js 1.20.1. #​23884
  • Support js.async and js.await, including JSPI on Wasm. #​23846
  • Add JS-specific version of VarArgsBuilder. #​24144
  • Port scala-stdlib for Scala.js #​24115
  • Do not patch the implicit scope of scala.Unit in Scala.js #​24405
  • Revert "do not patch the implicit scope of scala.Unit in Scala.js" #​24475
  • Have the correct properties when testing Scala.js #​24463
  • Add missing mapSourceURI for scala-library-sjs project #​24450

Settings

  • Option warnings are conditional #​13915
  • Make -usejavacp a private setting as -Yusejavacp #​24304
  • Add missing -language:experimental.* settings #​24513
  • Indicate deprecated option aliases #​24359

Specification

  • Update reference syntax documentation with named tuples #​23493

Standard Library

  • Embed the history of the scala 2 stdlib #​23099
  • Add language import in stdlib #​23102
  • Add transparent modifier to already assumed transparent types #​23104
  • Do not patch stdlib symbols anymore #​23193
  • Stabilise Predef.runtimeChecked too #​23917
  • Simplify scala.runtime.Statics.releaseFence #​23953
  • Deprecate scala.runtime.SymbolLiteral #​23970
  • Standard Library Sync: September 24th, 2025 #​24063
  • Update method signatures in RedBlackTree to accept correct Iterators #​24085
  • Module classes can sometimes extend scala.runtime.AbstractFuntionN in Scala 2 #​24147
  • Drop redundant scala.caps.Pure parent traits in stdlib #​24149
  • Better support for nullability in Option.apply and drop Option.fromNullable #​24238
  • Officially deprecate scala.App in Scala 3 #​24242
  • Be more conservative in what we copy from Scala 2 #​24339
  • Fix the dependencies of the bootstrapped stdlib #​24379
  • Fix bytecode attributes for patched files #​24180
  • Add library.properties to resources of scala-library jars #​24332
  • Make Java defined functions nullary when we override them #​24461
  • Allow to compile scala.AnyVal with Scala 3 #​24406
  • Fix #​24599: Remove | Null from implicit BigDecimal conversion similar to BigInt #​24600
  • Deprecate the content of the scala.runtime.stdLibPatches package #​24587
  • Make scala.Predef capture checked #​24643
  • Make style-only changes to doc comments for the standard library. #​24754
  • Update to new wildcard syntax in library scaladoc #​24751
  • Synchronize standard library sources with Scala 2.13.18 #​24788
  • Use up-to-date sources of Scala 2.13 stdlib when patching Scala 3 bytecode #​24855
  • Add @uncheckedOverride annotation for definitions that may override #​24545
  • Deprecate MapOps.KeySet, replace with private (and more performant) strict/lazy KeySet implementations #​24767

Quotes

  • Make typeArgs in QuotesImpl work for AnnotatedTypes #​24018
  • Quotes reflect: Allow to return DefDef from a val symbol tree #​22603
  • Add ensureApplied to the quotes reflect API #​24160
  • Chore: do not assume scala types as transparent, source should enforce it #​23105
  • Add missing version of ValDef.let which also accepts flags #​23388
  • Stabilise Quotes reflect methods used for creating new classes/objects #​23826
  • Fix #​24547: Strip inferred retains annotation from Macro/inline call trees #​24560

TASTy Format

  • Update the TastyFormat for matches with sub-cases #​23851

Testing

  • Fix line and path separators in test #​23534

Transform

  • Check extension method at typer #​24199
  • Elide conversion of receiver, extension or inline map, trailing implicit args, in DropForMap #​23416
  • Replace sun.misc.Unsafe used in LazyVals with VarHandles #​24109
  • Handle FlexibleTypes in asContextFunctionType #​23865
  • No mixin forwarder when ancestor is sealed #​23482
  • Emit mixin forwarders as ordinary, non-bridge methods again #​23942
  • Improve the generic signatures for singleton types #​24288

Typeclass Derivation

  • Support Mirror for generic tuples arity > 22 #​23363

Typer

  • Disable distribution of intersection types over applied types #​23441
  • Push distributivity rule to source future #​24376
  • Fix crash in Selectable unapply with custom applyDynamic #​24343
  • Tweak tryParameterless to use readapt #​24078
  • Mark the type of lifted definitions as inferred #​24104
  • Fix "Regression in zio/zio-schema for typer/implicit resolution" #​24156
  • Fix #​24456: Cleanup the info of a Bind symbol in posttyper #​24490
  • Ignore selection prototypes when typing type applications #​24489
  • Fix #​24571: Handling nullable types in convertTo for adapting number constants to target number types #​24580
  • Tweak type for tryParameterless #​24716

Union types

  • Discard scala.caps.Pure in the erasure of union and intersection types #​24151
  • Modify rule for nullable union types in generic signatures #​24129
  • Modify type erasure logic of nullable unions for Scala 2 pseudo-unions #​24130

Contributors

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

According to git shortlog -sn --no-merges 3.7.4..3.8.0 these are:

   174 Hamza Remmal
   167 Martin Odersky
    94 noti0na1
    95 Wojciech Mazur
    77 Som Snytt
    39 Eugene Flesselle
    19 Jan Chyb
    19 Oliver Bračevac
    17 Sébastien Doeraene
    16 Natsu Kagami
    14 Li Haoyi
    12 Yichen Xu
    11 HarrisL2
    10 Matthias Berndt
     8 Kacper Korban
     8 Matt Bovel
     8 aherlihy
     7 EnzeXing
     7 Piotr Chabelski
     7 dependabot[bot]
     6 Kenji Yoshida
     6 Rikito Taniguchi
     5 Emil Ejbyfeldt
     5 Seyon Sivatharan
     5 Tomasz Godzik
     4 Lukas Rytz
     4 Zieliński Patryk
     3 Jamie Thompson
     3 Jeon Yoonjae
     3 Yoonjae Jeon
     3 rjolly
     2 Katarzyna Marek
     2 Raphael Jolly
     2 katrinafyi
     1 Aleksey Troitskiy
     1 Alex1005a
     1 Evgeny Vereshchagin
     1 Florian3k
     1 Guillaume Martres
     1 Jędrzej Rochala
     1 Kalin-Rudnicki
     1 Martin Duhem
     1 Martynas Mickevičius
     1 Max Smirnov
     1 Mirco Dotta
     1 Patryk Zieliński
     1 Paweł Perłakowski
     1 Seth Tisue
     1 Vadim Chelyshov
     1 vder
     1 zielinsky
     1 虎鸣

v3.7.4

Compare Source

Highlights of the release

  • Bump Scala CLI to v1.9.1 (was v1.9.0) #​23962
  • Make coverage more similar to the one in Scala 2 #​23722

Deprecations for removal

  • Deprecate scala_legacy/MainGenericRunner/scalac -run/scalac -repl for removal #​24267

Other changes and fixes

Context Functions

  • Explain no expansion of ContextFunction0 #​23844

Experimental: Capture Checking

  • Fix #​23737: Update superCallContext to include dummy capture parameters in scope #​23740
  • Fix separation checking for function results #​23927
  • Simple enhancement for pattern matching with capturing types #​23524
  • Don't check bounds in match type cases at CC #​23738

Experimental: Explicit Nulls

  • Add warnings for inferred flexible types in public methods and fields #​23880

Exports

  • Refine isEffectivelyFinal to avoid no-owner crash #​23675

Implicits

  • Fix LiftToAnchors for higher-kinded type applications #​23672
  • Fix implicit scope liftToAnchors for parameter lower bounds #​23679

Linting

  • Invent given pattern name in for comprehension #​23121
  • Unused var message mentions unread or unset #​23719
  • Lint function arrow intended context function #​23847
  • Always traverse Inlined.call in linter #​24043
  • Ignore warnings when compiletime.testing is imported #​24036
  • Lint avoids revisiting Inlined.call #​24277
  • Register no elements for lint after inlining #​24279
  • Use enclosing enclosingInlineds for empty call #​24281
  • Exclude synthetic opaque proxy from lint #​24264

Match Types

  • Fix derivesFrom false negative in provablyDisjointClasses #​23834

Parser

  • Improve message for nested package missing braces #​23816
  • Fix: Allow postfix setters under language.postfixOps #​23775
  • Fix Java record varargs field accessor #​24172

Pattern Matching

  • Fix: do not transform Ident to This in PostTyper anymore #​23899
  • Call inhabited for AppliedType recursively #​23964
  • Fix false unreachable case warning #​23800
  • Add subtype-based fallback in inferPrefixMap and recalculate constraints after application #​23771

Presentation Compiler

  • Additional completions for using clause #​23647
  • Completions - do not add [] for ... derives TC@@​ #​23811
  • Improve symbol order in completions provided by the presentation compiler #​23888
  • Porting XRayModeHints #​23891
  • Go to definition and hover for named args in pattern match #​23956
  • Fix parameter untupling for named tuples (#​23440) #​24152
  • Fix possible SuspendException thrown when using macros #​24174
  • Fix completions for named tuples #​24169

Reporting

  • Do not discard amended format when f-interpolator warns #​23697
  • Mention named givens in double def explainer #​23833
  • Compute the right span for abstract error messages #​23853
  • Add quick fix to add .nn #​23598
  • Add addendum to private val parameter variance error message #​23876
  • Fix compiler crash with -Ymagic-offset-header #​24124

Rewrites

  • Deduplicate patches before applying them to sources #​24215

Scaladoc

  • Indicate optional parameters with = ... #​23676
  • Scaladoc Support for Capture & Separation Checking #​23607
  • Capture Calcuclus: don't eagerly drop caps on parameters #​23759
  • Fix rendering of function-type aliases #​24042

SemanticDB

  • Add context parameters to SemanticDB synthetics #​23381
  • Include synthetic apply in semanticdb #​23629

Tuples

  • Fix: make vals created in desugaring of n-ary lambdas non-synthetic #​23896

Typer

  • Prevent crash in SAM conversion with mismatched arity #​23877
  • Handle assertion error in TyperState #​23665
  • Correctly require a ClassTag when building a multidimensional Array #​23902
  • Make isExactlyNothing and isExactlyAny work for And/OrTypes #​24016

Contributors

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

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

    23  Wojciech Mazur
    16  Som Snytt
    11  noti0na1
     6  Martin Odersky
     5  Eugene Flesselle
     4  Hamza Remmal
     4  Natsu Kagami
     4  Oliver Bračevac
     4  Seyon Sivatharan
     3  Piotr Chabelski
     3  Tomasz Godzik
     3  Yoonjae Jeon
     3  dependabot[bot]
     2  Jan Chyb
     2  Kacper Korban
     2  Katarzyna Marek
     2  Li Haoyi
     2  Matt Bovel
     2  aherlihy
     1  Florian3k
     1  HarrisL2
     1  Martin Duhem
     1  Paweł Perłakowski
     1  Vadim Chelyshov
     1  Yichen Xu
     1  Zieliński Patryk
     1  katrinafyi
     1  vder
     1  zielinsky

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 i

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 these updates 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
@renovate renovate bot force-pushed the renovate/scala-3.x branch from 21c81fb to bc2b8ab Compare November 7, 2025 20:48
@renovate renovate bot changed the title chore(deps): update dependency scala to v3.7.3 chore(deps): update dependency scala to v3.7.4 Nov 7, 2025
@chrapkowski-sg chrapkowski-sg force-pushed the main branch 6 times, most recently from 8afa663 to 220a6bf Compare December 18, 2025 12:07
@renovate renovate bot force-pushed the renovate/scala-3.x branch from bc2b8ab to 43ff3b6 Compare January 13, 2026 13:07
@renovate renovate bot changed the title chore(deps): update dependency scala to v3.7.4 chore(deps): update dependency scala to v3.8.0 Jan 13, 2026
@renovate renovate bot force-pushed the renovate/scala-3.x branch from 43ff3b6 to d13cfca Compare January 22, 2026 02:48
@renovate renovate bot changed the title chore(deps): update dependency scala to v3.8.0 chore(deps): update dependency scala to v3.8.1 Jan 22, 2026
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