This is an automated email from the ASF dual-hosted git repository.

pjfanning pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/pekko.git


The following commit(s) were added to refs/heads/main by this push:
     new a2ab4a06fb Update sbt-mima-plugin to 1.2.1 (#3558)
a2ab4a06fb is described below

commit a2ab4a06fb080c95a4deeb1f1cd4a5dc537de2c4
Author: Scala Steward <[email protected]>
AuthorDate: Thu Sep 24 12:07:20 2026 +0200

    Update sbt-mima-plugin to 1.2.1 (#3558)
    
    * Update sbt-mima-plugin to 1.2.1
    
    * Keep narrowed definitions checked for sbt-mima-plugin 1.2.1
    
    Motivation:
    sbt-mima-plugin 1.2.1 reports definitions that were public in 1.0.0 but are
    now private[pekko] or sealed as ClassNoLongerCheckedProblem,
    MethodNoLongerCheckedProblem or HierarchyNoLongerCheckedProblem, because it
    stops watching them even though the bytecode stays public. The
    Check / Binary Compatibility job failed on actor, stream, remote,
    cluster-sharding and cluster-sharding-typed with 29 such reports.
    
    Modification:
    Add a src/main/mima-filters/binary-api file to each of the five modules with
    the BinaryApi.keep entries the report suggested. This keeps MiMa checking
    those definitions instead of silencing them with ProblemFilters, so a later
    removal is still reported against clients compiled against 1.0.x.
    
    Result:
    mimaReportBinaryIssues passes with sbt-mima-plugin 1.2.1 and the narrowed
    definitions remain under binary compatibility checking.
    
    Tests:
    - Not run locally; the 29 entries are the lines suggested by the failing
      Check / Binary Compatibility job, verified by diff. CI re-runs the check.
    
    References:
    None - follow-up for the sbt-mima-plugin 1.2.1 bump in this PR
    
    ---------
    
    Co-authored-by: PJ Fanning <[email protected]>
---
 actor/src/main/mima-filters/binary-api             | 33 ++++++++++++++++++
 .../src/main/mima-filters/binary-api               | 22 ++++++++++++
 cluster-sharding/src/main/mima-filters/binary-api  | 22 ++++++++++++
 project/plugins.sbt                                |  2 +-
 remote/src/main/mima-filters/binary-api            | 23 +++++++++++++
 stream/src/main/mima-filters/binary-api            | 39 ++++++++++++++++++++++
 6 files changed, 140 insertions(+), 1 deletion(-)

diff --git a/actor/src/main/mima-filters/binary-api 
b/actor/src/main/mima-filters/binary-api
new file mode 100644
index 0000000000..64a8d9b6f1
--- /dev/null
+++ b/actor/src/main/mima-filters/binary-api
@@ -0,0 +1,33 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+
+# Definitions that were narrowed to private[pekko] or sealed in 2.0.x but are 
still public in
+# bytecode. Kept checked so a later removal is still reported against clients 
compiled
+# against 1.0.x. See 
https://github.com/scala-garden/mima#keeping-a-definition-checked
+
+# org.apache.pekko.dispatch.BalancingDispatcher escaped through 
org.apache.pekko.dispatch.BalancingDispatcherConfigurator.create
+BinaryApi.keep[ClassNoLongerCheckedProblem]("org.apache.pekko.dispatch.BalancingDispatcher")
+BinaryApi.keep[ClassNoLongerCheckedProblem]("org.apache.pekko.dispatch.BalancingDispatcherConfigurator")
+BinaryApi.keep[HierarchyNoLongerCheckedProblem]("org.apache.pekko.io.Dns$Command")
+# org.apache.pekko.pattern.BackoffReset escaped through 
org.apache.pekko.pattern.BackoffSupervisor.reset
+BinaryApi.keep[ClassNoLongerCheckedProblem]("org.apache.pekko.pattern.BackoffReset")
+# org.apache.pekko.pattern.HandleBackoff escaped as a parent of class 
org.apache.pekko.pattern.internal.BackoffOnStopSupervisor, class 
org.apache.pekko.pattern.BackoffSupervisor
+BinaryApi.keep[ClassNoLongerCheckedProblem]("org.apache.pekko.pattern.HandleBackoff")
+# org.apache.pekko.pattern.HandlingWhileStopped escaped through 
org.apache.pekko.pattern.internal.BackoffOnStopSupervisor.this, as a parent of 
class org.apache.pekko.pattern.BackoffSupervisor
+BinaryApi.keep[ClassNoLongerCheckedProblem]("org.apache.pekko.pattern.HandlingWhileStopped")
+# org.apache.pekko.pattern.internal.BackoffOnStopSupervisor escaped as a 
parent of class org.apache.pekko.pattern.BackoffSupervisor
+BinaryApi.keep[ClassNoLongerCheckedProblem]("org.apache.pekko.pattern.internal.BackoffOnStopSupervisor")
diff --git a/cluster-sharding-typed/src/main/mima-filters/binary-api 
b/cluster-sharding-typed/src/main/mima-filters/binary-api
new file mode 100644
index 0000000000..bab4205e28
--- /dev/null
+++ b/cluster-sharding-typed/src/main/mima-filters/binary-api
@@ -0,0 +1,22 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+
+# Definitions that were narrowed to private[pekko] in 2.0.x but are still 
public in
+# bytecode. Kept checked so a later removal is still reported against clients 
compiled
+# against 1.0.x. See 
https://github.com/scala-garden/mima#keeping-a-definition-checked
+
+BinaryApi.keep[MethodNoLongerCheckedProblem]("org.apache.pekko.cluster.sharding.typed.ClusterShardingSettings#PassivationStrategySettings.this(scala.Option,scala.Option,scala.Option,scala.Option)Unit")
diff --git a/cluster-sharding/src/main/mima-filters/binary-api 
b/cluster-sharding/src/main/mima-filters/binary-api
new file mode 100644
index 0000000000..f8f6e52651
--- /dev/null
+++ b/cluster-sharding/src/main/mima-filters/binary-api
@@ -0,0 +1,22 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+
+# Definitions that were narrowed to private[pekko] in 2.0.x but are still 
public in
+# bytecode. Kept checked so a later removal is still reported against clients 
compiled
+# against 1.0.x. See 
https://github.com/scala-garden/mima#keeping-a-definition-checked
+
+BinaryApi.keep[ClassNoLongerCheckedProblem]("org.apache.pekko.cluster.sharding.PersistentShardCoordinator")
diff --git a/project/plugins.sbt b/project/plugins.sbt
index 2fe2208fff..a7bf97438c 100644
--- a/project/plugins.sbt
+++ b/project/plugins.sbt
@@ -15,7 +15,7 @@ addSbtPlugin("com.lightbend.sbt" % "sbt-bill-of-materials" % 
"1.1.1")
 addSbtPlugin("org.scalameta" % "sbt-scalafmt" % "2.6.2")
 addSbtPlugin("ch.epfl.scala" % "sbt-scalafix" % "0.14.9")
 addSbtPlugin("com.github.sbt" % "sbt-osgi" % "0.10.0")
-addSbtPlugin("com.typesafe" % "sbt-mima-plugin" % "1.2.0")
+addSbtPlugin("com.typesafe" % "sbt-mima-plugin" % "1.2.1")
 addSbtPlugin("com.github.sbt" % "sbt-unidoc" % "0.6.1")
 addSbtPlugin("com.thoughtworks.sbt-api-mappings" % "sbt-api-mappings" % 
"3.1.0")
 addSbtPlugin("pl.project13.scala" % "sbt-jmh" % "0.4.8")
diff --git a/remote/src/main/mima-filters/binary-api 
b/remote/src/main/mima-filters/binary-api
new file mode 100644
index 0000000000..55659b6088
--- /dev/null
+++ b/remote/src/main/mima-filters/binary-api
@@ -0,0 +1,23 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+
+# Definitions that were narrowed to private[pekko] in 2.0.x but are still 
public in
+# bytecode. Kept checked so a later removal is still reported against clients 
compiled
+# against 1.0.x. See 
https://github.com/scala-garden/mima#keeping-a-definition-checked
+
+BinaryApi.keep[MethodNoLongerCheckedProblem]("org.apache.pekko.remote.transport.netty.NettyTransportSettings.PortSelector()Int")
+BinaryApi.keep[MethodNoLongerCheckedProblem]("org.apache.pekko.remote.transport.netty.NettyTransportSettings.BindPortSelector()Int")
diff --git a/stream/src/main/mima-filters/binary-api 
b/stream/src/main/mima-filters/binary-api
new file mode 100644
index 0000000000..927817bb0e
--- /dev/null
+++ b/stream/src/main/mima-filters/binary-api
@@ -0,0 +1,39 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+
+# Definitions that were narrowed to private[pekko] or sealed in 2.0.x but are 
still public in
+# bytecode. Kept checked so a later removal is still reported against clients 
compiled
+# against 1.0.x. See 
https://github.com/scala-garden/mima#keeping-a-definition-checked
+
+BinaryApi.keep[ClassNoLongerCheckedProblem]("org.apache.pekko.stream.ActorMaterializer")
+BinaryApi.keep[ClassNoLongerCheckedProblem]("org.apache.pekko.stream.ActorMaterializer$")
+BinaryApi.keep[MethodNoLongerCheckedProblem]("org.apache.pekko.stream.ActorMaterializerSettings.initialInputBufferSize()Int")
+BinaryApi.keep[MethodNoLongerCheckedProblem]("org.apache.pekko.stream.ActorMaterializerSettings.maxInputBufferSize()Int")
+BinaryApi.keep[MethodNoLongerCheckedProblem]("org.apache.pekko.stream.ActorMaterializerSettings.dispatcher()java.lang.String")
+BinaryApi.keep[MethodNoLongerCheckedProblem]("org.apache.pekko.stream.ActorMaterializerSettings.supervisionDecider()scala.Function1")
+BinaryApi.keep[MethodNoLongerCheckedProblem]("org.apache.pekko.stream.ActorMaterializerSettings.debugLogging()Boolean")
+BinaryApi.keep[MethodNoLongerCheckedProblem]("org.apache.pekko.stream.ActorMaterializerSettings.outputBurstLimit()Int")
+BinaryApi.keep[MethodNoLongerCheckedProblem]("org.apache.pekko.stream.ActorMaterializerSettings.fuzzingMode()Boolean")
+BinaryApi.keep[MethodNoLongerCheckedProblem]("org.apache.pekko.stream.ActorMaterializerSettings.autoFusing()Boolean")
+BinaryApi.keep[MethodNoLongerCheckedProblem]("org.apache.pekko.stream.ActorMaterializerSettings.maxFixedBufferSize()Int")
+BinaryApi.keep[MethodNoLongerCheckedProblem]("org.apache.pekko.stream.ActorMaterializerSettings.syncProcessingLimit()Int")
+BinaryApi.keep[MethodNoLongerCheckedProblem]("org.apache.pekko.stream.ActorMaterializerSettings.blockingIoDispatcher()java.lang.String")
+BinaryApi.keep[MethodNoLongerCheckedProblem]("org.apache.pekko.stream.ActorMaterializerSettings.withDispatcher(java.lang.String)org.apache.pekko.stream.ActorMaterializerSettings")
+BinaryApi.keep[ClassNoLongerCheckedProblem]("org.apache.pekko.stream.ActorMaterializerSettings$")
+BinaryApi.keep[HierarchyNoLongerCheckedProblem]("org.apache.pekko.stream.Attributes$MandatoryAttribute")
+BinaryApi.keep[MethodNoLongerCheckedProblem]("org.apache.pekko.stream.StreamSubscriptionTimeoutSettings.mode()org.apache.pekko.stream.StreamSubscriptionTimeoutTerminationMode")
+BinaryApi.keep[MethodNoLongerCheckedProblem]("org.apache.pekko.stream.StreamSubscriptionTimeoutSettings.timeout()scala.concurrent.duration.FiniteDuration")


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to