0.4.0
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 (alternativelydisablePlugins(MimaPlugin)
) - set
mimaFailOnNoPrevious in ThisBuild := false
, which disables it build-wide, effectively reverting back to the previous behaviour
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.
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.
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.
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.