Skip to content

Conversation

@renovate
Copy link
Contributor

@renovate renovate bot commented Nov 1, 2025

This PR contains the following updates:

Package Change Age Confidence
com.github.spotbugs 6.2.5 -> 6.4.4 age confidence
com.diffplug.spotless 7.2.1 -> 8.0.0 age confidence
org.scala-lang:scala3-library_3 3.7.1 -> 3.7.3 age confidence
org.mockito:mockito-junit-jupiter 5.19.0 -> 5.20.0 age confidence
org.mockito:mockito-core 5.19.0 -> 5.20.0 age confidence
com.google.truth:truth 1.4.4 -> 1.4.5 age confidence
org.junit.jupiter:junit-jupiter (source) 5.13.3 -> 6.0.1 age confidence
com.github.spotbugs:spotbugs-annotations (source) 4.9.4 -> 4.9.8 age confidence
com.google.guava:guava 33.4.8-jre -> 33.5.0-jre age confidence
org.apache.logging.log4j:log4j-slf4j2-impl (source) 2.25.1 -> 2.25.2 age confidence
org.apache.logging.log4j:log4j-api (source) 2.25.1 -> 2.25.2 age confidence
org.apache.logging.log4j:log4j-core (source) 2.25.1 -> 2.25.2 age confidence

Release Notes

scala/scala3 (org.scala-lang:scala3-library_3)

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
mockito/mockito (org.mockito:mockito-junit-jupiter)

v5.20.0

Compare Source

Changelog generated by Shipkit Changelog Gradle Plugin

5.20.0
  • 2025-09-20 - 11 commit(s) by Adrian-Kim, Giulio Longfils, Rafael Winterhalter, dependabot[bot]
  • Bump org.assertj:assertj-core from 3.27.4 to 3.27.5 (#​3730)
  • Introducing the Ability to Mock Construction of Generic Types (#​2401) (#​3729)
  • Bump com.gradle.develocity from 4.1.1 to 4.2 (#​3726)
  • Bump graalvm/setup-graalvm from 1.3.6 to 1.3.7 (#​3725)
  • Bump org.eclipse.platform:org.eclipse.osgi from 3.23.100 to 3.23.200 (#​3720)
  • Bump graalvm/setup-graalvm from 1.3.5 to 1.3.6 (#​3719)
  • Bump actions/setup-java from 4 to 5 (#​3715)
  • Bump com.gradle.develocity from 4.1 to 4.1.1 (#​3713)
  • Bump bytebuddy from 1.17.6 to 1.17.7 (#​3712)
  • test: Use Assume.assumeThat for SequencedCollection tests (#​3711)
  • Fix #​3709 (#​3710)
  • feat: Add support for JDK21 Sequenced Collections. (#​3708)
  • Introducing the Ability to Mock Construction of Generic Types (#​2401)
google/truth (com.google.truth:truth)

v1.4.5: 1.4.5

Compare Source

  • Changed assertions like assertThat(nullMap).isEmpty() to fail with a useful failure message instead of throwing NullPointerException (and similarly for other "bogus" values, such as negative sizes). (da5d6e9)
  • Made Kotlin's isInstanceOf(Int::class.java) (and Java's isInstanceOf(int.class)) a valid way to check for Int/Integer instances. (974ef19)
  • Improved isWithin to pretty-print numbers in its failure messages. (de78553, 07318c2)
  • Improved some assertions that print class names to print simpler names (e.g., Integer instead of java.lang.Integer). (0ba72d6)
  • Changed ExpectFailure to never generate "value of" lines based on bytecode. This slightly simplifies writing new tests with ExpectFailure and prevents future behavior changes in some ExpectFailure tests that already exist. However, it may also require changes to other existing ExpectFailure tests to remove or change any assertions about the "value of" line. (3caa0e8)
  • Our Android minSdkVersion is now 23 (Marshmallow). This follows the minimum of Google's foundational Android libraries, and we expect it to have no practical impact on users. (c85c75c)
  • Changed our GWT/J2CL artifact to omit usages of @NullMarked. This was making all our types non-null in those environments, since we don't yet use @Nullable in the GWT/J2CL artifact. (6392d37)
spotbugs/spotbugs (com.github.spotbugs:spotbugs-annotations)

v4.9.8

Compare Source

Fixed
  • Maven plugin reporting issue if -adjustPriority is not set (#​3774)

v4.9.7

Compare Source

Fixed
  • Fix Eclipse not always using latest preferences file state (#​3740)
  • Fix exception throw when singleton implementing Cloneable has no clone() method (#​3727)
  • Fix for missing -adjustPriority parameter in Eclipse preferences (#​3687)
  • Documentation of -adjustPriority parameter
  • Functionality from DetectorFactory setEnabledButNonReporting(), getPriorityAdjustment() methods and BugInstance.adjustForDetector() is deprecated and moved to PriorityAdjuster (#​3753)
  • Improved FindNakedNotify to handle the case when the lock is loaded from a field (#​3634)
Changed
  • Support for fully qualified class names for detectors in -adjustPriority parameter
  • Support for numerical and absolute priority adjustments
  • Bump up Apache Commons BCEL to the version 6.11.0 (#​3569)
Deprecated
  • Add back and deprecate edu.umd.cs.findbugs.io.IO.close(InputStream) method. (#​3756)
Build
  • Allow our GA builds to work with JDK 25 (and drop support for JDK 24) (#​3564)

v4.9.6

Compare Source

Fixed
  • Fix exception throw when analyzing jakarta.servlet.http.HttpServletRequest method calls (#​3711)

v4.9.5

Compare Source

Fixed
  • Fix for an error when a record method has the @SuppressFBWarnings annotation (#​3622)
  • Fix SF_SWITCH_FALLTHROUGH false positive when continuing a loop (#​3617)
  • CWO_CLOSED_WITHOUT_OPENED false positive (#​3616)
  • SF_SWITCH_NO_DEFAULT false positive fix for switch-arrow (#​3645)
  • Fix the issue with BCEL logging Duplicating value: ... (#​3621)
  • Add missing jakarta support for servlets / pre/post destroy (#​3694)
Added
  • Add 'java.nio.file.Path.of' to known types for path traversal checks (#​3699)
Cleanup
  • S1481: Unused local variables should be removed (#​3654)
  • Moved test libraries to jakarta namespace including switching off jsr305 where possible for jakarta.annotation (#​3695)

Configuration

📅 Schedule: Branch creation - Between 12:00 AM and 03:59 AM, on day 1 of the month ( * 0-3 1 * * ) (UTC), Automerge - At any time (no schedule defined).

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

Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.


  • 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 dependencies Pull requests that update a dependency file label Nov 1, 2025
@codecov
Copy link

codecov bot commented Nov 1, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 72.72%. Comparing base (f09b148) to head (5a16b3b).

Additional details and impacted files
@@            Coverage Diff            @@
##               main     #265   +/-   ##
=========================================
  Coverage     72.72%   72.72%           
  Complexity        4        4           
=========================================
  Files             3        3           
  Lines            11       11           
=========================================
  Hits              8        8           
  Misses            1        1           
  Partials          2        2           
Flag Coverage Δ
integration-tests-macos-latest 80.00% <ø> (ø)
integration-tests-ubuntu-latest 80.00% <ø> (ø)
integration-tests-windows-latest 80.00% <ø> (ø)
unit-tests-macos-latest 72.72% <ø> (ø)
unit-tests-ubuntu-latest 72.72% <ø> (ø)
unit-tests-windows-latest 72.72% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant