Skip to content

0.4.0

Compare
Choose a tag to compare
@raboof raboof released this 09 Jul 13:45
0.4.0
d914fe0

Breaking changes

When mimaPreviousArtifacts is not set, default mimaReportBinaryIssues to fail

As of v0.4.0 mimaReportBinaryIssues will, by default, fail if mimaPreviousArtifacts is empty, to avoid users thinking they're checking binary-compatibility when they aren't.

You may need to apply one of the following to mitigate this change:

  • set mimaPreviousArtifacts for all the projects that should be checking their binary compatibility
  • set mimaFailOnNoPrevious := false on specific projects that want to opt-out (alternatively disablePlugins(MimaPlugin))
  • set mimaFailOnNoPrevious in ThisBuild := false, which disables it build-wide, effectively reverting back to the previous behaviour

#263 / #289

Dropped sbt 0.13 support

As of v0.4.0 MiMa no longer supports sbt 0.13 and is only available for sbt 1.x. We encourage you to update to sbt 1.x, and until that time use keep using MiMa v0.3.0.

#269 / #272

Dropped Scala 2.10 support

Support for Scala 2.10 has also been dropping, meaning you should continue to use MiMa v0.3.0 to verify binary compatibility of a Scala 2.10 project.

#248 / #272

Improvements

Checking generic signatures

This release introduces a new problem type, the IncompatibleSignatureProblem. This problem is reported when a method's erased signature has remained the same, but its full type signature has changed. Such a change is not always binary incompatible, but typically worthwhile to manually investigate and explicitly confirm. You can exclude all such problems with a ProblemFilters.exclude[IncompatibleSignatureProblem]("*").

This change also fixes a problem where IncompatibleResultTypeProblem instances were missed. This means that this upgrade may require adding filters for old, but previously undetected, incompatibilities.

#40 / #299

Additional improvements

  • #162 / #254 Don't fail if an effectively final method becomes final
  • #201 / #295 Don't fail when migrating from Java varargs to @varargs
  • #168 / #323 Handle mimaPreviousArtifacts with dots in their name
  • #239 Allow multiple filter files per version to be loaded from a directory
  • #238 Improve the error message when filter files fail to be processed
  • #305 Subsume the mima-reporter project (and jar) into mima-core

For full details see the 0.4.0 milestone and/or the 0.3.0...0.4.0 changelog.