raboof commented on code in PR #1386:
URL: https://github.com/apache/pekko/pull/1386#discussion_r1668164563


##########
actor-typed/src/main/mima-filters/1.0.x.backwards.excludes/issue-3413.excludes:
##########
@@ -0,0 +1,6 @@
+ProblemFilters.exclude[MissingFieldProblem]("org.apache.pekko.actor.typed.scaladsl.Behaviors.Supervise")
+ProblemFilters.exclude[MissingClassProblem]("org.apache.pekko.actor.typed.scaladsl.Behaviors$Supervise$")
+ProblemFilters.exclude[MissingClassProblem]("org.apache.pekko.actor.typed.scaladsl.Behaviors$Supervise")
+ProblemFilters.exclude[MissingClassProblem]("org.apache.pekko.actor.typed.javadsl.Behaviors$Supervise")
+ProblemFilters.exclude[IncompatibleResultTypeProblem]("org.apache.pekko.actor.typed.scaladsl.Behaviors.supervise")
+ProblemFilters.exclude[IncompatibleResultTypeProblem]("org.apache.pekko.actor.typed.javadsl.Behaviors.supervise")

Review Comment:
   I really think we should not just add things to mima backwards excludes, but 
also add comments why the exclusions are justified.
   
   In this case it looks, to me, like the mima errors were actually legitimate 
and this PR breaks our binary compatibility promises documented at 
https://pekko.apache.org/docs/pekko/current/common/binary-compatibility-rules.html
 and 
https://github.com/apache/pekko/blob/main/CONTRIBUTING.md#binary-compatibility
   
   To make things explicit: suppose we have an application 'A' which uses a 
library 'L' which depends on Pekko 1.0.0 . The point of the binary 
compatibility rules is that it should be safe for 'A' to update to Pekko 1.1.0 
without breaking.
   
   In this case, if `L` contained:
   
   ```
   val s: Behaviors.Supervise = Behaviors.supervise(SupervisedActor.create())
   ```
   
   ... AFAICS this code would throw a runtime exception when executed with any 
Pekko version that has the change in this PR, because `Behaviors.Supervise` no 
longer exists.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscr...@pekko.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscr...@pekko.apache.org
For additional commands, e-mail: notifications-h...@pekko.apache.org

Reply via email to