Update dependency com.typesafe:mima-core_2.13 to v1.2.1 - #179
Merged
Merged
Conversation
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: ASSERTIVE Plan: Advanced Run ID: 📒 Files selected for processing (1)
Included review availability: Your plan provides up to 10 included reviews per hour; 9 remain after this review. 📜 Recent review details⏰ Context from checks skipped due to timeout. (4)
🔇 Additional comments (1)
📝 WalkthroughWalkthroughThe MiMa core dependency updates from version ChangesMiMa dependency update
Priority: ⬇️ Low Estimated code review effort: 1 (Trivial) | ~5 minutes Change: Other Suggested reviewers: 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
1.2.0→1.2.1Release Notes
scala-garden/mima (com.typesafe:mima-core_2.13)
v1.2.1: 1.2.1Compare Source
NOTE: If you're upgrading from 1.1.6, see also the release notes for 1.2.0.
New: warning before MiMa stops checking a definition
A public definition that becomes
private[foo], or a nested class that becomesprivate, is still public in bytecode, so nothing breaks yet. But from that version on MiMa no longer checks it, and removing it later was not reported, although code compiled against the old version still calls it. #976MiMa now reports the version where that happens, with three new problems:
MethodNoLongerCheckedProblem: a public method or constructor becomesprivate[foo].ClassNoLongerCheckedProblem: a class is no longer public, and no public signature exposes it.HierarchyNoLongerCheckedProblem: a type becomes sealed with all its subtypes closed. MiMa stops reporting abstract methods added to it later, which would break clients that implement it today.The next section explains how to address these new reports.
New:
mimaBinaryApiFiltering (silencing) one of the three reports above is not the correct action: once
mimaPreviousArtifactspoints to a new version, MiMa would no longer check the definition (it'sprivate[foo]now). To keep it checked, add it tomimaBinaryApi:MiMa then checks
fas if it were public, and removing it later is reported. Entries can also go insrc/main/mima-filters/binary-api. The report suggests them ready to paste, and warns about an entry that has no effect. #984On Scala 3.4+,
@publicInBinaryhas the same effect.See also Keeping a definition checked.
Filters can name a single overload
A filter can name a method with its signature, as the report prints it, so it applies to that overload only:
A name without a signature still covers every overload, so existing filters keep working. Suggested filters and
mimaBinaryApientries now carry the signature. #985Memory use
MiMa 1.2.0 could run out of heap on multi-module builds, because its escape analysis walked the whole classpath and the JDK. It now stays within the compared artifact. #978 (by @mkurz)
Fewer false negatives
trait T { self: U => }) were mistaken forprivate[foo]and not checked. #983@publicInBinarymembers are checked like public ones. #979protected[foo]members were ignored. They are now checked likeprotectedones, since a subclass anywhere can call them. #976Fewer false positives
objectmethods are no longer reported, since they are only for Java interop (MiMa does not protect Java clients elsewhere either). MiMa continues checking the object methods. #987, and #986 (by @kitbellew) before it.Documentation
The README now says what MiMa checks: the API as Scala code sees it. It lists the changes that break only Java clients and go unreported, and says what
mimaReportSignatureProblemscompares and where that falls short. #987Credits
Thank you to @kitbellew and @mkurz for your contributions!
Configuration
📅 Schedule: (UTC)
🚦 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.
This PR was generated by Mend Renovate. View the repository job log.
Summary by CodeRabbit