scalafix-maven-plugin icon indicating copy to clipboard operation
scalafix-maven-plugin copied to clipboard

Update dependency ch.epfl.scala:scalafix-interfaces to v0.13.0

Open renovate[bot] opened this issue 1 year ago • 0 comments

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
ch.epfl.scala:scalafix-interfaces 0.12.1 -> 0.13.0 age adoption passing confidence

Release Notes

scalacenter/scalafix (ch.epfl.scala:scalafix-interfaces)

v0.13.0

Compare Source

Significant changes since v0.12.1

For users
  • An initial version of ExplicitResultTypes for Scala 3 is available.
    • Expect limitations and bugs compared to the Scala 2 version - please report issues when possible, with a compact snippet.
    • Scala 3.3 LTS and Scala 3.5 Next are supported out of the box. Experimental support for Scala 3.4 can be unlocked via ExplicitResultTypes.fetchScala3CompilerArtifactsOnVersionMismatch = true.
    • To try it, the freshly published Scala 3 version of Scalafix must be loaded:
      • If you use scalafix-cli, pick the Scala 3.3.x LTS artifact if your sources are compiled with Scala 3 LTS, or the latest Scala Next otherwise.
      • If you use sbt-scalafix, make sure that scalafixScalaBinaryVersion (deprecated in sbt-scalafix 0.12.1) is not set in your build.
      • A small change is required for other build tools (see below), so reach out to the maintainer of the Scalafix plugin if you keep getting the error "The ExplicitResultTypes rule needs to run with the same Scala binary version as the one used to compile target sources" after upgrading.
  • Scala 3.3.4 exposes unused warnings to SemanticDB, so RemoveUnused and OrganizeImports.removeUnused can now be used on sources compiled with Scala 3.3 LTS (Scala 3.4+ was already supported since Scalafix 0.12.0).
For rule authors
  • Scalafix is now cross-built & tested against the latest Scala 2.x patch releases (2.12.20 & 2.13.15), unlocking upgrades of your builds depending on scalafix-testkit.
  • Scalameta was bumped from 4.9.3 to 4.10.1, bringing many bugfixes and a few features, as well as some tree hierarchy changes in the parser, breaking forward & backward compatibility. See https://github.com/scalacenter/scalafix/pull/2079 to tell whether your rule(s) are impacted, and https://github.com/scalameta/scalameta/issues/3913 to understand the changes.
  • Despite the support of the built-in rule ExplicitResultTypes for Scala 3, scalafix-core is not yet published for Scala 3, so you should stick to cross-building for Scala 2.12 & 2.13 only. Check https://github.com/scalacenter/scalafix/issues/2041 if you are curious about the current blockers and the next steps on that journey.
For tooling maintainers (scalafix-interfaces clients)
  • To support ExplicitResultTypes on Scala 3 sources, scalafix-interfaces can and should classload the freshly published Scala 3 artifacts. You should therefore remove the fallback to 2.13 when targeting Scala 3 sources. Also, to better support Scala 3 LTS, the full Scala version should be passed to Scalafix.fetchAndClassloadInstance() instead of the binary one. See https://github.com/scalacenter/sbt-scalafix/pull/430 as an example of expected changes.

Pull Requests

Rules
Framework
Docs
Updates

Configuration

📅 Schedule: 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[bot] avatar Sep 30 '24 00:09 renovate[bot]