Skip to content

Update dependency scala to v3.8.4#359

Open
renovate[bot] wants to merge 1 commit into
mainfrom
renovate/scala-3.8.x
Open

Update dependency scala to v3.8.4#359
renovate[bot] wants to merge 1 commit into
mainfrom
renovate/scala-3.8.x

Conversation

@renovate

@renovate renovate Bot commented Jun 1, 2026

Copy link
Copy Markdown
Contributor

This PR contains the following updates:

Package Change Age Confidence
scala (source) 3.8.33.8.4 age confidence

Release Notes

scala/scala3 (scala)

v3.8.4

Compare Source

Highlights of the release

Other changes and fixes

Annotations

  • Also copy param annots at mixin #​24916
  • Named arg may be deprecatedName #​21588
  • Use dealiasKeepRefiningAnnots in AvoidMap #​25609

Backend

  • Do not simplify isInstanceOf if unrelated types might be subtypes at run-time #​25535
  • Port more Scala2 tests + some mixin improvements #​25573
  • Use Objects.equals in translating == #​25314

Compiler Phases

  • Harden Period creation and use of Run/PhaseId #​25484
  • Make Phase.run protected #​25366

Context Functions

  • Fix crash when processing path dependent context functions using HKTs #​25530

Coverage

  • Fix #​25555: Preserve singleton precision during scoverage lifting #​25556
  • Fixes #​25482: Ensure package transformation properly handles language imports in InstrumentCoverage #​25546
  • Scoverage: do not instrument erased values. #​25298

Default parameters

  • Fix named arguments evaluation order with by-name parameters #​25161
  • Typer: remove by-name lifting and replace default-getter args with fresh syms #​25502

Documentation

  • Error mentions bad _1 selector #​25616
  • Document Scala compiler error codes #​24734
  • Fix capture checking doc links in language.scala #​25498
  • Docs: apply snippet compiler on new types reference docs #​19513
  • Remove outdated comment in value classes #​25428
  • Update IsIterable scaladoc #​24692

Enums

  • Make enum apply ascriptions inferred types #​25562

Extension Methods

  • Accept using right associative parameters #​24766
  • Better handling of illegal trees in extension #​25368

GADTs

  • Also trust TypeTest when there is a Bind #​24568

Implicits

  • Deprecation when inferring implicit from non-accessible companion #​25516
  • Fix missing deprecation warning for implicit in non-accessible companion #​25608
  • Update migration message #​25627

Inline

  • Ensure the inline match scrutinee type conforms to the recalculated type #​24988
  • Do not update Symbol defTrees when retyping after Inlining #​23870
  • Inlines: decide sealing against original target, while using widened type as cast destination #​25448
  • Do not generate access proxies for locally defined protected defs #​25056
  • Avoid useless scrutinee proxy vals in inline match reduction #​25279
  • Improve the test for creating protected method accessors for inlines #​25865

Linting

  • Match apply in PolyFunction for override #​25505
  • Value discard checks inline call for exemption #​25554
  • Introduce error message ids for shadow warnings #​25101
  • Warn if for with many vals and overloaded map #​25090

Match Types

  • Restore MatchTypeNoCases warning with correct source position #​25470

Named Tuples

  • Fix Ycheck crash from singleton tuple selects after specialization #​25331
  • Fix #​23621: make named tuples exhaustive checkable #​25267

Nullability

  • Patch to allow interop with XMLBuilder and -Yexplicit-nulls #​25221
  • Be honest about the nullability of ConsoleReporter.reader and SourcePosition.outer. #​25561

Opaque Types

Overloading

  • Pretype args before skipping clause of overloaded application #​23012

Parser

  • Fix #​20063: Java leading annotation parsing #​25503
  • Observe outdent also for type cases and type blocks in quotes #​25519
  • Fix: import resolution for Java #​25537
  • Fix #​25456: parser crash on polymorphic context bound #​25623
  • Accept primitive.class in annotations #​25363
  • InCase has indent width of case #​25295
  • Don't automatically insert OUTDENT before COMMA #​25501
  • Add "did you mean to use parentheses/a block" when finding a complex expression on the RHS of an infix operator #​25099
  • Pat var must be isVarPattern #​25701
  • Don't pop outermost region when skipping #​25738
  • Context bound always has a span #​25809
  • Don't lookahead from interpolation #​25834

Pattern Matching

  • Clean desugaring of simple tuple assignments #​25010
  • Extend caching in the space engine beyond local context #​23483
  • Prevent from getting children in case of non-sealed private #​25359
  • Use MatchCaseUnreachable #​24829
  • Fix wrong exhaustive check with sequence wildcard on case class with custom unapply #​24260
  • Try expanding case class to the product of its fields #​25454
  • Fix false-positive pat mat unreachable case warning #​25978

Positions

  • Preserve span of this during statification of trait constructors #​25354

Presentation Compiler

  • Improvement: Add fallbacks in non critical places for presentation compiler #​25483
  • Improvement: Use method type if it's available #​25641
  • Bugfix: Fix wrong type in InferredType code action #​25469
  • Fix & feat: improvements in selection ranges #​25290
  • Fix: ignore implicit apply for signature help #​25294
  • Bugfix: remove stale top-level symbols between runs #​25317
  • feature: Improve the logical sources provider #​26079

Quotes

  • Fix crashing for context bound type variables in quoted patterns #​25286
  • Remove redundant mapOver in fixThisTypeModuleClassReferences #​25440
  • Improve LambdaTypes handling in Quotes reflect memberType #​25786

Reflection

  • Fix Select.copy in reflect API losing DerivedName for default getters #​25269
  • Do not expose ClassInfo in memberType in reflect API #​24922

Reporting

  • Force conditional warnings when configured #​25552
  • Suppressions before finalize #​25576
  • Use dollar-free param names in stub implementations #​25646
  • Fix #​24711: Use dot notation for Java nested types in error messages #​24919
  • Use deprecatedOverriding message #​25439
  • Improve message for misplaced using #​15624
  • Use other tree for actual symbol of Assign #​22869
  • Add ErrorMessageID to -Winfer-union warnings (#​25073) #​25249
  • Fix TastyPrinter's JAR-walking logic to include subdirectories #​25678

REPL

  • Allow global language imports in REPL and snippet compiler #​25458
  • Fix all REPL tests when production behavior is enabled #​25449
  • Add setting to control REPL print height #​25560
  • Fix #​25691: scalaXml Elem rendering in repl #​25781
  • Fix Ctrl+C handling in the REPL #​25782
  • Fix "Fix Ctrl-C Handling in the REPL" #​25835

Rewrites

  • Fix incorrect rewrite of expr _ when expr has a function type #​25457

Runner

  • Fix for #​22443: prevent stty from being called when not running in a terminal #​22444

Scala.js

Scaladoc

  • Use <sup> tags for exponents in Scaladoc comments #​25645
  • Do not hide when a class or a trait extends Any #​25403
  • Do not generate documentation for AnyVal, it exists now #​25399
  • Ability to hide snippets from the documentation #​25411
  • Update scaladoc signature for given methods #​25325
  • Fetch the right kind for synthesised definitions #​25405
  • Scaladoc: Take title from sidebar.yml into account #​18997
  • Bump jackson-* to 3.1.2 (was 2.15.1) #​25785
  • Parse HTML properly in Scaladoc #​25681

SemanticDB

  • Encapsulate SemanticDB package, unify symbol and document printing #​25084
  • Better refinement symbols in semanticDB #​18604

Standard Library

  • Array.range trusts NumericRange.count #​24878
  • Chore: optimize lazy val with power of two. #​22428
  • Move process parse exceptions to sys.error instead of a custom exception #​25675

Syntax

  • Check protected parent constructor accesses only occurs in child constructors #​25511
  • Fix protected constructor access #​25523
  • Do not warn for package object at the top level #​25826

TASTy

  • Fix infinite loop with bad section ends in TastyHeaderUnpickler #​25676

Tooling

  • Fix MSI installer reporting wrong Scala version on Windows #​25591
  • Fix -Ymagic-offset-header for DoubleDefinition error and implicitNotFound errors, and remove global unmanaged cache #​25706

Transform

  • Always encode in derived name #​23478
  • Fix "Scala 3.8.3 compiling covariant overrides with separate compilation causes AbstractMethodError at runtime" #​25659
  • Do not overwrite the supertype of non-trait super in Erasure #​26081

Tuples

  • Normalize tuple types when typing patterns #​25335
  • Rewrite Desugar.makePatDef to fix typing issues and be more understandable #​24972

Typeclass Derivation

Typer

  • Preserve pattern, use tuple type when optimizing #​25566
  • Detect InsertedApply on Apply to break synthetic apply loops, not just Select #​25463
  • Fail self-recursive deferred given impl #​22595
  • Use TypeComparer.constValue in TypeEval #​24718
  • Add the transparent flag to java.lang.Object #​25394
  • Make type arguments to default methods InferredTypeTrees #​25852

Experimental: Capture Checking

  • Distribute capture set into and-type on RHS of comparison #​25509
  • Fix global capabilities support in scaladoc #​25563
  • Improve capture-error precision for lambdas #​25583
  • Make result types of hoisted superArg defs InferredTypes #​25577
  • Transform result any to fresh in Setup.transformSym #​25584
  • Propagate expected types when rechecking match return expressions #​25580
  • Drop assertion in toFunctionType #​25628
  • Delay normalization of capture sets of vals and defs #​25640
  • Fluidify explicit self types for non-CC classes #​25639
  • Add missing TypeMap in Setup: FreshCapToResult #​25648
  • Fixes for capture checking case class methods #​25278
  • Don't add capture variables for type arguments with pure upper bounds #​25316
  • Two fixes for #​25251 #​25488
  • Fixed #​25430: Add missing CaptureChecked flag during ExpandSAMs #​25443
  • Fix accessibility check for any's in static objects #​25582
  • Disallow type parameters in OnlyCapability annotations #​25496
  • Capture check Try #​25072
  • Make Capability types have implied capture sets for new #​25346

Experimental: Safe Mode

  • Enhance safe mode #​25638
  • Fixes to Safe Mode Checking #​25603
  • Reject scala.runtime's mutable refs in safe mode #​25749
  • Tweak SafeRefs allow list for java.util classes #​25783
  • Tune SafeRefs allow list for scala.util classes #​25787
  • Require explicit types in assumeSafe definitions in the empty package #​25795
  • Skip checkSafeAnnots for synthetic symbols #​25773
  • Reject News with unsupported Java classes #​25761

Experimental: Explicit Nulls

  • Recognize Nullable annotations in explicit nulls #​25237

Contributors

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

According to git shortlog -sn --no-merges 3.8.3..3.8.4 these are:

   156	Solal Pirelli
    84	Martin Odersky
    45	Wojciech Mazur
    36	Som Snytt
    15	Piotr Chabelski
    13	Matt Bovel
    13	Tomasz Godzik
    12	Hamza Remmal
    12	Rikito Taniguchi
    10	Jan Chyb
     9	Oliver Bračevac
     9	noti0na1
     8	Yichen Xu
     8	dependabot[bot]
     7	Jakub Warchoł
     5	Emil Ejbyfeldt
     4	Kenji Yoshida
     4	Li Haoyi
     3	Anatolii Kmetiuk
     3	HarrisL2
     3	Lukas Rytz
     3	Sébastien Doeraene
     2	110416
     2	James You
     2	Matt Dziuban
     2	Ondřej Lhoták
     2	Patryk Zieliński
     2	Ruslan Shevchenko
     1	Aviral Garg
     1	Bbn08
     1	Eugene Flesselle
     1	Harrishan Raveendran
     1	He-Pin(kerr)
     1	Jakub Cieśluk
     1	Jeon Yoonjae
     1	Mark Hammons
     1	Natsu Kagami
     1	Oliver Marienfeld
     1	Piotr Paradziński
     1	Vadim Chelyshov
     1	philwalk

Configuration

📅 Schedule: (UTC)

  • Branch creation
    • At any time (no schedule defined)
  • Automerge
    • At any time (no schedule defined)

🚦 Automerge: Enabled.

Rebasing: Whenever PR is behind base branch, 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.8.x branch from d1c2927 to 13ea340 Compare June 3, 2026 22:10
@renovate renovate Bot force-pushed the renovate/scala-3.8.x branch 9 times, most recently from 4713b31 to f8ff12a Compare June 18, 2026 00:49
@renovate renovate Bot force-pushed the renovate/scala-3.8.x branch 3 times, most recently from cb75263 to ec8294b Compare June 22, 2026 06:00
@renovate renovate Bot force-pushed the renovate/scala-3.8.x branch from ec8294b to 66e9546 Compare June 23, 2026 15:44
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