diff --git a/actor-testkit-typed/src/main/mima-filters/2.0.x.backwards.excludes/replace-lightbend-config-with-sconfig.excludes b/actor-testkit-typed/src/main/mima-filters/2.0.x.backwards.excludes/replace-lightbend-config-with-sconfig.excludes
new file mode 100644
index 00000000000..ea9a0191f8b
--- /dev/null
+++ b/actor-testkit-typed/src/main/mima-filters/2.0.x.backwards.excludes/replace-lightbend-config-with-sconfig.excludes
@@ -0,0 +1,37 @@
+# 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.
+
+# Replacing Lightbend Config (https://github.com/lightbend/config) with sconfig (https://github.com/ekrich/sconfig)
+ProblemFilters.exclude[IncompatibleMethTypeProblem]("org.apache.pekko.actor.testkit.typed.TestKitSettings.create")
+ProblemFilters.exclude[IncompatibleMethTypeProblem]("org.apache.pekko.actor.testkit.typed.TestKitSettings.apply")
+ProblemFilters.exclude[IncompatibleResultTypeProblem]("org.apache.pekko.actor.testkit.typed.TestKitSettings.config")
+ProblemFilters.exclude[IncompatibleMethTypeProblem]("org.apache.pekko.actor.testkit.typed.TestKitSettings.this")
+ProblemFilters.exclude[IncompatibleResultTypeProblem]("org.apache.pekko.actor.testkit.typed.internal.ActorSystemStub#config.defaultReference")
+ProblemFilters.exclude[IncompatibleResultTypeProblem]("org.apache.pekko.actor.testkit.typed.javadsl.ActorTestKit.applicationTestConfig")
+ProblemFilters.exclude[IncompatibleMethTypeProblem]("org.apache.pekko.actor.testkit.typed.javadsl.ActorTestKit.create")
+ProblemFilters.exclude[IncompatibleMethTypeProblem]("org.apache.pekko.actor.testkit.typed.javadsl.BehaviorTestKit.create")
+ProblemFilters.exclude[IncompatibleResultTypeProblem]("org.apache.pekko.actor.testkit.typed.javadsl.BehaviorTestKit.applicationTestConfig")
+ProblemFilters.exclude[IncompatibleResultTypeProblem]("org.apache.pekko.actor.testkit.typed.javadsl.ManualTime.config")
+ProblemFilters.exclude[IncompatibleMethTypeProblem]("org.apache.pekko.actor.testkit.typed.javadsl.TestKitJunitResource.this")
+ProblemFilters.exclude[IncompatibleResultTypeProblem]("org.apache.pekko.actor.testkit.typed.scaladsl.ActorTestKit.ApplicationTestConfig")
+ProblemFilters.exclude[IncompatibleMethTypeProblem]("org.apache.pekko.actor.testkit.typed.scaladsl.ActorTestKit.apply")
+ProblemFilters.exclude[IncompatibleResultTypeProblem]("org.apache.pekko.actor.testkit.typed.scaladsl.ActorTestKit.config")
+ProblemFilters.exclude[IncompatibleMethTypeProblem]("org.apache.pekko.actor.testkit.typed.scaladsl.ActorTestKitBase.this")
+ProblemFilters.exclude[IncompatibleMethTypeProblem]("org.apache.pekko.actor.testkit.typed.scaladsl.BehaviorTestKit.apply")
+ProblemFilters.exclude[IncompatibleResultTypeProblem]("org.apache.pekko.actor.testkit.typed.scaladsl.BehaviorTestKit.ApplicationTestConfig")
+ProblemFilters.exclude[IncompatibleResultTypeProblem]("org.apache.pekko.actor.testkit.typed.scaladsl.ManualTime.config")
+ProblemFilters.exclude[IncompatibleMethTypeProblem]("org.apache.pekko.actor.testkit.typed.scaladsl.ScalaTestWithActorTestKit.this")
diff --git a/actor-testkit-typed/src/main/scala/org/apache/pekko/actor/testkit/typed/TestKitSettings.scala b/actor-testkit-typed/src/main/scala/org/apache/pekko/actor/testkit/typed/TestKitSettings.scala
index 8de5d2b9e41..d4c33c4b9ea 100644
--- a/actor-testkit-typed/src/main/scala/org/apache/pekko/actor/testkit/typed/TestKitSettings.scala
+++ b/actor-testkit-typed/src/main/scala/org/apache/pekko/actor/testkit/typed/TestKitSettings.scala
@@ -15,7 +15,7 @@ package org.apache.pekko.actor.testkit.typed
import scala.concurrent.duration.{ Duration, FiniteDuration }
-import com.typesafe.config.Config
+import org.ekrich.config.Config
import org.apache.pekko
import pekko.actor.typed.ActorSystem
diff --git a/actor-testkit-typed/src/main/scala/org/apache/pekko/actor/testkit/typed/internal/ActorSystemStub.scala b/actor-testkit-typed/src/main/scala/org/apache/pekko/actor/testkit/typed/internal/ActorSystemStub.scala
index ad122712bc8..3a1e5401f05 100644
--- a/actor-testkit-typed/src/main/scala/org/apache/pekko/actor/testkit/typed/internal/ActorSystemStub.scala
+++ b/actor-testkit-typed/src/main/scala/org/apache/pekko/actor/testkit/typed/internal/ActorSystemStub.scala
@@ -16,7 +16,7 @@ package org.apache.pekko.actor.testkit.typed.internal
import java.util.concurrent.{ CompletionStage, ThreadFactory }
import scala.concurrent._
import scala.annotation.nowarn
-import com.typesafe.config.{ Config, ConfigFactory }
+import org.ekrich.config.{ Config, ConfigFactory }
import org.slf4j.Logger
import org.slf4j.LoggerFactory
import org.apache.pekko
diff --git a/actor-testkit-typed/src/main/scala/org/apache/pekko/actor/testkit/typed/javadsl/ActorTestKit.scala b/actor-testkit-typed/src/main/scala/org/apache/pekko/actor/testkit/typed/javadsl/ActorTestKit.scala
index 6b067707564..ee22cac7354 100644
--- a/actor-testkit-typed/src/main/scala/org/apache/pekko/actor/testkit/typed/javadsl/ActorTestKit.scala
+++ b/actor-testkit-typed/src/main/scala/org/apache/pekko/actor/testkit/typed/javadsl/ActorTestKit.scala
@@ -15,7 +15,7 @@ package org.apache.pekko.actor.testkit.typed.javadsl
import java.time.Duration
-import com.typesafe.config.Config
+import org.ekrich.config.Config
import org.apache.pekko
import pekko.actor.DeadLetter
diff --git a/actor-testkit-typed/src/main/scala/org/apache/pekko/actor/testkit/typed/javadsl/BehaviorTestKit.scala b/actor-testkit-typed/src/main/scala/org/apache/pekko/actor/testkit/typed/javadsl/BehaviorTestKit.scala
index 385b6549e2f..4b513382b2f 100644
--- a/actor-testkit-typed/src/main/scala/org/apache/pekko/actor/testkit/typed/javadsl/BehaviorTestKit.scala
+++ b/actor-testkit-typed/src/main/scala/org/apache/pekko/actor/testkit/typed/javadsl/BehaviorTestKit.scala
@@ -19,7 +19,7 @@ import pekko.actor.testkit.typed.{ CapturedLogEvent, Effect }
import pekko.actor.typed.receptionist.Receptionist
import pekko.actor.typed.{ ActorRef, Behavior, Signal }
import pekko.annotation.{ ApiMayChange, DoNotInherit }
-import com.typesafe.config.Config
+import org.ekrich.config.Config
import java.util.concurrent.ThreadLocalRandom
diff --git a/actor-testkit-typed/src/main/scala/org/apache/pekko/actor/testkit/typed/javadsl/JUnit5TestKitBuilder.scala b/actor-testkit-typed/src/main/scala/org/apache/pekko/actor/testkit/typed/javadsl/JUnit5TestKitBuilder.scala
index ac3ae80e6e9..09f21f8a4d8 100644
--- a/actor-testkit-typed/src/main/scala/org/apache/pekko/actor/testkit/typed/javadsl/JUnit5TestKitBuilder.scala
+++ b/actor-testkit-typed/src/main/scala/org/apache/pekko/actor/testkit/typed/javadsl/JUnit5TestKitBuilder.scala
@@ -18,7 +18,7 @@
package org.apache.pekko.actor.testkit.typed.javadsl
import org.apache.pekko
-import com.typesafe.config.Config
+import org.ekrich.config.Config
import pekko.actor.testkit.typed.internal.TestKitUtils
import pekko.actor.testkit.typed.scaladsl.ActorTestKit.ApplicationTestConfig
import pekko.actor.typed.ActorSystem
diff --git a/actor-testkit-typed/src/main/scala/org/apache/pekko/actor/testkit/typed/javadsl/ManualTime.scala b/actor-testkit-typed/src/main/scala/org/apache/pekko/actor/testkit/typed/javadsl/ManualTime.scala
index 99d526c869f..3d010f7aad6 100644
--- a/actor-testkit-typed/src/main/scala/org/apache/pekko/actor/testkit/typed/javadsl/ManualTime.scala
+++ b/actor-testkit-typed/src/main/scala/org/apache/pekko/actor/testkit/typed/javadsl/ManualTime.scala
@@ -17,7 +17,7 @@ import java.time.Duration
import scala.annotation.varargs
-import com.typesafe.config.Config
+import org.ekrich.config.Config
import org.apache.pekko
import pekko.actor.typed.ActorSystem
diff --git a/actor-testkit-typed/src/main/scala/org/apache/pekko/actor/testkit/typed/javadsl/TestKitJunitResource.scala b/actor-testkit-typed/src/main/scala/org/apache/pekko/actor/testkit/typed/javadsl/TestKitJunitResource.scala
index ad7e445b6bb..f0933271160 100644
--- a/actor-testkit-typed/src/main/scala/org/apache/pekko/actor/testkit/typed/javadsl/TestKitJunitResource.scala
+++ b/actor-testkit-typed/src/main/scala/org/apache/pekko/actor/testkit/typed/javadsl/TestKitJunitResource.scala
@@ -15,8 +15,8 @@ package org.apache.pekko.actor.testkit.typed.javadsl
import java.time.Duration
-import com.typesafe.config.Config
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.Config
+import org.ekrich.config.ConfigFactory
import org.junit.Rule
import org.junit.rules.ExternalResource
diff --git a/actor-testkit-typed/src/main/scala/org/apache/pekko/actor/testkit/typed/scaladsl/ActorTestKit.scala b/actor-testkit-typed/src/main/scala/org/apache/pekko/actor/testkit/typed/scaladsl/ActorTestKit.scala
index ffad923a50d..d94dbd2380a 100644
--- a/actor-testkit-typed/src/main/scala/org/apache/pekko/actor/testkit/typed/scaladsl/ActorTestKit.scala
+++ b/actor-testkit-typed/src/main/scala/org/apache/pekko/actor/testkit/typed/scaladsl/ActorTestKit.scala
@@ -20,8 +20,8 @@ import scala.concurrent.Await
import scala.concurrent.duration._
import scala.reflect.ClassTag
-import com.typesafe.config.Config
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.Config
+import org.ekrich.config.ConfigFactory
import org.slf4j.LoggerFactory
import org.apache.pekko
diff --git a/actor-testkit-typed/src/main/scala/org/apache/pekko/actor/testkit/typed/scaladsl/ActorTestKitBase.scala b/actor-testkit-typed/src/main/scala/org/apache/pekko/actor/testkit/typed/scaladsl/ActorTestKitBase.scala
index a9f6b1afe57..418b6345069 100644
--- a/actor-testkit-typed/src/main/scala/org/apache/pekko/actor/testkit/typed/scaladsl/ActorTestKitBase.scala
+++ b/actor-testkit-typed/src/main/scala/org/apache/pekko/actor/testkit/typed/scaladsl/ActorTestKitBase.scala
@@ -13,8 +13,8 @@
package org.apache.pekko.actor.testkit.typed.scaladsl
-import com.typesafe.config.Config
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.Config
+import org.ekrich.config.ConfigFactory
import org.apache.pekko
import pekko.actor.DeadLetter
diff --git a/actor-testkit-typed/src/main/scala/org/apache/pekko/actor/testkit/typed/scaladsl/BehaviorTestKit.scala b/actor-testkit-typed/src/main/scala/org/apache/pekko/actor/testkit/typed/scaladsl/BehaviorTestKit.scala
index a69b05778b6..efa10d8de6b 100644
--- a/actor-testkit-typed/src/main/scala/org/apache/pekko/actor/testkit/typed/scaladsl/BehaviorTestKit.scala
+++ b/actor-testkit-typed/src/main/scala/org/apache/pekko/actor/testkit/typed/scaladsl/BehaviorTestKit.scala
@@ -19,7 +19,7 @@ import pekko.actor.testkit.typed.{ CapturedLogEvent, Effect }
import pekko.actor.typed.receptionist.Receptionist
import pekko.actor.typed.{ ActorRef, Behavior, Signal, TypedActorContext }
import pekko.annotation.{ ApiMayChange, DoNotInherit }
-import com.typesafe.config.Config
+import org.ekrich.config.Config
import java.util.concurrent.ThreadLocalRandom
import scala.collection.immutable
diff --git a/actor-testkit-typed/src/main/scala/org/apache/pekko/actor/testkit/typed/scaladsl/ManualTime.scala b/actor-testkit-typed/src/main/scala/org/apache/pekko/actor/testkit/typed/scaladsl/ManualTime.scala
index 2499cb683e8..f32d3b810aa 100644
--- a/actor-testkit-typed/src/main/scala/org/apache/pekko/actor/testkit/typed/scaladsl/ManualTime.scala
+++ b/actor-testkit-typed/src/main/scala/org/apache/pekko/actor/testkit/typed/scaladsl/ManualTime.scala
@@ -16,7 +16,7 @@ package org.apache.pekko.actor.testkit.typed.scaladsl
import scala.annotation.varargs
import scala.concurrent.duration.{ Duration, FiniteDuration }
-import com.typesafe.config.{ Config, ConfigFactory }
+import org.ekrich.config.{ Config, ConfigFactory }
import org.apache.pekko
import pekko.actor.typed.ActorSystem
diff --git a/actor-testkit-typed/src/main/scala/org/apache/pekko/actor/testkit/typed/scaladsl/ScalaTestWithActorTestKit.scala b/actor-testkit-typed/src/main/scala/org/apache/pekko/actor/testkit/typed/scaladsl/ScalaTestWithActorTestKit.scala
index ee244dff23e..ea21a42eefa 100644
--- a/actor-testkit-typed/src/main/scala/org/apache/pekko/actor/testkit/typed/scaladsl/ScalaTestWithActorTestKit.scala
+++ b/actor-testkit-typed/src/main/scala/org/apache/pekko/actor/testkit/typed/scaladsl/ScalaTestWithActorTestKit.scala
@@ -13,8 +13,8 @@
package org.apache.pekko.actor.testkit.typed.scaladsl
-import com.typesafe.config.Config
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.Config
+import org.ekrich.config.ConfigFactory
import org.scalatest.{ BeforeAndAfterAll, TestSuite }
import org.scalatest.concurrent.Eventually
import org.scalatest.concurrent.ScalaFutures
diff --git a/actor-testkit-typed/src/test/java/jdocs/org/apache/pekko/actor/testkit/typed/javadsl/SyncTestingExampleTest.java b/actor-testkit-typed/src/test/java/jdocs/org/apache/pekko/actor/testkit/typed/javadsl/SyncTestingExampleTest.java
index f132a135048..018f28bffdf 100644
--- a/actor-testkit-typed/src/test/java/jdocs/org/apache/pekko/actor/testkit/typed/javadsl/SyncTestingExampleTest.java
+++ b/actor-testkit-typed/src/test/java/jdocs/org/apache/pekko/actor/testkit/typed/javadsl/SyncTestingExampleTest.java
@@ -16,7 +16,6 @@
// #imports
import static org.junit.Assert.assertEquals;
-import com.typesafe.config.Config;
import java.util.HashMap;
import java.util.List;
import java.util.Optional;
@@ -26,6 +25,7 @@
import org.apache.pekko.actor.testkit.typed.javadsl.TestInbox;
import org.apache.pekko.actor.typed.*;
import org.apache.pekko.actor.typed.javadsl.*;
+import org.ekrich.config.Config;
import org.junit.Test;
import org.scalatestplus.junit.JUnitSuite;
import org.slf4j.event.Level;
diff --git a/actor-testkit-typed/src/test/java/jdocs/org/apache/pekko/actor/testkit/typed/javadsl/TestConfigExample.java b/actor-testkit-typed/src/test/java/jdocs/org/apache/pekko/actor/testkit/typed/javadsl/TestConfigExample.java
index 72809ff0de4..d3122fb57bc 100644
--- a/actor-testkit-typed/src/test/java/jdocs/org/apache/pekko/actor/testkit/typed/javadsl/TestConfigExample.java
+++ b/actor-testkit-typed/src/test/java/jdocs/org/apache/pekko/actor/testkit/typed/javadsl/TestConfigExample.java
@@ -14,7 +14,7 @@
package jdocs.org.apache.pekko.actor.testkit.typed.javadsl;
// #default-application-conf
-import com.typesafe.config.ConfigFactory;
+import org.ekrich.config.ConfigFactory;
// #default-application-conf
diff --git a/actor-testkit-typed/src/test/scala/docs/org/apache/pekko/actor/testkit/typed/scaladsl/SyncTestingExampleSpec.scala b/actor-testkit-typed/src/test/scala/docs/org/apache/pekko/actor/testkit/typed/scaladsl/SyncTestingExampleSpec.scala
index 3d9c880c954..95e77e6b24f 100644
--- a/actor-testkit-typed/src/test/scala/docs/org/apache/pekko/actor/testkit/typed/scaladsl/SyncTestingExampleSpec.scala
+++ b/actor-testkit-typed/src/test/scala/docs/org/apache/pekko/actor/testkit/typed/scaladsl/SyncTestingExampleSpec.scala
@@ -21,7 +21,7 @@ import pekko.actor.testkit.typed.scaladsl.BehaviorTestKit
import pekko.actor.testkit.typed.scaladsl.TestInbox
import pekko.actor.typed._
import pekko.actor.typed.scaladsl._
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.slf4j.event.Level
//#imports
diff --git a/actor-testkit-typed/src/test/scala/docs/org/apache/pekko/actor/testkit/typed/scaladsl/TestConfigExample.scala b/actor-testkit-typed/src/test/scala/docs/org/apache/pekko/actor/testkit/typed/scaladsl/TestConfigExample.scala
index 5dbc61af268..59ee3840299 100644
--- a/actor-testkit-typed/src/test/scala/docs/org/apache/pekko/actor/testkit/typed/scaladsl/TestConfigExample.scala
+++ b/actor-testkit-typed/src/test/scala/docs/org/apache/pekko/actor/testkit/typed/scaladsl/TestConfigExample.scala
@@ -18,7 +18,7 @@ object TestConfigExample {
def illustrateApplicationConfig(): Unit = {
// #default-application-conf
- import com.typesafe.config.ConfigFactory
+ import org.ekrich.config.ConfigFactory
ConfigFactory.load()
// #default-application-conf
diff --git a/actor-testkit-typed/src/test/scala/org/apache/pekko/actor/testkit/typed/scaladsl/ActorTestKitSpec.scala b/actor-testkit-typed/src/test/scala/org/apache/pekko/actor/testkit/typed/scaladsl/ActorTestKitSpec.scala
index c3cdc0eb79b..5b1be719b97 100644
--- a/actor-testkit-typed/src/test/scala/org/apache/pekko/actor/testkit/typed/scaladsl/ActorTestKitSpec.scala
+++ b/actor-testkit-typed/src/test/scala/org/apache/pekko/actor/testkit/typed/scaladsl/ActorTestKitSpec.scala
@@ -15,7 +15,7 @@ package org.apache.pekko.actor.testkit.typed.scaladsl
import scala.concurrent.Promise
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.scalatest.BeforeAndAfterAll
import org.scalatest.matchers.should.Matchers
import org.scalatest.wordspec.{ AnyWordSpec, AnyWordSpecLike }
diff --git a/actor-testkit-typed/src/test/scala/org/apache/pekko/actor/testkit/typed/scaladsl/JUnit5TestKitBuilderSpec.scala b/actor-testkit-typed/src/test/scala/org/apache/pekko/actor/testkit/typed/scaladsl/JUnit5TestKitBuilderSpec.scala
index 15bc751dad4..2517ebb0362 100644
--- a/actor-testkit-typed/src/test/scala/org/apache/pekko/actor/testkit/typed/scaladsl/JUnit5TestKitBuilderSpec.scala
+++ b/actor-testkit-typed/src/test/scala/org/apache/pekko/actor/testkit/typed/scaladsl/JUnit5TestKitBuilderSpec.scala
@@ -19,7 +19,7 @@ package org.apache.pekko.actor.testkit.typed.scaladsl
import org.apache.pekko
import pekko.actor.typed.ActorSystem
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.apache.pekko.actor.testkit.typed.javadsl.JUnit5TestKitBuilder
import org.scalatest.wordspec.AnyWordSpec
diff --git a/actor-testkit-typed/src/test/scala/org/apache/pekko/actor/testkit/typed/scaladsl/TestProbeSpec.scala b/actor-testkit-typed/src/test/scala/org/apache/pekko/actor/testkit/typed/scaladsl/TestProbeSpec.scala
index c74509c757b..57d068f0d28 100644
--- a/actor-testkit-typed/src/test/scala/org/apache/pekko/actor/testkit/typed/scaladsl/TestProbeSpec.scala
+++ b/actor-testkit-typed/src/test/scala/org/apache/pekko/actor/testkit/typed/scaladsl/TestProbeSpec.scala
@@ -15,7 +15,7 @@ package org.apache.pekko.actor.testkit.typed.scaladsl
import scala.concurrent.duration._
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.scalatest.wordspec.AnyWordSpecLike
import org.apache.pekko.actor.typed.scaladsl.Behaviors
diff --git a/actor-tests/src/test/java/org/apache/pekko/actor/JavaExtension.java b/actor-tests/src/test/java/org/apache/pekko/actor/JavaExtension.java
index 4e585545985..cd5d71a6c85 100644
--- a/actor-tests/src/test/java/org/apache/pekko/actor/JavaExtension.java
+++ b/actor-tests/src/test/java/org/apache/pekko/actor/JavaExtension.java
@@ -15,9 +15,9 @@
import static org.junit.Assert.*;
-import com.typesafe.config.ConfigFactory;
import org.apache.pekko.testkit.PekkoJUnitActorSystemResource;
import org.apache.pekko.testkit.PekkoSpec;
+import org.ekrich.config.ConfigFactory;
import org.junit.*;
import org.scalatestplus.junit.JUnitSuite;
diff --git a/actor-tests/src/test/java/org/apache/pekko/event/LoggingAdapterTest.java b/actor-tests/src/test/java/org/apache/pekko/event/LoggingAdapterTest.java
index 013f76b25bc..1956dc9fb8d 100644
--- a/actor-tests/src/test/java/org/apache/pekko/event/LoggingAdapterTest.java
+++ b/actor-tests/src/test/java/org/apache/pekko/event/LoggingAdapterTest.java
@@ -19,8 +19,6 @@
import static org.junit.Assert.assertSame;
import static org.junit.Assert.assertTrue;
-import com.typesafe.config.Config;
-import com.typesafe.config.ConfigFactory;
import java.time.Duration;
import java.util.*;
import org.apache.pekko.actor.ActorRef;
@@ -30,6 +28,8 @@
import org.apache.pekko.event.Logging.Error;
import org.apache.pekko.testkit.PekkoJUnitActorSystemResource;
import org.apache.pekko.testkit.javadsl.TestKit;
+import org.ekrich.config.Config;
+import org.ekrich.config.ConfigFactory;
import org.junit.Before;
import org.junit.Rule;
import org.junit.Test;
diff --git a/actor-tests/src/test/scala-jdk21-only/org/apache/pekko/dispatch/ForkJoinPoolVirtualThreadSpec.scala b/actor-tests/src/test/scala-jdk21-only/org/apache/pekko/dispatch/ForkJoinPoolVirtualThreadSpec.scala
index 1d4ca6db941..f5212f640d2 100644
--- a/actor-tests/src/test/scala-jdk21-only/org/apache/pekko/dispatch/ForkJoinPoolVirtualThreadSpec.scala
+++ b/actor-tests/src/test/scala-jdk21-only/org/apache/pekko/dispatch/ForkJoinPoolVirtualThreadSpec.scala
@@ -17,7 +17,7 @@
package org.apache.pekko.dispatch
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.apache.pekko
import pekko.actor.{ Actor, Props }
diff --git a/actor-tests/src/test/scala-jdk21-only/org/apache/pekko/dispatch/ThreadPoolVirtualThreadSpec.scala b/actor-tests/src/test/scala-jdk21-only/org/apache/pekko/dispatch/ThreadPoolVirtualThreadSpec.scala
index 583f9118775..209b8370ea0 100644
--- a/actor-tests/src/test/scala-jdk21-only/org/apache/pekko/dispatch/ThreadPoolVirtualThreadSpec.scala
+++ b/actor-tests/src/test/scala-jdk21-only/org/apache/pekko/dispatch/ThreadPoolVirtualThreadSpec.scala
@@ -17,7 +17,7 @@
package org.apache.pekko.dispatch
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.apache.pekko
import pekko.actor.{ Actor, Props }
import pekko.testkit.{ ImplicitSender, PekkoSpec }
diff --git a/actor-tests/src/test/scala-jdk21-only/org/apache/pekko/dispatch/VirtualThreadPoolDispatcherSpec.scala b/actor-tests/src/test/scala-jdk21-only/org/apache/pekko/dispatch/VirtualThreadPoolDispatcherSpec.scala
index 3050d70db5d..1752a4137e9 100644
--- a/actor-tests/src/test/scala-jdk21-only/org/apache/pekko/dispatch/VirtualThreadPoolDispatcherSpec.scala
+++ b/actor-tests/src/test/scala-jdk21-only/org/apache/pekko/dispatch/VirtualThreadPoolDispatcherSpec.scala
@@ -17,7 +17,7 @@
package org.apache.pekko.dispatch
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.apache.pekko
import pekko.actor.{ Actor, Props }
diff --git a/actor-tests/src/test/scala/org/apache/pekko/actor/ActorCreationPerfSpec.scala b/actor-tests/src/test/scala/org/apache/pekko/actor/ActorCreationPerfSpec.scala
index d09e9221913..8d171b9b10d 100644
--- a/actor-tests/src/test/scala/org/apache/pekko/actor/ActorCreationPerfSpec.scala
+++ b/actor-tests/src/test/scala/org/apache/pekko/actor/ActorCreationPerfSpec.scala
@@ -16,7 +16,7 @@ package org.apache.pekko.actor
import scala.concurrent.duration._
import com.codahale.metrics.Histogram
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.scalatest.BeforeAndAfterAll
import org.apache.pekko
diff --git a/actor-tests/src/test/scala/org/apache/pekko/actor/ActorMailboxSpec.scala b/actor-tests/src/test/scala/org/apache/pekko/actor/ActorMailboxSpec.scala
index 99222249ff8..bdeed383f54 100644
--- a/actor-tests/src/test/scala/org/apache/pekko/actor/ActorMailboxSpec.scala
+++ b/actor-tests/src/test/scala/org/apache/pekko/actor/ActorMailboxSpec.scala
@@ -15,8 +15,8 @@ package org.apache.pekko.actor
import scala.concurrent.duration.{ Duration, FiniteDuration }
-import com.typesafe.config.Config
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.Config
+import org.ekrich.config.ConfigFactory
import org.apache.pekko
import pekko.ConfigurationException
diff --git a/actor-tests/src/test/scala/org/apache/pekko/actor/ActorSystemDispatcherSpec.scala b/actor-tests/src/test/scala/org/apache/pekko/actor/ActorSystemDispatcherSpec.scala
index 82620268eb0..15531723096 100644
--- a/actor-tests/src/test/scala/org/apache/pekko/actor/ActorSystemDispatcherSpec.scala
+++ b/actor-tests/src/test/scala/org/apache/pekko/actor/ActorSystemDispatcherSpec.scala
@@ -16,7 +16,7 @@ package org.apache.pekko.actor
import scala.concurrent.ExecutionContext
import scala.concurrent.duration._
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.apache.pekko
import pekko.ConfigurationException
diff --git a/actor-tests/src/test/scala/org/apache/pekko/actor/ActorSystemSpec.scala b/actor-tests/src/test/scala/org/apache/pekko/actor/ActorSystemSpec.scala
index 0e9f7e29f76..80491d7d213 100644
--- a/actor-tests/src/test/scala/org/apache/pekko/actor/ActorSystemSpec.scala
+++ b/actor-tests/src/test/scala/org/apache/pekko/actor/ActorSystemSpec.scala
@@ -20,7 +20,7 @@ import scala.concurrent.{ Await, Future }
import scala.concurrent.duration._
import scala.annotation.nowarn
-import com.typesafe.config.{ Config, ConfigFactory }
+import org.ekrich.config.{ Config, ConfigFactory }
import org.scalatestplus.scalacheck.ScalaCheckPropertyChecks
import org.apache.pekko
diff --git a/actor-tests/src/test/scala/org/apache/pekko/actor/ActorWithBoundedStashSpec.scala b/actor-tests/src/test/scala/org/apache/pekko/actor/ActorWithBoundedStashSpec.scala
index f179d807d3b..068e82a800f 100644
--- a/actor-tests/src/test/scala/org/apache/pekko/actor/ActorWithBoundedStashSpec.scala
+++ b/actor-tests/src/test/scala/org/apache/pekko/actor/ActorWithBoundedStashSpec.scala
@@ -15,7 +15,7 @@ package org.apache.pekko.actor
import scala.concurrent.duration._
-import com.typesafe.config.{ Config, ConfigFactory }
+import org.ekrich.config.{ Config, ConfigFactory }
import org.scalatest.BeforeAndAfterEach
import org.apache.pekko
diff --git a/actor-tests/src/test/scala/org/apache/pekko/actor/CoordinatedShutdownSpec.scala b/actor-tests/src/test/scala/org/apache/pekko/actor/CoordinatedShutdownSpec.scala
index d2d75544212..6ccb5948248 100644
--- a/actor-tests/src/test/scala/org/apache/pekko/actor/CoordinatedShutdownSpec.scala
+++ b/actor-tests/src/test/scala/org/apache/pekko/actor/CoordinatedShutdownSpec.scala
@@ -23,8 +23,8 @@ import pekko.testkit.PekkoSpec
import pekko.testkit.EventFilter
import pekko.testkit.TestKit
import pekko.testkit.TestProbe
-import com.typesafe.config.Config
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.Config
+import org.ekrich.config.ConfigFactory
import java.util.concurrent.Executors
import java.util.concurrent.TimeoutException
diff --git a/actor-tests/src/test/scala/org/apache/pekko/actor/DeployerSpec.scala b/actor-tests/src/test/scala/org/apache/pekko/actor/DeployerSpec.scala
index 1a49950f885..f9afee147ba 100644
--- a/actor-tests/src/test/scala/org/apache/pekko/actor/DeployerSpec.scala
+++ b/actor-tests/src/test/scala/org/apache/pekko/actor/DeployerSpec.scala
@@ -15,8 +15,8 @@ package org.apache.pekko.actor
import scala.concurrent.duration._
-import com.typesafe.config.ConfigFactory
-import com.typesafe.config.ConfigParseOptions
+import org.ekrich.config.ConfigFactory
+import org.ekrich.config.ConfigParseOptions
import org.apache.pekko
import pekko.routing._
@@ -142,7 +142,7 @@ class DeployerSpec extends PekkoSpec(DeployerSpec.deployerConf) {
}
"detect invalid number-of-instances" in {
- intercept[com.typesafe.config.ConfigException.WrongType] {
+ intercept[org.ekrich.config.ConfigException.WrongType] {
val invalidDeployerConf = ConfigFactory
.parseString(
"""
diff --git a/actor-tests/src/test/scala/org/apache/pekko/actor/ExtensionSpec.scala b/actor-tests/src/test/scala/org/apache/pekko/actor/ExtensionSpec.scala
index a5b6ca78ec4..c9bb2c1d376 100644
--- a/actor-tests/src/test/scala/org/apache/pekko/actor/ExtensionSpec.scala
+++ b/actor-tests/src/test/scala/org/apache/pekko/actor/ExtensionSpec.scala
@@ -17,7 +17,7 @@ import java.util.concurrent.atomic.AtomicInteger
import scala.util.control.NoStackTrace
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.scalatest.matchers.should.Matchers
import org.scalatest.wordspec.AnyWordSpec
diff --git a/actor-tests/src/test/scala/org/apache/pekko/actor/FSMActorSpec.scala b/actor-tests/src/test/scala/org/apache/pekko/actor/FSMActorSpec.scala
index e04ebdaa4e2..04e53fe7fee 100644
--- a/actor-tests/src/test/scala/org/apache/pekko/actor/FSMActorSpec.scala
+++ b/actor-tests/src/test/scala/org/apache/pekko/actor/FSMActorSpec.scala
@@ -16,7 +16,7 @@ package org.apache.pekko.actor
import scala.concurrent.Await
import scala.concurrent.duration._
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.apache.pekko
import pekko.event._
diff --git a/actor-tests/src/test/scala/org/apache/pekko/actor/ProviderSelectionSpec.scala b/actor-tests/src/test/scala/org/apache/pekko/actor/ProviderSelectionSpec.scala
index 745094fee6e..b928b1b17a7 100644
--- a/actor-tests/src/test/scala/org/apache/pekko/actor/ProviderSelectionSpec.scala
+++ b/actor-tests/src/test/scala/org/apache/pekko/actor/ProviderSelectionSpec.scala
@@ -13,7 +13,7 @@
package org.apache.pekko.actor
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.apache.pekko
import pekko.actor.ActorSystem.Settings
diff --git a/actor-tests/src/test/scala/org/apache/pekko/actor/SchedulerSpec.scala b/actor-tests/src/test/scala/org/apache/pekko/actor/SchedulerSpec.scala
index f9e30481f96..f41ac7135fc 100644
--- a/actor-tests/src/test/scala/org/apache/pekko/actor/SchedulerSpec.scala
+++ b/actor-tests/src/test/scala/org/apache/pekko/actor/SchedulerSpec.scala
@@ -25,7 +25,7 @@ import scala.util.control.NonFatal
import atomic.{ AtomicInteger, AtomicReference }
import scala.annotation.nowarn
-import com.typesafe.config.{ Config, ConfigFactory }
+import org.ekrich.config.{ Config, ConfigFactory }
import org.scalatest.BeforeAndAfterEach
import org.apache.pekko
@@ -797,7 +797,7 @@ class LightArrayRevolverSchedulerSpec extends PekkoSpec(SchedulerSpec.testConfRe
}
@nowarn
- def withScheduler(start: Long = 0L, _startTick: Int = 0, config: Config = ConfigFactory.empty)(
+ def withScheduler(start: Long = 0L, _startTick: Int = 0, config: Config = ConfigFactory.empty())(
thunk: (Scheduler with Closeable, Driver) => Unit): Unit = {
val lbq = new AtomicReference[LinkedBlockingQueue[Long]](new LinkedBlockingQueue[Long])
val prb = TestProbe()
diff --git a/actor-tests/src/test/scala/org/apache/pekko/actor/SupervisorHierarchySpec.scala b/actor-tests/src/test/scala/org/apache/pekko/actor/SupervisorHierarchySpec.scala
index edbee054938..662c33edb38 100644
--- a/actor-tests/src/test/scala/org/apache/pekko/actor/SupervisorHierarchySpec.scala
+++ b/actor-tests/src/test/scala/org/apache/pekko/actor/SupervisorHierarchySpec.scala
@@ -26,7 +26,7 @@ import scala.util.control.NoStackTrace
import SupervisorStrategy.{ Directive, Restart, Resume, Stop }
import scala.annotation.nowarn
-import com.typesafe.config.{ Config, ConfigFactory }
+import org.ekrich.config.{ Config, ConfigFactory }
import org.apache.pekko
import pekko.actor.SupervisorStrategy.seqThrowable2Decider
diff --git a/actor-tests/src/test/scala/org/apache/pekko/actor/SupervisorSpec.scala b/actor-tests/src/test/scala/org/apache/pekko/actor/SupervisorSpec.scala
index 9df4e76f159..0f8a3eeb516 100644
--- a/actor-tests/src/test/scala/org/apache/pekko/actor/SupervisorSpec.scala
+++ b/actor-tests/src/test/scala/org/apache/pekko/actor/SupervisorSpec.scala
@@ -18,8 +18,8 @@ import java.util.concurrent.atomic.AtomicInteger
import scala.concurrent.Await
import scala.concurrent.duration._
-import com.typesafe.config.Config
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.Config
+import org.ekrich.config.ConfigFactory
import org.scalatest.BeforeAndAfterEach
import org.apache.pekko
diff --git a/actor-tests/src/test/scala/org/apache/pekko/actor/dispatch/ActorModelSpec.scala b/actor-tests/src/test/scala/org/apache/pekko/actor/dispatch/ActorModelSpec.scala
index 102e01448f3..e25e0b71538 100644
--- a/actor-tests/src/test/scala/org/apache/pekko/actor/dispatch/ActorModelSpec.scala
+++ b/actor-tests/src/test/scala/org/apache/pekko/actor/dispatch/ActorModelSpec.scala
@@ -22,7 +22,7 @@ import scala.concurrent.{ Await, Future }
import scala.concurrent.duration._
import scala.annotation.nowarn
-import com.typesafe.config.Config
+import org.ekrich.config.Config
import org.scalatest.Assertions._
import org.apache.pekko
diff --git a/actor-tests/src/test/scala/org/apache/pekko/actor/dispatch/DispatchersSpec.scala b/actor-tests/src/test/scala/org/apache/pekko/actor/dispatch/DispatchersSpec.scala
index 46ad5c8d36f..262657670fe 100644
--- a/actor-tests/src/test/scala/org/apache/pekko/actor/dispatch/DispatchersSpec.scala
+++ b/actor-tests/src/test/scala/org/apache/pekko/actor/dispatch/DispatchersSpec.scala
@@ -18,8 +18,8 @@ import java.util.concurrent.atomic.AtomicBoolean
import scala.reflect.ClassTag
-import com.typesafe.config.Config
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.Config
+import org.ekrich.config.ConfigFactory
import org.apache.pekko
import pekko.ConfigurationException
diff --git a/actor-tests/src/test/scala/org/apache/pekko/config/ConfigSpec.scala b/actor-tests/src/test/scala/org/apache/pekko/config/ConfigSpec.scala
index 90cc700fdbd..09f24ab26f0 100644
--- a/actor-tests/src/test/scala/org/apache/pekko/config/ConfigSpec.scala
+++ b/actor-tests/src/test/scala/org/apache/pekko/config/ConfigSpec.scala
@@ -17,7 +17,7 @@ import java.util.concurrent.TimeUnit
import scala.concurrent.duration._
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.scalatest.Assertions
import org.apache.pekko
diff --git a/actor-tests/src/test/scala/org/apache/pekko/dispatch/ForkJoinPoolStarvationSpec.scala b/actor-tests/src/test/scala/org/apache/pekko/dispatch/ForkJoinPoolStarvationSpec.scala
index bce7b584fa8..9ab2b47d72d 100644
--- a/actor-tests/src/test/scala/org/apache/pekko/dispatch/ForkJoinPoolStarvationSpec.scala
+++ b/actor-tests/src/test/scala/org/apache/pekko/dispatch/ForkJoinPoolStarvationSpec.scala
@@ -13,7 +13,7 @@
package org.apache.pekko.dispatch
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.apache.pekko
import pekko.actor.{ Actor, Props }
diff --git a/actor-tests/src/test/scala/org/apache/pekko/dispatch/MailboxConfigSpec.scala b/actor-tests/src/test/scala/org/apache/pekko/dispatch/MailboxConfigSpec.scala
index d9e26a4d86f..7ffbbdf86a0 100644
--- a/actor-tests/src/test/scala/org/apache/pekko/dispatch/MailboxConfigSpec.scala
+++ b/actor-tests/src/test/scala/org/apache/pekko/dispatch/MailboxConfigSpec.scala
@@ -18,7 +18,7 @@ import java.util.concurrent.{ BlockingQueue, ConcurrentLinkedQueue }
import scala.concurrent.{ Await, ExecutionContext, Future }
import scala.concurrent.duration._
-import com.typesafe.config.{ Config, ConfigFactory }
+import org.ekrich.config.{ Config, ConfigFactory }
import org.scalatest.{ BeforeAndAfterAll, BeforeAndAfterEach }
import org.apache.pekko
diff --git a/actor-tests/src/test/scala/org/apache/pekko/dispatch/PriorityDispatcherSpec.scala b/actor-tests/src/test/scala/org/apache/pekko/dispatch/PriorityDispatcherSpec.scala
index 088446bcc9e..78f18450639 100644
--- a/actor-tests/src/test/scala/org/apache/pekko/dispatch/PriorityDispatcherSpec.scala
+++ b/actor-tests/src/test/scala/org/apache/pekko/dispatch/PriorityDispatcherSpec.scala
@@ -15,7 +15,7 @@ package org.apache.pekko.dispatch
import scala.concurrent.duration._
-import com.typesafe.config.Config
+import org.ekrich.config.Config
import org.apache.pekko
import pekko.actor.{ Actor, ActorSystem, Props }
diff --git a/actor-tests/src/test/scala/org/apache/pekko/dispatch/StablePriorityDispatcherSpec.scala b/actor-tests/src/test/scala/org/apache/pekko/dispatch/StablePriorityDispatcherSpec.scala
index 9289409e4a8..2ff280b44a6 100644
--- a/actor-tests/src/test/scala/org/apache/pekko/dispatch/StablePriorityDispatcherSpec.scala
+++ b/actor-tests/src/test/scala/org/apache/pekko/dispatch/StablePriorityDispatcherSpec.scala
@@ -15,7 +15,7 @@ package org.apache.pekko.dispatch
import scala.concurrent.duration._
-import com.typesafe.config.Config
+import org.ekrich.config.Config
import org.apache.pekko
import pekko.actor.{ Actor, ActorSystem, Props }
diff --git a/actor-tests/src/test/scala/org/apache/pekko/event/EventBusSpec.scala b/actor-tests/src/test/scala/org/apache/pekko/event/EventBusSpec.scala
index ce93d925689..054e87ebbe0 100644
--- a/actor-tests/src/test/scala/org/apache/pekko/event/EventBusSpec.scala
+++ b/actor-tests/src/test/scala/org/apache/pekko/event/EventBusSpec.scala
@@ -13,7 +13,7 @@
package org.apache.pekko.event
-import com.typesafe.config.{ Config, ConfigFactory }
+import org.ekrich.config.{ Config, ConfigFactory }
import org.scalatest.BeforeAndAfterEach
import org.apache.pekko
diff --git a/actor-tests/src/test/scala/org/apache/pekko/event/EventStreamSpec.scala b/actor-tests/src/test/scala/org/apache/pekko/event/EventStreamSpec.scala
index ac19fb1c182..a021dd2ec08 100644
--- a/actor-tests/src/test/scala/org/apache/pekko/event/EventStreamSpec.scala
+++ b/actor-tests/src/test/scala/org/apache/pekko/event/EventStreamSpec.scala
@@ -15,7 +15,7 @@ package org.apache.pekko.event
import scala.concurrent.duration._
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.apache.pekko
import pekko.actor._
diff --git a/actor-tests/src/test/scala/org/apache/pekko/event/LoggerSpec.scala b/actor-tests/src/test/scala/org/apache/pekko/event/LoggerSpec.scala
index 409027a5e9c..36e429c406e 100644
--- a/actor-tests/src/test/scala/org/apache/pekko/event/LoggerSpec.scala
+++ b/actor-tests/src/test/scala/org/apache/pekko/event/LoggerSpec.scala
@@ -22,7 +22,7 @@ import java.util.concurrent.TimeUnit
import scala.concurrent.duration._
import scala.util.control.NoStackTrace
-import com.typesafe.config.{ Config, ConfigFactory }
+import org.ekrich.config.{ Config, ConfigFactory }
import org.scalatest.matchers.should.Matchers
import org.scalatest.wordspec.AnyWordSpec
diff --git a/actor-tests/src/test/scala/org/apache/pekko/event/LoggingReceiveSpec.scala b/actor-tests/src/test/scala/org/apache/pekko/event/LoggingReceiveSpec.scala
index d89e8af6d77..730ad6e0faf 100644
--- a/actor-tests/src/test/scala/org/apache/pekko/event/LoggingReceiveSpec.scala
+++ b/actor-tests/src/test/scala/org/apache/pekko/event/LoggingReceiveSpec.scala
@@ -16,7 +16,7 @@ package org.apache.pekko.event
import scala.annotation.tailrec
import scala.concurrent.duration._
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.scalatest.BeforeAndAfterAll
import org.scalatest.wordspec.AnyWordSpec
diff --git a/actor-tests/src/test/scala/org/apache/pekko/io/TcpConnectionSpec.scala b/actor-tests/src/test/scala/org/apache/pekko/io/TcpConnectionSpec.scala
index 1c654892143..5818c1dd7b0 100644
--- a/actor-tests/src/test/scala/org/apache/pekko/io/TcpConnectionSpec.scala
+++ b/actor-tests/src/test/scala/org/apache/pekko/io/TcpConnectionSpec.scala
@@ -30,7 +30,7 @@ import scala.util.Try
import scala.util.control.NonFatal
import com.google.common.jimfs.{ Configuration, Jimfs }
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.scalatest.matchers._
import org.apache.pekko
diff --git a/actor-tests/src/test/scala/org/apache/pekko/io/dns/AsyncDnsResolverIntegrationSpec.scala b/actor-tests/src/test/scala/org/apache/pekko/io/dns/AsyncDnsResolverIntegrationSpec.scala
index 1f7e658b580..7622ed688ae 100644
--- a/actor-tests/src/test/scala/org/apache/pekko/io/dns/AsyncDnsResolverIntegrationSpec.scala
+++ b/actor-tests/src/test/scala/org/apache/pekko/io/dns/AsyncDnsResolverIntegrationSpec.scala
@@ -17,7 +17,7 @@ import java.net.InetAddress
import scala.concurrent.duration._
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.scalatest.time.Millis
import org.scalatest.time.Span
diff --git a/actor-tests/src/test/scala/org/apache/pekko/io/dns/DnsSettingsSpec.scala b/actor-tests/src/test/scala/org/apache/pekko/io/dns/DnsSettingsSpec.scala
index 74509863c57..c973315f16c 100644
--- a/actor-tests/src/test/scala/org/apache/pekko/io/dns/DnsSettingsSpec.scala
+++ b/actor-tests/src/test/scala/org/apache/pekko/io/dns/DnsSettingsSpec.scala
@@ -17,7 +17,7 @@ import java.net.InetAddress
import scala.concurrent.duration._
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.apache.pekko
import pekko.actor.ExtendedActorSystem
diff --git a/actor-tests/src/test/scala/org/apache/pekko/io/dns/DockerBindDnsService.scala b/actor-tests/src/test/scala/org/apache/pekko/io/dns/DockerBindDnsService.scala
index 066f27fb395..643e00f8ab7 100644
--- a/actor-tests/src/test/scala/org/apache/pekko/io/dns/DockerBindDnsService.scala
+++ b/actor-tests/src/test/scala/org/apache/pekko/io/dns/DockerBindDnsService.scala
@@ -17,7 +17,7 @@ import scala.concurrent.duration._
import scala.util.Try
import scala.util.control.NonFatal
-import com.typesafe.config.Config
+import org.ekrich.config.Config
import com.github.dockerjava.api.DockerClient
import com.github.dockerjava.api.async.ResultCallback
import com.github.dockerjava.api.command.CreateContainerCmd
diff --git a/actor-tests/src/test/scala/org/apache/pekko/io/dns/internal/AsyncDnsResolverSpec.scala b/actor-tests/src/test/scala/org/apache/pekko/io/dns/internal/AsyncDnsResolverSpec.scala
index 2c504f6bca8..c2af54447b2 100644
--- a/actor-tests/src/test/scala/org/apache/pekko/io/dns/internal/AsyncDnsResolverSpec.scala
+++ b/actor-tests/src/test/scala/org/apache/pekko/io/dns/internal/AsyncDnsResolverSpec.scala
@@ -18,7 +18,7 @@ import java.net.{ Inet6Address, InetAddress }
import scala.collection.{ immutable => im }
import scala.concurrent.duration._
-import com.typesafe.config.{ Config, ConfigFactory, ConfigValueFactory }
+import org.ekrich.config.{ Config, ConfigFactory, ConfigValueFactory }
import org.apache.pekko
import pekko.actor.{ ActorRef, ExtendedActorSystem, Props }
import pekko.actor.Status.Failure
diff --git a/actor-tests/src/test/scala/org/apache/pekko/routing/ConfiguredLocalRoutingSpec.scala b/actor-tests/src/test/scala/org/apache/pekko/routing/ConfiguredLocalRoutingSpec.scala
index cbd6b97c898..681c268e7a9 100644
--- a/actor-tests/src/test/scala/org/apache/pekko/routing/ConfiguredLocalRoutingSpec.scala
+++ b/actor-tests/src/test/scala/org/apache/pekko/routing/ConfiguredLocalRoutingSpec.scala
@@ -18,7 +18,7 @@ import scala.concurrent.Await
import scala.concurrent.duration._
import scala.annotation.nowarn
-import com.typesafe.config.Config
+import org.ekrich.config.Config
import org.apache.pekko
import pekko.ConfigurationException
diff --git a/actor-tests/src/test/scala/org/apache/pekko/routing/ResizerSpec.scala b/actor-tests/src/test/scala/org/apache/pekko/routing/ResizerSpec.scala
index 1e7a4ab77b4..b79c61528a0 100644
--- a/actor-tests/src/test/scala/org/apache/pekko/routing/ResizerSpec.scala
+++ b/actor-tests/src/test/scala/org/apache/pekko/routing/ResizerSpec.scala
@@ -16,7 +16,7 @@ package org.apache.pekko.routing
import scala.concurrent.Await
import scala.concurrent.duration._
-import com.typesafe.config.{ Config, ConfigFactory }
+import org.ekrich.config.{ Config, ConfigFactory }
import org.apache.pekko
import pekko.actor.{ Actor, ActorRef, ActorSystem, Props }
diff --git a/actor-tests/src/test/scala/org/apache/pekko/routing/RoutingSpec.scala b/actor-tests/src/test/scala/org/apache/pekko/routing/RoutingSpec.scala
index eed7e6bb81f..006933fbb3d 100644
--- a/actor-tests/src/test/scala/org/apache/pekko/routing/RoutingSpec.scala
+++ b/actor-tests/src/test/scala/org/apache/pekko/routing/RoutingSpec.scala
@@ -18,7 +18,7 @@ import scala.concurrent.Await
import scala.concurrent.ExecutionContextExecutor
import scala.concurrent.duration._
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.apache.pekko
import pekko.ConfigurationException
diff --git a/actor-tests/src/test/scala/org/apache/pekko/serialization/AsyncSerializeSpec.scala b/actor-tests/src/test/scala/org/apache/pekko/serialization/AsyncSerializeSpec.scala
index 5f503528cd9..aa9d8ad9020 100644
--- a/actor-tests/src/test/scala/org/apache/pekko/serialization/AsyncSerializeSpec.scala
+++ b/actor-tests/src/test/scala/org/apache/pekko/serialization/AsyncSerializeSpec.scala
@@ -16,7 +16,7 @@ package org.apache.pekko.serialization
import java.util.concurrent.CompletableFuture
import java.util.concurrent.CompletionStage
import scala.concurrent.Future
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.apache.pekko
import pekko.actor.ExtendedActorSystem
import pekko.testkit.{ EventFilter, PekkoSpec }
diff --git a/actor-tests/src/test/scala/org/apache/pekko/serialization/PrimitivesSerializationSpec.scala b/actor-tests/src/test/scala/org/apache/pekko/serialization/PrimitivesSerializationSpec.scala
index baebb5a8fa6..d65032e64f8 100644
--- a/actor-tests/src/test/scala/org/apache/pekko/serialization/PrimitivesSerializationSpec.scala
+++ b/actor-tests/src/test/scala/org/apache/pekko/serialization/PrimitivesSerializationSpec.scala
@@ -18,7 +18,7 @@ import java.nio.ByteOrder
import scala.util.Random
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.apache.pekko
import pekko.testkit.PekkoSpec
diff --git a/actor-tests/src/test/scala/org/apache/pekko/serialization/SerializationSetupSpec.scala b/actor-tests/src/test/scala/org/apache/pekko/serialization/SerializationSetupSpec.scala
index 9b8aac0896f..3e82b3c52f8 100644
--- a/actor-tests/src/test/scala/org/apache/pekko/serialization/SerializationSetupSpec.scala
+++ b/actor-tests/src/test/scala/org/apache/pekko/serialization/SerializationSetupSpec.scala
@@ -18,7 +18,7 @@ import java.util.{ Date => SerializableDummy }
import java.util.concurrent.ConcurrentHashMap
import java.util.concurrent.atomic.AtomicInteger
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.apache.pekko
import pekko.actor.{ ActorSystem, BootstrapSetup, ExtendedActorSystem }
diff --git a/actor-tests/src/test/scala/org/apache/pekko/serialization/SerializeSpec.scala b/actor-tests/src/test/scala/org/apache/pekko/serialization/SerializeSpec.scala
index cb379ee8541..15e0dfb9c12 100644
--- a/actor-tests/src/test/scala/org/apache/pekko/serialization/SerializeSpec.scala
+++ b/actor-tests/src/test/scala/org/apache/pekko/serialization/SerializeSpec.scala
@@ -22,7 +22,7 @@ import scala.concurrent.Await
import scala.concurrent.duration._
import SerializationTests._
-import com.typesafe.config._
+import org.ekrich.config._
import test.org.apache.pekko.serialization.NoVerification
import org.apache.pekko
diff --git a/actor-tests/src/test/scala/org/apache/pekko/testkit/CallingThreadDispatcherModelSpec.scala b/actor-tests/src/test/scala/org/apache/pekko/testkit/CallingThreadDispatcherModelSpec.scala
index 720c84e2675..6fd130d2d40 100644
--- a/actor-tests/src/test/scala/org/apache/pekko/testkit/CallingThreadDispatcherModelSpec.scala
+++ b/actor-tests/src/test/scala/org/apache/pekko/testkit/CallingThreadDispatcherModelSpec.scala
@@ -15,7 +15,7 @@ package org.apache.pekko.testkit
import java.util.concurrent.atomic.AtomicInteger
-import com.typesafe.config.Config
+import org.ekrich.config.Config
import org.apache.pekko
import pekko.actor.dispatch.ActorModelSpec
diff --git a/actor-typed-tests/src/test/java/jdocs/org/apache/pekko/typed/MailboxDocTest.java b/actor-typed-tests/src/test/java/jdocs/org/apache/pekko/typed/MailboxDocTest.java
index 4906d0d045d..e5faded0c7a 100644
--- a/actor-typed-tests/src/test/java/jdocs/org/apache/pekko/typed/MailboxDocTest.java
+++ b/actor-typed-tests/src/test/java/jdocs/org/apache/pekko/typed/MailboxDocTest.java
@@ -13,7 +13,6 @@
package jdocs.org.apache.pekko.typed;
-import com.typesafe.config.ConfigFactory;
import org.apache.pekko.Done;
import org.apache.pekko.actor.testkit.typed.javadsl.LogCapturing;
import org.apache.pekko.actor.testkit.typed.javadsl.TestKitJunitResource;
@@ -23,6 +22,7 @@
import org.apache.pekko.actor.typed.Dispatchers;
import org.apache.pekko.actor.typed.MailboxSelector;
import org.apache.pekko.actor.typed.javadsl.Behaviors;
+import org.ekrich.config.ConfigFactory;
import org.junit.ClassRule;
import org.junit.Rule;
import org.junit.Test;
diff --git a/actor-typed-tests/src/test/java/org/apache/pekko/actor/typed/ExtensionsTest.java b/actor-typed-tests/src/test/java/org/apache/pekko/actor/typed/ExtensionsTest.java
index 8f9e341cd72..c6b436f61c7 100644
--- a/actor-typed-tests/src/test/java/org/apache/pekko/actor/typed/ExtensionsTest.java
+++ b/actor-typed-tests/src/test/java/org/apache/pekko/actor/typed/ExtensionsTest.java
@@ -17,11 +17,11 @@
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;
-import com.typesafe.config.Config;
-import com.typesafe.config.ConfigFactory;
import java.util.function.Function;
import org.apache.pekko.actor.setup.ActorSystemSetup;
import org.apache.pekko.actor.typed.javadsl.Behaviors;
+import org.ekrich.config.Config;
+import org.ekrich.config.ConfigFactory;
import org.junit.Test;
import org.scalatestplus.junit.JUnitSuite;
diff --git a/actor-typed-tests/src/test/java/org/apache/pekko/actor/typed/javadsl/ActorContextPipeToSelfTest.java b/actor-typed-tests/src/test/java/org/apache/pekko/actor/typed/javadsl/ActorContextPipeToSelfTest.java
index d09777a0f87..c0061cf682e 100644
--- a/actor-typed-tests/src/test/java/org/apache/pekko/actor/typed/javadsl/ActorContextPipeToSelfTest.java
+++ b/actor-typed-tests/src/test/java/org/apache/pekko/actor/typed/javadsl/ActorContextPipeToSelfTest.java
@@ -16,7 +16,6 @@
import static org.hamcrest.CoreMatchers.startsWith;
import static org.junit.Assert.*;
-import com.typesafe.config.ConfigFactory;
import java.time.Duration;
import java.util.concurrent.CompletableFuture;
import java.util.concurrent.CompletionStage;
@@ -27,6 +26,7 @@
import org.apache.pekko.actor.typed.ActorRef;
import org.apache.pekko.actor.typed.Behavior;
import org.apache.pekko.actor.typed.Props;
+import org.ekrich.config.ConfigFactory;
import org.junit.ClassRule;
import org.junit.Rule;
import org.junit.Test;
diff --git a/actor-typed-tests/src/test/java/org/apache/pekko/actor/typed/javadsl/ActorLoggingTest.java b/actor-typed-tests/src/test/java/org/apache/pekko/actor/typed/javadsl/ActorLoggingTest.java
index b5c3ff41a3a..dec2bb6a835 100644
--- a/actor-typed-tests/src/test/java/org/apache/pekko/actor/typed/javadsl/ActorLoggingTest.java
+++ b/actor-typed-tests/src/test/java/org/apache/pekko/actor/typed/javadsl/ActorLoggingTest.java
@@ -13,7 +13,6 @@
package org.apache.pekko.actor.typed.javadsl;
-import com.typesafe.config.ConfigFactory;
import java.util.HashMap;
import java.util.Map;
import java.util.concurrent.TimeUnit;
@@ -24,6 +23,7 @@
import org.apache.pekko.event.Logging;
import org.apache.pekko.japi.pf.PFBuilder;
import org.apache.pekko.testkit.CustomEventFilter;
+import org.ekrich.config.ConfigFactory;
import org.junit.ClassRule;
import org.junit.Rule;
import org.junit.Test;
diff --git a/actor-typed-tests/src/test/scala/docs/org/apache/pekko/typed/DispatchersDocSpec.scala b/actor-typed-tests/src/test/scala/docs/org/apache/pekko/typed/DispatchersDocSpec.scala
index c7dcdb1fbac..994e91a0438 100644
--- a/actor-typed-tests/src/test/scala/docs/org/apache/pekko/typed/DispatchersDocSpec.scala
+++ b/actor-typed-tests/src/test/scala/docs/org/apache/pekko/typed/DispatchersDocSpec.scala
@@ -22,7 +22,7 @@ import pekko.actor.typed.{ ActorRef, Behavior, DispatcherSelector, Props, SpawnP
import pekko.dispatch.Dispatcher
import DispatchersDocSpec._
import pekko.actor.testkit.typed.scaladsl.ScalaTestWithActorTestKit
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.scalatest.wordspec.AnyWordSpecLike
import scala.concurrent.Future
import pekko.actor.testkit.typed.scaladsl.LogCapturing
diff --git a/actor-typed-tests/src/test/scala/docs/org/apache/pekko/typed/MailboxDocSpec.scala b/actor-typed-tests/src/test/scala/docs/org/apache/pekko/typed/MailboxDocSpec.scala
index aecf77f4ba8..fb4cf34fb18 100644
--- a/actor-typed-tests/src/test/scala/docs/org/apache/pekko/typed/MailboxDocSpec.scala
+++ b/actor-typed-tests/src/test/scala/docs/org/apache/pekko/typed/MailboxDocSpec.scala
@@ -21,7 +21,7 @@ import pekko.actor.typed.Behavior
import pekko.actor.typed.Dispatchers
import pekko.actor.typed.MailboxSelector
import pekko.actor.typed.scaladsl.Behaviors
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.scalatest.wordspec.AnyWordSpecLike
class MailboxDocSpec
diff --git a/actor-typed-tests/src/test/scala/docs/org/apache/pekko/typed/extensions/ExtensionDocSpec.scala b/actor-typed-tests/src/test/scala/docs/org/apache/pekko/typed/extensions/ExtensionDocSpec.scala
index d7d6f831e02..bd48afca888 100644
--- a/actor-typed-tests/src/test/scala/docs/org/apache/pekko/typed/extensions/ExtensionDocSpec.scala
+++ b/actor-typed-tests/src/test/scala/docs/org/apache/pekko/typed/extensions/ExtensionDocSpec.scala
@@ -20,7 +20,7 @@ import pekko.actor.typed.Extension
import pekko.actor.typed.ExtensionId
import pekko.actor.typed.scaladsl.Behaviors
import scala.annotation.nowarn
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import scala.concurrent.Future
diff --git a/actor-typed-tests/src/test/scala/org/apache/pekko/actor/typed/ActorSystemSpec.scala b/actor-typed-tests/src/test/scala/org/apache/pekko/actor/typed/ActorSystemSpec.scala
index cfd411d59ba..67a06bac564 100644
--- a/actor-typed-tests/src/test/scala/org/apache/pekko/actor/typed/ActorSystemSpec.scala
+++ b/actor-typed-tests/src/test/scala/org/apache/pekko/actor/typed/ActorSystemSpec.scala
@@ -17,7 +17,7 @@
package org.apache.pekko.actor.typed
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.apache.pekko
import pekko.actor.typed.scaladsl.Behaviors
import pekko.testkit.PekkoSpec
diff --git a/actor-typed-tests/src/test/scala/org/apache/pekko/actor/typed/ExtensionsSpec.scala b/actor-typed-tests/src/test/scala/org/apache/pekko/actor/typed/ExtensionsSpec.scala
index 17bfa5d4ce2..9eca787640f 100644
--- a/actor-typed-tests/src/test/scala/org/apache/pekko/actor/typed/ExtensionsSpec.scala
+++ b/actor-typed-tests/src/test/scala/org/apache/pekko/actor/typed/ExtensionsSpec.scala
@@ -17,7 +17,7 @@ import java.util.concurrent.atomic.AtomicInteger
import scala.concurrent.Future
-import com.typesafe.config.{ Config, ConfigFactory }
+import org.ekrich.config.{ Config, ConfigFactory }
import org.scalatest.wordspec.AnyWordSpecLike
import org.apache.pekko
diff --git a/actor-typed-tests/src/test/scala/org/apache/pekko/actor/typed/coexistence/ClassicSupervisingTypedSpec.scala b/actor-typed-tests/src/test/scala/org/apache/pekko/actor/typed/coexistence/ClassicSupervisingTypedSpec.scala
index 3014042166d..79f87afa5e8 100644
--- a/actor-typed-tests/src/test/scala/org/apache/pekko/actor/typed/coexistence/ClassicSupervisingTypedSpec.scala
+++ b/actor-typed-tests/src/test/scala/org/apache/pekko/actor/typed/coexistence/ClassicSupervisingTypedSpec.scala
@@ -12,7 +12,7 @@
*/
package org.apache.pekko.actor.typed.coexistence
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.scalatest.BeforeAndAfterAll
import org.scalatest.wordspec.AnyWordSpecLike
diff --git a/actor-typed-tests/src/test/scala/org/apache/pekko/actor/typed/delivery/ConsumerControllerSpec.scala b/actor-typed-tests/src/test/scala/org/apache/pekko/actor/typed/delivery/ConsumerControllerSpec.scala
index 7fa2245f66c..18e38befd6c 100644
--- a/actor-typed-tests/src/test/scala/org/apache/pekko/actor/typed/delivery/ConsumerControllerSpec.scala
+++ b/actor-typed-tests/src/test/scala/org/apache/pekko/actor/typed/delivery/ConsumerControllerSpec.scala
@@ -15,7 +15,7 @@ package org.apache.pekko.actor.typed.delivery
import scala.concurrent.duration._
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.scalatest.wordspec.AnyWordSpecLike
import org.apache.pekko
import pekko.actor.testkit.typed.scaladsl.LogCapturing
diff --git a/actor-typed-tests/src/test/scala/org/apache/pekko/actor/typed/delivery/DurableProducerControllerSpec.scala b/actor-typed-tests/src/test/scala/org/apache/pekko/actor/typed/delivery/DurableProducerControllerSpec.scala
index 9c8a2047e88..55c08c47fed 100644
--- a/actor-typed-tests/src/test/scala/org/apache/pekko/actor/typed/delivery/DurableProducerControllerSpec.scala
+++ b/actor-typed-tests/src/test/scala/org/apache/pekko/actor/typed/delivery/DurableProducerControllerSpec.scala
@@ -17,7 +17,7 @@ import java.util.concurrent.atomic.AtomicReference
import scala.concurrent.duration._
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.scalatest.wordspec.AnyWordSpecLike
import org.apache.pekko
diff --git a/actor-typed-tests/src/test/scala/org/apache/pekko/actor/typed/delivery/ProducerControllerSpec.scala b/actor-typed-tests/src/test/scala/org/apache/pekko/actor/typed/delivery/ProducerControllerSpec.scala
index e62de6ce8d8..5eba831ced3 100644
--- a/actor-typed-tests/src/test/scala/org/apache/pekko/actor/typed/delivery/ProducerControllerSpec.scala
+++ b/actor-typed-tests/src/test/scala/org/apache/pekko/actor/typed/delivery/ProducerControllerSpec.scala
@@ -15,7 +15,7 @@ package org.apache.pekko.actor.typed.delivery
import scala.concurrent.duration._
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.scalatest.wordspec.AnyWordSpecLike
import org.apache.pekko
diff --git a/actor-typed-tests/src/test/scala/org/apache/pekko/actor/typed/delivery/ReliableDeliveryRandomSpec.scala b/actor-typed-tests/src/test/scala/org/apache/pekko/actor/typed/delivery/ReliableDeliveryRandomSpec.scala
index 99ec8e49c93..31db1f4e858 100644
--- a/actor-typed-tests/src/test/scala/org/apache/pekko/actor/typed/delivery/ReliableDeliveryRandomSpec.scala
+++ b/actor-typed-tests/src/test/scala/org/apache/pekko/actor/typed/delivery/ReliableDeliveryRandomSpec.scala
@@ -18,8 +18,8 @@ import java.util.concurrent.atomic.AtomicReference
import scala.concurrent.duration._
import scala.util.Random
-import com.typesafe.config.Config
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.Config
+import org.ekrich.config.ConfigFactory
import org.scalatest.wordspec.AnyWordSpecLike
import org.apache.pekko
diff --git a/actor-typed-tests/src/test/scala/org/apache/pekko/actor/typed/delivery/ReliableDeliverySpec.scala b/actor-typed-tests/src/test/scala/org/apache/pekko/actor/typed/delivery/ReliableDeliverySpec.scala
index 616f1878905..751ecbe0b70 100644
--- a/actor-typed-tests/src/test/scala/org/apache/pekko/actor/typed/delivery/ReliableDeliverySpec.scala
+++ b/actor-typed-tests/src/test/scala/org/apache/pekko/actor/typed/delivery/ReliableDeliverySpec.scala
@@ -15,8 +15,8 @@ package org.apache.pekko.actor.typed.delivery
import scala.concurrent.duration._
-import com.typesafe.config.Config
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.Config
+import org.ekrich.config.ConfigFactory
import org.scalatest.wordspec.AnyWordSpecLike
import org.apache.pekko
diff --git a/actor-typed-tests/src/test/scala/org/apache/pekko/actor/typed/delivery/TestConsumer.scala b/actor-typed-tests/src/test/scala/org/apache/pekko/actor/typed/delivery/TestConsumer.scala
index fd565d095f1..efaebe0677e 100644
--- a/actor-typed-tests/src/test/scala/org/apache/pekko/actor/typed/delivery/TestConsumer.scala
+++ b/actor-typed-tests/src/test/scala/org/apache/pekko/actor/typed/delivery/TestConsumer.scala
@@ -17,8 +17,8 @@ import java.nio.charset.StandardCharsets
import scala.concurrent.duration.Duration
import scala.concurrent.duration.FiniteDuration
import scala.concurrent.duration._
-import com.typesafe.config.Config
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.Config
+import org.ekrich.config.ConfigFactory
import org.apache.pekko
import pekko.actor.typed.ActorRef
import pekko.actor.typed.Behavior
diff --git a/actor-typed-tests/src/test/scala/org/apache/pekko/actor/typed/internal/ActorRefSerializationSpec.scala b/actor-typed-tests/src/test/scala/org/apache/pekko/actor/typed/internal/ActorRefSerializationSpec.scala
index c51891668c3..3125a3d6d02 100644
--- a/actor-typed-tests/src/test/scala/org/apache/pekko/actor/typed/internal/ActorRefSerializationSpec.scala
+++ b/actor-typed-tests/src/test/scala/org/apache/pekko/actor/typed/internal/ActorRefSerializationSpec.scala
@@ -13,7 +13,7 @@
package org.apache.pekko.actor.typed.internal
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.scalatest.wordspec.AnyWordSpecLike
import org.apache.pekko
diff --git a/actor-typed-tests/src/test/scala/org/apache/pekko/actor/typed/internal/ActorSystemSpec.scala b/actor-typed-tests/src/test/scala/org/apache/pekko/actor/typed/internal/ActorSystemSpec.scala
index 38a181640db..3a9751e0313 100644
--- a/actor-typed-tests/src/test/scala/org/apache/pekko/actor/typed/internal/ActorSystemSpec.scala
+++ b/actor-typed-tests/src/test/scala/org/apache/pekko/actor/typed/internal/ActorSystemSpec.scala
@@ -32,7 +32,7 @@ import pekko.actor.testkit.typed.scaladsl.LogCapturing
import pekko.actor.testkit.typed.scaladsl.TestInbox
import pekko.actor.testkit.typed.scaladsl.TestProbe
import pekko.actor.typed.scaladsl.Behaviors
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.scalatest.time.Span
import pekko.actor.testkit.typed.TestKitSettings
diff --git a/actor-typed-tests/src/test/scala/org/apache/pekko/actor/typed/scaladsl/ActorContextAskSpec.scala b/actor-typed-tests/src/test/scala/org/apache/pekko/actor/typed/scaladsl/ActorContextAskSpec.scala
index 42341dea040..5985e4aa48d 100644
--- a/actor-typed-tests/src/test/scala/org/apache/pekko/actor/typed/scaladsl/ActorContextAskSpec.scala
+++ b/actor-typed-tests/src/test/scala/org/apache/pekko/actor/typed/scaladsl/ActorContextAskSpec.scala
@@ -19,7 +19,7 @@ import scala.concurrent.TimeoutException
import scala.concurrent.duration._
import scala.reflect.ClassTag
import scala.util.{ Failure, Success }
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.scalatest.wordspec.AnyWordSpecLike
import org.apache.pekko
import pekko.actor.testkit.typed.scaladsl.LogCapturing
diff --git a/actor-typed-tests/src/test/scala/org/apache/pekko/actor/typed/scaladsl/ActorContextPipeToSelfSpec.scala b/actor-typed-tests/src/test/scala/org/apache/pekko/actor/typed/scaladsl/ActorContextPipeToSelfSpec.scala
index 1282f63caa1..187d42e7aa0 100644
--- a/actor-typed-tests/src/test/scala/org/apache/pekko/actor/typed/scaladsl/ActorContextPipeToSelfSpec.scala
+++ b/actor-typed-tests/src/test/scala/org/apache/pekko/actor/typed/scaladsl/ActorContextPipeToSelfSpec.scala
@@ -18,7 +18,7 @@ import scala.concurrent.Promise
import scala.util.{ Failure, Success }
import scala.util.control.NoStackTrace
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.scalatest.wordspec.AnyWordSpecLike
import org.apache.pekko
diff --git a/actor-typed-tests/src/test/scala/org/apache/pekko/actor/typed/scaladsl/ActorLoggingSpec.scala b/actor-typed-tests/src/test/scala/org/apache/pekko/actor/typed/scaladsl/ActorLoggingSpec.scala
index 769855a14c1..0b324d1921d 100644
--- a/actor-typed-tests/src/test/scala/org/apache/pekko/actor/typed/scaladsl/ActorLoggingSpec.scala
+++ b/actor-typed-tests/src/test/scala/org/apache/pekko/actor/typed/scaladsl/ActorLoggingSpec.scala
@@ -16,7 +16,7 @@ package org.apache.pekko.actor.typed.scaladsl
import java.util.concurrent.atomic.AtomicInteger
import java.util.concurrent.atomic.AtomicReference
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.scalatest.wordspec.AnyWordSpecLike
import org.slf4j.LoggerFactory
import org.slf4j.MDC
diff --git a/actor-typed-tests/src/test/scala/org/apache/pekko/actor/typed/scaladsl/DispatcherSelectorSpec.scala b/actor-typed-tests/src/test/scala/org/apache/pekko/actor/typed/scaladsl/DispatcherSelectorSpec.scala
index 62dcd12c5e4..4e07d41c60f 100644
--- a/actor-typed-tests/src/test/scala/org/apache/pekko/actor/typed/scaladsl/DispatcherSelectorSpec.scala
+++ b/actor-typed-tests/src/test/scala/org/apache/pekko/actor/typed/scaladsl/DispatcherSelectorSpec.scala
@@ -13,8 +13,8 @@
package org.apache.pekko.actor.typed.scaladsl
-import com.typesafe.config.Config
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.Config
+import org.ekrich.config.ConfigFactory
import org.scalatest.wordspec.AnyWordSpecLike
import org.apache.pekko
diff --git a/actor-typed-tests/src/test/scala/org/apache/pekko/actor/typed/scaladsl/MailboxSelectorSpec.scala b/actor-typed-tests/src/test/scala/org/apache/pekko/actor/typed/scaladsl/MailboxSelectorSpec.scala
index 0f9b6a42c7b..b5e1d66ab60 100644
--- a/actor-typed-tests/src/test/scala/org/apache/pekko/actor/typed/scaladsl/MailboxSelectorSpec.scala
+++ b/actor-typed-tests/src/test/scala/org/apache/pekko/actor/typed/scaladsl/MailboxSelectorSpec.scala
@@ -17,8 +17,8 @@
package org.apache.pekko.actor.typed.scaladsl
-import com.typesafe.config.Config
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.Config
+import org.ekrich.config.ConfigFactory
import org.scalatest.wordspec.AnyWordSpecLike
import org.apache.pekko
diff --git a/actor-typed-tests/src/test/scala/org/apache/pekko/actor/typed/scaladsl/MessageAdapterSpec.scala b/actor-typed-tests/src/test/scala/org/apache/pekko/actor/typed/scaladsl/MessageAdapterSpec.scala
index a45a03e875f..ec24c4e57bf 100644
--- a/actor-typed-tests/src/test/scala/org/apache/pekko/actor/typed/scaladsl/MessageAdapterSpec.scala
+++ b/actor-typed-tests/src/test/scala/org/apache/pekko/actor/typed/scaladsl/MessageAdapterSpec.scala
@@ -13,7 +13,7 @@
package org.apache.pekko.actor.typed.scaladsl
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.scalatest.wordspec.AnyWordSpecLike
import org.slf4j.LoggerFactory
diff --git a/actor-typed/src/main/mima-filters/2.0.x.backwards.excludes/replace-lightbend-config-with-sconfig.excludes b/actor-typed/src/main/mima-filters/2.0.x.backwards.excludes/replace-lightbend-config-with-sconfig.excludes
new file mode 100644
index 00000000000..6484866a6cc
--- /dev/null
+++ b/actor-typed/src/main/mima-filters/2.0.x.backwards.excludes/replace-lightbend-config-with-sconfig.excludes
@@ -0,0 +1,28 @@
+# 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.
+
+# Replacing Lightbend Config (https://github.com/lightbend/config) with sconfig (https://github.com/ekrich/sconfig)
+ProblemFilters.exclude[IncompatibleMethTypeProblem]("org.apache.pekko.actor.typed.ActorSystem.apply")
+ProblemFilters.exclude[IncompatibleMethTypeProblem]("org.apache.pekko.actor.typed.ActorSystem.create")
+ProblemFilters.exclude[IncompatibleResultTypeProblem]("org.apache.pekko.actor.typed.Settings.config")
+ProblemFilters.exclude[IncompatibleMethTypeProblem]("org.apache.pekko.actor.typed.Settings.this")
+ProblemFilters.exclude[IncompatibleMethTypeProblem]("org.apache.pekko.actor.typed.delivery.ConsumerController#Settings.apply")
+ProblemFilters.exclude[IncompatibleMethTypeProblem]("org.apache.pekko.actor.typed.delivery.ConsumerController#Settings.create")
+ProblemFilters.exclude[IncompatibleMethTypeProblem]("org.apache.pekko.actor.typed.delivery.ProducerController#Settings.apply")
+ProblemFilters.exclude[IncompatibleMethTypeProblem]("org.apache.pekko.actor.typed.delivery.ProducerController#Settings.create")
+ProblemFilters.exclude[IncompatibleMethTypeProblem]("org.apache.pekko.actor.typed.delivery.WorkPullingProducerController#Settings.apply")
+ProblemFilters.exclude[IncompatibleMethTypeProblem]("org.apache.pekko.actor.typed.delivery.WorkPullingProducerController#Settings.create")
diff --git a/actor-typed/src/main/scala/org/apache/pekko/actor/typed/ActorSystem.scala b/actor-typed/src/main/scala/org/apache/pekko/actor/typed/ActorSystem.scala
index d60d91077ee..49f6e2c4a96 100644
--- a/actor-typed/src/main/scala/org/apache/pekko/actor/typed/ActorSystem.scala
+++ b/actor-typed/src/main/scala/org/apache/pekko/actor/typed/ActorSystem.scala
@@ -17,7 +17,7 @@ import java.util.concurrent.{ CompletionStage, ThreadFactory }
import scala.concurrent.{ ExecutionContextExecutor, Future }
-import com.typesafe.config.{ Config, ConfigFactory }
+import org.ekrich.config.{ Config, ConfigFactory }
import org.slf4j.Logger
import org.apache.pekko
import pekko.{ actor => classic, Done }
diff --git a/actor-typed/src/main/scala/org/apache/pekko/actor/typed/delivery/ConsumerController.scala b/actor-typed/src/main/scala/org/apache/pekko/actor/typed/delivery/ConsumerController.scala
index 3ff6e20801b..27532679a3e 100644
--- a/actor-typed/src/main/scala/org/apache/pekko/actor/typed/delivery/ConsumerController.scala
+++ b/actor-typed/src/main/scala/org/apache/pekko/actor/typed/delivery/ConsumerController.scala
@@ -17,7 +17,7 @@ import java.time.{ Duration => JavaDuration }
import scala.concurrent.duration._
-import com.typesafe.config.Config
+import org.ekrich.config.Config
import org.apache.pekko
import pekko.actor.DeadLetterSuppression
diff --git a/actor-typed/src/main/scala/org/apache/pekko/actor/typed/delivery/ProducerController.scala b/actor-typed/src/main/scala/org/apache/pekko/actor/typed/delivery/ProducerController.scala
index 65e525d0a1f..9593afa6dae 100644
--- a/actor-typed/src/main/scala/org/apache/pekko/actor/typed/delivery/ProducerController.scala
+++ b/actor-typed/src/main/scala/org/apache/pekko/actor/typed/delivery/ProducerController.scala
@@ -19,7 +19,7 @@ import java.util.Optional
import scala.concurrent.duration._
import scala.reflect.ClassTag
-import com.typesafe.config.Config
+import org.ekrich.config.Config
import org.apache.pekko
import pekko.actor.typed.ActorRef
diff --git a/actor-typed/src/main/scala/org/apache/pekko/actor/typed/delivery/WorkPullingProducerController.scala b/actor-typed/src/main/scala/org/apache/pekko/actor/typed/delivery/WorkPullingProducerController.scala
index bbe094f3c21..ddf8c33ce7c 100644
--- a/actor-typed/src/main/scala/org/apache/pekko/actor/typed/delivery/WorkPullingProducerController.scala
+++ b/actor-typed/src/main/scala/org/apache/pekko/actor/typed/delivery/WorkPullingProducerController.scala
@@ -18,7 +18,7 @@ import java.util.Optional
import scala.concurrent.duration.FiniteDuration
import scala.reflect.ClassTag
-import com.typesafe.config.Config
+import org.ekrich.config.Config
import org.apache.pekko
import pekko.Done
diff --git a/actor/src/main/java/org/apache/pekko/actor/AbstractScheduler.java b/actor/src/main/java/org/apache/pekko/actor/AbstractScheduler.java
index 305af001161..514383d6edd 100644
--- a/actor/src/main/java/org/apache/pekko/actor/AbstractScheduler.java
+++ b/actor/src/main/java/org/apache/pekko/actor/AbstractScheduler.java
@@ -26,8 +26,8 @@
* its timeout.
*
*
Scheduler implementation are loaded reflectively at ActorSystem start-up with the following
- * constructor arguments: 1) the system’s com.typesafe.config.Config (from system.settings.config)
- * 2) a org.apache.pekko.event.LoggingAdapter 3) a java.util.concurrent.ThreadFactory
+ * constructor arguments: 1) the system’s org.ekrich.config.Config (from system.settings.config) 2)
+ * a org.apache.pekko.event.LoggingAdapter 3) a java.util.concurrent.ThreadFactory
*/
public abstract class AbstractScheduler extends AbstractSchedulerBase {
diff --git a/actor/src/main/mima-filters/2.0.x.backwards.excludes/replace-lightbend-config-with-sconfig.excludes b/actor/src/main/mima-filters/2.0.x.backwards.excludes/replace-lightbend-config-with-sconfig.excludes
new file mode 100644
index 00000000000..b120fa34ec5
--- /dev/null
+++ b/actor/src/main/mima-filters/2.0.x.backwards.excludes/replace-lightbend-config-with-sconfig.excludes
@@ -0,0 +1,102 @@
+# 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.
+
+# Replacing Lightbend Config (https://github.com/lightbend/config) with sconfig (https://github.com/ekrich/sconfig)
+ProblemFilters.exclude[IncompatibleSignatureProblem]("org.apache.pekko.actor.ActorSystem.apply$default$2")
+ProblemFilters.exclude[IncompatibleSignatureProblem]("org.apache.pekko.actor.ActorSystem.apply")
+ProblemFilters.exclude[IncompatibleMethTypeProblem]("org.apache.pekko.actor.ActorSystem.apply")
+ProblemFilters.exclude[IncompatibleMethTypeProblem]("org.apache.pekko.actor.ActorSystem.create")
+ProblemFilters.exclude[IncompatibleMethTypeProblem]("org.apache.pekko.actor.BootstrapSetup.create")
+ProblemFilters.exclude[IncompatibleSignatureProblem]("org.apache.pekko.actor.BootstrapSetup.create")
+ProblemFilters.exclude[IncompatibleMethTypeProblem]("org.apache.pekko.actor.BootstrapSetup.apply")
+ProblemFilters.exclude[IncompatibleSignatureProblem]("org.apache.pekko.actor.BootstrapSetup.apply")
+ProblemFilters.exclude[IncompatibleSignatureProblem]("org.apache.pekko.actor.BootstrapSetup.config")
+ProblemFilters.exclude[IncompatibleMethTypeProblem]("org.apache.pekko.actor.BootstrapSetup.withConfig")
+ProblemFilters.exclude[IncompatibleMethTypeProblem]("org.apache.pekko.actor.CoordinatedShutdown.confWithOverrides")
+ProblemFilters.exclude[IncompatibleMethTypeProblem]("org.apache.pekko.actor.CoordinatedShutdown.init")
+ProblemFilters.exclude[IncompatibleMethTypeProblem]("org.apache.pekko.actor.CoordinatedShutdown.phasesFromConfig")
+ProblemFilters.exclude[IncompatibleResultTypeProblem]("org.apache.pekko.actor.Deploy.$default$2")
+ProblemFilters.exclude[IncompatibleSignatureProblem]("org.apache.pekko.actor.Deploy.unapply")
+ProblemFilters.exclude[IncompatibleResultTypeProblem]("org.apache.pekko.actor.Deploy.apply$default$2")
+ProblemFilters.exclude[IncompatibleMethTypeProblem]("org.apache.pekko.actor.Deploy.apply")
+ProblemFilters.exclude[IncompatibleResultTypeProblem]("org.apache.pekko.actor.Deploy.config")
+ProblemFilters.exclude[IncompatibleMethTypeProblem]("org.apache.pekko.actor.Deploy.copy")
+ProblemFilters.exclude[IncompatibleResultTypeProblem]("org.apache.pekko.actor.Deploy.copy$default$2")
+ProblemFilters.exclude[IncompatibleMethTypeProblem]("org.apache.pekko.actor.Deploy.this")
+ProblemFilters.exclude[IncompatibleMethTypeProblem]("org.apache.pekko.actor.LightArrayRevolverScheduler.this")
+ProblemFilters.exclude[IncompatibleMethTypeProblem]("org.apache.pekko.dispatch.BoundedControlAwareMailbox.this")
+ProblemFilters.exclude[IncompatibleMethTypeProblem]("org.apache.pekko.dispatch.BoundedDequeBasedMailbox.this")
+ProblemFilters.exclude[IncompatibleMethTypeProblem]("org.apache.pekko.dispatch.BoundedMailbox.this")
+ProblemFilters.exclude[IncompatibleResultTypeProblem]("org.apache.pekko.dispatch.CachingConfig#PathEntry.config")
+ProblemFilters.exclude[ReversedMissingMethodProblem]("org.apache.pekko.dispatch.CachingConfig#PathEntry.config")
+ProblemFilters.exclude[IncompatibleResultTypeProblem]("org.apache.pekko.dispatch.CachingConfig#StringPathEntry.config")
+ProblemFilters.exclude[IncompatibleMethTypeProblem]("org.apache.pekko.dispatch.CachingConfig#StringPathEntry.copy")
+ProblemFilters.exclude[IncompatibleResultTypeProblem]("org.apache.pekko.dispatch.CachingConfig#StringPathEntry.copy$default$3")
+ProblemFilters.exclude[IncompatibleMethTypeProblem]("org.apache.pekko.dispatch.CachingConfig#StringPathEntry.this")
+ProblemFilters.exclude[IncompatibleMethTypeProblem]("org.apache.pekko.dispatch.CachingConfig#StringPathEntry.apply")
+ProblemFilters.exclude[IncompatibleSignatureProblem]("org.apache.pekko.dispatch.CachingConfig#StringPathEntry.unapply")
+ProblemFilters.exclude[IncompatibleResultTypeProblem]("org.apache.pekko.dispatch.CachingConfig#StringPathEntry._3")
+ProblemFilters.exclude[IncompatibleResultTypeProblem]("org.apache.pekko.dispatch.CachingConfig#ValuePathEntry.config")
+ProblemFilters.exclude[IncompatibleMethTypeProblem]("org.apache.pekko.dispatch.CachingConfig#ValuePathEntry.copy")
+ProblemFilters.exclude[IncompatibleResultTypeProblem]("org.apache.pekko.dispatch.CachingConfig#ValuePathEntry.copy$default$3")
+ProblemFilters.exclude[IncompatibleMethTypeProblem]("org.apache.pekko.dispatch.CachingConfig#ValuePathEntry.this")
+ProblemFilters.exclude[IncompatibleResultTypeProblem]("org.apache.pekko.dispatch.CachingConfig#ValuePathEntry.$default$3")
+ProblemFilters.exclude[IncompatibleMethTypeProblem]("org.apache.pekko.dispatch.CachingConfig#ValuePathEntry.apply")
+ProblemFilters.exclude[IncompatibleResultTypeProblem]("org.apache.pekko.dispatch.CachingConfig#ValuePathEntry.apply$default$3")
+ProblemFilters.exclude[IncompatibleSignatureProblem]("org.apache.pekko.dispatch.CachingConfig#ValuePathEntry.unapply")
+ProblemFilters.exclude[IncompatibleResultTypeProblem]("org.apache.pekko.dispatch.CachingConfig#ValuePathEntry._3")
+ProblemFilters.exclude[IncompatibleMethTypeProblem]("org.apache.pekko.dispatch.DefaultExecutorServiceConfigurator.this")
+ProblemFilters.exclude[IncompatibleMethTypeProblem]("org.apache.pekko.dispatch.DispatcherConfigurator.this")
+ProblemFilters.exclude[IncompatibleResultTypeProblem]("org.apache.pekko.dispatch.Dispatchers.defaultDispatcherConfig")
+ProblemFilters.exclude[IncompatibleMethTypeProblem]("org.apache.pekko.dispatch.Dispatchers.getConfig")
+ProblemFilters.exclude[IncompatibleMethTypeProblem]("org.apache.pekko.dispatch.ExecutorServiceConfigurator.this")
+ProblemFilters.exclude[IncompatibleMethTypeProblem]("org.apache.pekko.dispatch.ForkJoinExecutorConfigurator.this")
+ProblemFilters.exclude[IncompatibleResultTypeProblem]("org.apache.pekko.dispatch.MessageDispatcherConfigurator.config")
+ProblemFilters.exclude[IncompatibleMethTypeProblem]("org.apache.pekko.dispatch.MessageDispatcherConfigurator.this")
+ProblemFilters.exclude[IncompatibleMethTypeProblem]("org.apache.pekko.dispatch.NonBlockingBoundedMailbox.this")
+ProblemFilters.exclude[IncompatibleMethTypeProblem]("org.apache.pekko.dispatch.PinnedDispatcherConfigurator.this")
+ProblemFilters.exclude[IncompatibleMethTypeProblem]("org.apache.pekko.dispatch.SingleConsumerOnlyUnboundedMailbox.this")
+ProblemFilters.exclude[IncompatibleMethTypeProblem]("org.apache.pekko.dispatch.ThreadPoolExecutorConfigurator.createThreadPoolConfigBuilder")
+ProblemFilters.exclude[IncompatibleMethTypeProblem]("org.apache.pekko.dispatch.ThreadPoolExecutorConfigurator.this")
+ProblemFilters.exclude[IncompatibleMethTypeProblem]("org.apache.pekko.dispatch.UnboundedControlAwareMailbox.this")
+ProblemFilters.exclude[IncompatibleMethTypeProblem]("org.apache.pekko.dispatch.UnboundedDequeBasedMailbox.this")
+ProblemFilters.exclude[IncompatibleMethTypeProblem]("org.apache.pekko.dispatch.UnboundedMailbox.this")
+ProblemFilters.exclude[IncompatibleResultTypeProblem]("org.apache.pekko.io.DnsExt#Settings.ResolverConfig")
+ProblemFilters.exclude[IncompatibleMethTypeProblem]("org.apache.pekko.io.DnsExt#Settings.this")
+ProblemFilters.exclude[IncompatibleMethTypeProblem]("org.apache.pekko.io.InetAddressDnsResolver.this")
+ProblemFilters.exclude[IncompatibleMethTypeProblem]("org.apache.pekko.io.SelectionHandlerSettings.this")
+ProblemFilters.exclude[IncompatibleMethTypeProblem]("org.apache.pekko.routing.BalancingPool.this")
+ProblemFilters.exclude[IncompatibleMethTypeProblem]("org.apache.pekko.routing.BroadcastGroup.this")
+ProblemFilters.exclude[IncompatibleMethTypeProblem]("org.apache.pekko.routing.BroadcastPool.this")
+ProblemFilters.exclude[IncompatibleMethTypeProblem]("org.apache.pekko.routing.ConsistentHashingGroup.this")
+ProblemFilters.exclude[IncompatibleMethTypeProblem]("org.apache.pekko.routing.ConsistentHashingPool.this")
+ProblemFilters.exclude[IncompatibleMethTypeProblem]("org.apache.pekko.routing.DefaultResizer.fromConfig")
+ProblemFilters.exclude[IncompatibleMethTypeProblem]("org.apache.pekko.routing.DefaultResizer.apply")
+ProblemFilters.exclude[IncompatibleMethTypeProblem]("org.apache.pekko.routing.OptimalSizeExploringResizer.apply")
+ProblemFilters.exclude[IncompatibleMethTypeProblem]("org.apache.pekko.routing.RandomGroup.this")
+ProblemFilters.exclude[IncompatibleMethTypeProblem]("org.apache.pekko.routing.RandomPool.this")
+ProblemFilters.exclude[IncompatibleMethTypeProblem]("org.apache.pekko.routing.Resizer.fromConfig")
+ProblemFilters.exclude[IncompatibleMethTypeProblem]("org.apache.pekko.routing.RoundRobinGroup.this")
+ProblemFilters.exclude[IncompatibleMethTypeProblem]("org.apache.pekko.routing.RoundRobinPool.this")
+ProblemFilters.exclude[IncompatibleMethTypeProblem]("org.apache.pekko.routing.ScatterGatherFirstCompletedGroup.this")
+ProblemFilters.exclude[IncompatibleMethTypeProblem]("org.apache.pekko.routing.ScatterGatherFirstCompletedPool.this")
+ProblemFilters.exclude[IncompatibleMethTypeProblem]("org.apache.pekko.routing.SmallestMailboxPool.this")
+ProblemFilters.exclude[IncompatibleMethTypeProblem]("org.apache.pekko.routing.TailChoppingGroup.this")
+ProblemFilters.exclude[IncompatibleMethTypeProblem]("org.apache.pekko.routing.TailChoppingPool.this")
+ProblemFilters.exclude[IncompatibleResultTypeProblem]("org.apache.pekko.serialization.Serialization#Settings.config")
+ProblemFilters.exclude[IncompatibleMethTypeProblem]("org.apache.pekko.serialization.Serialization#Settings.this")
+ProblemFilters.exclude[IncompatibleMethTypeProblem]("org.apache.pekko.util.Helpers.ConfigOps")
diff --git a/actor/src/main/resources/reference.conf b/actor/src/main/resources/reference.conf
index 740c2975b49..8a4178b0e87 100644
--- a/actor/src/main/resources/reference.conf
+++ b/actor/src/main/resources/reference.conf
@@ -187,7 +187,7 @@ pekko {
# "scatter-gather", "broadcast"
# - or: Fully qualified class name of the router class.
# The class must extend org.apache.pekko.routing.CustomRouterConfig and
- # have a public constructor with com.typesafe.config.Config
+ # have a public constructor with org.ekrich.config.Config
# and optional org.apache.pekko.actor.DynamicAccess parameter.
# - default is "from-code";
# Whether or not an actor is transformed to a Router is decided in code
@@ -360,7 +360,7 @@ pekko {
# Must be one of the following
# Dispatcher, PinnedDispatcher, or a FQCN to a class inheriting
# MessageDispatcherConfigurator with a public constructor with
- # both com.typesafe.config.Config parameter and
+ # both org.ekrich.config.Config parameter and
# org.apache.pekko.dispatch.DispatcherPrerequisites parameters.
# PinnedDispatcher must be used together with executor=thread-pool-executor.
type = "Dispatcher"
@@ -424,7 +424,7 @@ pekko {
# FQCN of the org.apache.pekko.dispatch.affinity.QueueSelectorFactory.
# The Class of the FQCN must have a public constructor with a
- # (com.typesafe.config.Config) parameter.
+ # (org.ekrich.config.Config) parameter.
# A QueueSelectorFactory create instances of org.apache.pekko.dispatch.affinity.QueueSelector,
# that is responsible for determining which task queue a Runnable should be enqueued in.
queue-selector = "org.apache.pekko.dispatch.affinity.FairDistributionHashCache"
@@ -629,7 +629,7 @@ pekko {
default-mailbox {
# FQCN of the MailboxType. The Class of the FQCN must have a public
# constructor with
- # (org.apache.pekko.actor.ActorSystem.Settings, com.typesafe.config.Config) parameters.
+ # (org.apache.pekko.actor.ActorSystem.Settings, org.ekrich.config.Config) parameters.
mailbox-type = "org.apache.pekko.dispatch.UnboundedMailbox"
# If the mailbox is bounded then it uses this setting to determine its
@@ -684,42 +684,42 @@ pekko {
unbounded-queue-based {
# FQCN of the MailboxType, The Class of the FQCN must have a public
# constructor with (org.apache.pekko.actor.ActorSystem.Settings,
- # com.typesafe.config.Config) parameters.
+ # org.ekrich.config.Config) parameters.
mailbox-type = "org.apache.pekko.dispatch.UnboundedMailbox"
}
bounded-queue-based {
# FQCN of the MailboxType, The Class of the FQCN must have a public
# constructor with (org.apache.pekko.actor.ActorSystem.Settings,
- # com.typesafe.config.Config) parameters.
+ # org.ekrich.config.Config) parameters.
mailbox-type = "org.apache.pekko.dispatch.BoundedMailbox"
}
unbounded-deque-based {
# FQCN of the MailboxType, The Class of the FQCN must have a public
# constructor with (org.apache.pekko.actor.ActorSystem.Settings,
- # com.typesafe.config.Config) parameters.
+ # org.ekrich.config.Config) parameters.
mailbox-type = "org.apache.pekko.dispatch.UnboundedDequeBasedMailbox"
}
bounded-deque-based {
# FQCN of the MailboxType, The Class of the FQCN must have a public
# constructor with (org.apache.pekko.actor.ActorSystem.Settings,
- # com.typesafe.config.Config) parameters.
+ # org.ekrich.config.Config) parameters.
mailbox-type = "org.apache.pekko.dispatch.BoundedDequeBasedMailbox"
}
unbounded-control-aware-queue-based {
# FQCN of the MailboxType, The Class of the FQCN must have a public
# constructor with (org.apache.pekko.actor.ActorSystem.Settings,
- # com.typesafe.config.Config) parameters.
+ # org.ekrich.config.Config) parameters.
mailbox-type = "org.apache.pekko.dispatch.UnboundedControlAwareMailbox"
}
bounded-control-aware-queue-based {
# FQCN of the MailboxType, The Class of the FQCN must have a public
# constructor with (org.apache.pekko.actor.ActorSystem.Settings,
- # com.typesafe.config.Config) parameters.
+ # org.ekrich.config.Config) parameters.
mailbox-type = "org.apache.pekko.dispatch.BoundedControlAwareMailbox"
}
@@ -893,7 +893,7 @@ pekko {
# system start-up.
# The class given here must implement the org.apache.pekko.actor.Scheduler interface
# and offer a public constructor which takes three arguments:
- # 1) com.typesafe.config.Config
+ # 1) org.ekrich.config.Config
# 2) org.apache.pekko.event.LoggingAdapter
# 3) java.util.concurrent.ThreadFactory
implementation = org.apache.pekko.actor.LightArrayRevolverScheduler
diff --git a/actor/src/main/scala/org/apache/pekko/actor/ActorSystem.scala b/actor/src/main/scala/org/apache/pekko/actor/ActorSystem.scala
index 7a3d68e9a52..a5b3d853542 100644
--- a/actor/src/main/scala/org/apache/pekko/actor/ActorSystem.scala
+++ b/actor/src/main/scala/org/apache/pekko/actor/ActorSystem.scala
@@ -26,7 +26,7 @@ import scala.concurrent.duration.Duration
import scala.util.{ Failure, Success, Try }
import scala.util.control.{ ControlThrowable, NonFatal }
-import com.typesafe.config.{ Config, ConfigFactory }
+import org.ekrich.config.{ Config, ConfigFactory }
import org.apache.pekko
import pekko.ConfigurationException
diff --git a/actor/src/main/scala/org/apache/pekko/actor/CoordinatedShutdown.scala b/actor/src/main/scala/org/apache/pekko/actor/CoordinatedShutdown.scala
index 088b212568c..fb69e67b497 100644
--- a/actor/src/main/scala/org/apache/pekko/actor/CoordinatedShutdown.scala
+++ b/actor/src/main/scala/org/apache/pekko/actor/CoordinatedShutdown.scala
@@ -26,8 +26,8 @@ import scala.concurrent.duration.FiniteDuration
import scala.util.Try
import scala.util.control.NonFatal
-import com.typesafe.config.Config
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.Config
+import org.ekrich.config.ConfigFactory
import org.apache.pekko
import pekko.Done
diff --git a/actor/src/main/scala/org/apache/pekko/actor/Deployer.scala b/actor/src/main/scala/org/apache/pekko/actor/Deployer.scala
index c4e5c03a556..1cc80b1bcf5 100644
--- a/actor/src/main/scala/org/apache/pekko/actor/Deployer.scala
+++ b/actor/src/main/scala/org/apache/pekko/actor/Deployer.scala
@@ -18,7 +18,7 @@ import java.util.concurrent.atomic.AtomicReference
import scala.annotation.tailrec
import scala.annotation.nowarn
-import com.typesafe.config._
+import org.ekrich.config._
import org.apache.pekko
import pekko.annotation.InternalApi
@@ -37,7 +37,7 @@ object Deploy {
def apply(
path: String = "",
- config: Config = ConfigFactory.empty,
+ config: Config = ConfigFactory.empty(),
routerConfig: RouterConfig = NoRouter,
scope: Scope = NoScopeGiven,
dispatcher: String = Deploy.NoDispatcherGiven,
@@ -67,7 +67,7 @@ object Deploy {
@SerialVersionUID(3L)
final class Deploy(
val path: String = "",
- val config: Config = ConfigFactory.empty,
+ val config: Config = ConfigFactory.empty(),
val routerConfig: RouterConfig = NoRouter,
val scope: Scope = NoScopeGiven,
val dispatcher: String = Deploy.NoDispatcherGiven,
@@ -89,17 +89,17 @@ final class Deploy(
/**
* Java API to create a Deploy with the given RouterConfig
*/
- def this(routing: RouterConfig) = this("", ConfigFactory.empty, routing)
+ def this(routing: RouterConfig) = this("", ConfigFactory.empty(), routing)
/**
* Java API to create a Deploy with the given RouterConfig with Scope
*/
- def this(routing: RouterConfig, scope: Scope) = this("", ConfigFactory.empty, routing, scope)
+ def this(routing: RouterConfig, scope: Scope) = this("", ConfigFactory.empty(), routing, scope)
/**
* Java API to create a Deploy with the given Scope
*/
- def this(scope: Scope) = this("", ConfigFactory.empty, NoRouter, scope)
+ def this(scope: Scope) = this("", ConfigFactory.empty(), NoRouter, scope)
/**
* Do a merge between this and the other Deploy, where values from “this” take
diff --git a/actor/src/main/scala/org/apache/pekko/actor/LightArrayRevolverScheduler.scala b/actor/src/main/scala/org/apache/pekko/actor/LightArrayRevolverScheduler.scala
index 912ef5512cd..606f8da0151 100644
--- a/actor/src/main/scala/org/apache/pekko/actor/LightArrayRevolverScheduler.scala
+++ b/actor/src/main/scala/org/apache/pekko/actor/LightArrayRevolverScheduler.scala
@@ -24,7 +24,7 @@ import scala.concurrent.{ Await, ExecutionContext, Future, Promise }
import scala.concurrent.duration._
import scala.util.control.NonFatal
-import com.typesafe.config.Config
+import org.ekrich.config.Config
import org.apache.pekko
import pekko.actor.Scheduler.AtomicCancellable
import pekko.dispatch.AbstractNodeQueue
diff --git a/actor/src/main/scala/org/apache/pekko/actor/Scheduler.scala b/actor/src/main/scala/org/apache/pekko/actor/Scheduler.scala
index 89e44bbc59b..83131b9444c 100644
--- a/actor/src/main/scala/org/apache/pekko/actor/Scheduler.scala
+++ b/actor/src/main/scala/org/apache/pekko/actor/Scheduler.scala
@@ -53,7 +53,7 @@ private final case class SchedulerException(msg: String) extends pekko.PekkoExce
*
* Scheduler implementation are loaded reflectively at ActorSystem start-up
* with the following constructor arguments:
- * 1) the system’s com.typesafe.config.Config (from system.settings.config)
+ * 1) the system’s org.ekrich.config.Config (from system.settings.config)
* 2) a org.apache.pekko.event.LoggingAdapter
* 3) a java.util.concurrent.ThreadFactory
*/
diff --git a/actor/src/main/scala/org/apache/pekko/dispatch/AbstractDispatcher.scala b/actor/src/main/scala/org/apache/pekko/dispatch/AbstractDispatcher.scala
index dcbac6387f8..7fa14e7f487 100644
--- a/actor/src/main/scala/org/apache/pekko/dispatch/AbstractDispatcher.scala
+++ b/actor/src/main/scala/org/apache/pekko/dispatch/AbstractDispatcher.scala
@@ -30,7 +30,7 @@ import pekko.event.EventStream
import pekko.event.Logging.{ emptyMDC, Debug, Error, LogEventException, Warning }
import pekko.util.{ unused, Index, JavaVersion }
-import com.typesafe.config.Config
+import org.ekrich.config.Config
final case class Envelope private (message: Any, sender: ActorRef) {
diff --git a/actor/src/main/scala/org/apache/pekko/dispatch/CachingConfig.scala b/actor/src/main/scala/org/apache/pekko/dispatch/CachingConfig.scala
index 7dccac17719..a2b322c0ff2 100644
--- a/actor/src/main/scala/org/apache/pekko/dispatch/CachingConfig.scala
+++ b/actor/src/main/scala/org/apache/pekko/dispatch/CachingConfig.scala
@@ -19,7 +19,7 @@ import java.util.concurrent.{ ConcurrentHashMap, TimeUnit }
import scala.util.{ Failure, Success, Try }
-import com.typesafe.config._
+import org.ekrich.config._
/**
* INTERNAL API
@@ -68,8 +68,8 @@ private[pekko] class CachingConfig(_config: Config) extends Config {
case Failure(_) =>
emptyPathEntry
case Success(v) =>
- if (v.valueType() == ConfigValueType.STRING)
- StringPathEntry(true, true, v.atKey("cached"), v.unwrapped().asInstanceOf[String])
+ if (v.valueType == ConfigValueType.STRING)
+ StringPathEntry(true, true, v.atKey("cached"), v.unwrapped.asInstanceOf[String])
else
ValuePathEntry(true, true, v.atKey("cached"))
}
@@ -87,13 +87,13 @@ private[pekko] class CachingConfig(_config: Config) extends Config {
config.checkValid(reference, restrictToPaths: _*)
}
- def root() = config.root()
+ def root = config.root
- def origin() = config.origin()
+ def origin = config.origin
def withFallback(other: ConfigMergeable) = new CachingConfig(config.withFallback(other))
- def resolve() = resolve(ConfigResolveOptions.defaults())
+ def resolve() = resolve(ConfigResolveOptions.defaults)
def resolve(options: ConfigResolveOptions) = {
val resolved = config.resolve(options)
@@ -113,7 +113,7 @@ private[pekko] class CachingConfig(_config: Config) extends Config {
def isEmpty = config.isEmpty
- def entrySet() = config.entrySet()
+ def entrySet = config.entrySet
def getBoolean(path: String) = config.getBoolean(path)
@@ -201,7 +201,7 @@ private[pekko] class CachingConfig(_config: Config) extends Config {
def getMemorySizeList(path: String) = config.getMemorySizeList(path)
- def isResolved() = config.isResolved()
+ def isResolved = config.isResolved
def resolveWith(source: Config, options: ConfigResolveOptions) = config.resolveWith(source, options)
diff --git a/actor/src/main/scala/org/apache/pekko/dispatch/Dispatchers.scala b/actor/src/main/scala/org/apache/pekko/dispatch/Dispatchers.scala
index 00597f62f24..5b9ef898694 100644
--- a/actor/src/main/scala/org/apache/pekko/dispatch/Dispatchers.scala
+++ b/actor/src/main/scala/org/apache/pekko/dispatch/Dispatchers.scala
@@ -17,7 +17,7 @@ import java.util.concurrent.{ ConcurrentHashMap, ThreadFactory }
import scala.annotation.{ nowarn, tailrec }
import scala.concurrent.ExecutionContext
-import com.typesafe.config.{ Config, ConfigFactory, ConfigValueType }
+import org.ekrich.config.{ Config, ConfigFactory, ConfigValueType }
import org.apache.pekko
import pekko.ConfigurationException
import pekko.actor.{ ActorSystem, DynamicAccess, Scheduler }
@@ -168,12 +168,12 @@ class Dispatchers @InternalApi private[pekko] (
val newConfigurator: MessageDispatcherConfigurator =
if (cachingConfig.hasPath(id)) {
val valueAtPath = cachingConfig.getValue(id)
- valueAtPath.valueType() match {
+ valueAtPath.valueType match {
case ConfigValueType.STRING =>
// a dispatcher key can be an alias of another dispatcher, if it is a string
// we treat that string value as the id of a dispatcher to lookup, it will be stored
// both under the actual id and the alias id in the 'dispatcherConfigurators' cache
- val actualId = valueAtPath.unwrapped().asInstanceOf[String]
+ val actualId = valueAtPath.unwrapped.asInstanceOf[String]
logger.debug("Dispatcher id [{}] is an alias, actual dispatcher will be [{}]", id, actualId)
lookupConfigurator(actualId, depth + 1)
@@ -280,7 +280,7 @@ class Dispatchers @InternalApi private[pekko] (
case exception =>
throw new ConfigurationException(
("Cannot instantiate MessageDispatcherConfigurator type [%s], defined in [%s], " +
- "make sure it has constructor with [com.typesafe.config.Config] and " +
+ "make sure it has constructor with [org.ekrich.config.Config] and " +
"[org.apache.pekko.dispatch.DispatcherPrerequisites] parameters").format(fqn, cfg.getString("id")),
exception)
}
diff --git a/actor/src/main/scala/org/apache/pekko/dispatch/ForkJoinExecutorConfigurator.scala b/actor/src/main/scala/org/apache/pekko/dispatch/ForkJoinExecutorConfigurator.scala
index 15aef6536b6..2dc41787c8b 100644
--- a/actor/src/main/scala/org/apache/pekko/dispatch/ForkJoinExecutorConfigurator.scala
+++ b/actor/src/main/scala/org/apache/pekko/dispatch/ForkJoinExecutorConfigurator.scala
@@ -13,7 +13,7 @@
package org.apache.pekko.dispatch
-import com.typesafe.config.Config
+import org.ekrich.config.Config
import org.apache.pekko
import pekko.util.JavaVersion
diff --git a/actor/src/main/scala/org/apache/pekko/dispatch/Mailbox.scala b/actor/src/main/scala/org/apache/pekko/dispatch/Mailbox.scala
index e2b0e979591..7164d2c3267 100644
--- a/actor/src/main/scala/org/apache/pekko/dispatch/Mailbox.scala
+++ b/actor/src/main/scala/org/apache/pekko/dispatch/Mailbox.scala
@@ -20,7 +20,7 @@ import java.util.concurrent.locks.ReentrantLock
import scala.annotation.tailrec
import scala.concurrent.duration.{ Duration, FiniteDuration }
import scala.util.control.NonFatal
-import com.typesafe.config.Config
+import org.ekrich.config.Config
import org.apache.pekko
import pekko.actor.{ ActorCell, ActorRef, ActorSystem, DeadLetter, InternalActorRef }
import pekko.annotation.InternalStableApi
diff --git a/actor/src/main/scala/org/apache/pekko/dispatch/Mailboxes.scala b/actor/src/main/scala/org/apache/pekko/dispatch/Mailboxes.scala
index 66fd12eb5e9..48caa88dc1e 100644
--- a/actor/src/main/scala/org/apache/pekko/dispatch/Mailboxes.scala
+++ b/actor/src/main/scala/org/apache/pekko/dispatch/Mailboxes.scala
@@ -21,7 +21,7 @@ import scala.annotation.tailrec
import scala.concurrent.duration.Duration
import scala.util.control.NonFatal
-import com.typesafe.config.{ Config, ConfigFactory }
+import org.ekrich.config.{ Config, ConfigFactory }
import org.apache.pekko
import pekko.ConfigurationException
@@ -248,7 +248,7 @@ private[pekko] class Mailboxes(
case exception =>
throw new IllegalArgumentException(
s"Cannot instantiate MailboxType [$fqcn], defined in [$id], make sure it has a public" +
- " constructor with [org.apache.pekko.actor.ActorSystem.Settings, com.typesafe.config.Config] parameters",
+ " constructor with [org.apache.pekko.actor.ActorSystem.Settings, org.ekrich.config.Config] parameters",
exception)
}
.get
diff --git a/actor/src/main/scala/org/apache/pekko/dispatch/affinity/AffinityPool.scala b/actor/src/main/scala/org/apache/pekko/dispatch/affinity/AffinityPool.scala
index 21644fe05e0..8327127a254 100644
--- a/actor/src/main/scala/org/apache/pekko/dispatch/affinity/AffinityPool.scala
+++ b/actor/src/main/scala/org/apache/pekko/dispatch/affinity/AffinityPool.scala
@@ -22,7 +22,7 @@ import java.util.concurrent.locks.{ LockSupport, ReentrantLock }
import scala.annotation.{ switch, tailrec }
import scala.collection.{ immutable, mutable }
-import com.typesafe.config.Config
+import org.ekrich.config.Config
import org.apache.pekko
import pekko.annotation.{ ApiMayChange, InternalApi }
diff --git a/actor/src/main/scala/org/apache/pekko/event/LoggerMailbox.scala b/actor/src/main/scala/org/apache/pekko/event/LoggerMailbox.scala
index d8dbcc5c95d..54dc3c04efe 100644
--- a/actor/src/main/scala/org/apache/pekko/event/LoggerMailbox.scala
+++ b/actor/src/main/scala/org/apache/pekko/event/LoggerMailbox.scala
@@ -13,7 +13,7 @@
package org.apache.pekko.event
-import com.typesafe.config.Config
+import org.ekrich.config.Config
import org.apache.pekko
import pekko.actor.ActorRef
diff --git a/actor/src/main/scala/org/apache/pekko/io/Dns.scala b/actor/src/main/scala/org/apache/pekko/io/Dns.scala
index c112540bcc1..e7f1176381e 100644
--- a/actor/src/main/scala/org/apache/pekko/io/Dns.scala
+++ b/actor/src/main/scala/org/apache/pekko/io/Dns.scala
@@ -18,7 +18,7 @@ import java.util.concurrent.ConcurrentHashMap
import java.util.function.{ Function => JFunction }
import scala.annotation.nowarn
-import com.typesafe.config.Config
+import org.ekrich.config.Config
import org.apache.pekko
import pekko.actor._
diff --git a/actor/src/main/scala/org/apache/pekko/io/InetAddressDnsResolver.scala b/actor/src/main/scala/org/apache/pekko/io/InetAddressDnsResolver.scala
index 7e74dbfd7e1..37c9550cdbc 100644
--- a/actor/src/main/scala/org/apache/pekko/io/InetAddressDnsResolver.scala
+++ b/actor/src/main/scala/org/apache/pekko/io/InetAddressDnsResolver.scala
@@ -23,7 +23,7 @@ import scala.collection.immutable
import scala.concurrent.duration._
import scala.util.{ Failure, Success, Try }
-import com.typesafe.config.Config
+import org.ekrich.config.Config
import org.apache.pekko
import pekko.actor.{ Actor, ActorLogging }
diff --git a/actor/src/main/scala/org/apache/pekko/io/SelectionHandler.scala b/actor/src/main/scala/org/apache/pekko/io/SelectionHandler.scala
index f6dfdd58331..4c4aaa42436 100644
--- a/actor/src/main/scala/org/apache/pekko/io/SelectionHandler.scala
+++ b/actor/src/main/scala/org/apache/pekko/io/SelectionHandler.scala
@@ -25,7 +25,7 @@ import scala.concurrent.ExecutionContext
import scala.util.Try
import scala.util.control.NonFatal
-import com.typesafe.config.Config
+import org.ekrich.config.Config
import org.apache.pekko
import pekko.actor._
diff --git a/actor/src/main/scala/org/apache/pekko/io/Tcp.scala b/actor/src/main/scala/org/apache/pekko/io/Tcp.scala
index 2e171972c9b..dd3b6ecca55 100644
--- a/actor/src/main/scala/org/apache/pekko/io/Tcp.scala
+++ b/actor/src/main/scala/org/apache/pekko/io/Tcp.scala
@@ -22,7 +22,7 @@ import scala.collection.immutable
import scala.concurrent.duration._
import scala.annotation.nowarn
-import com.typesafe.config.Config
+import org.ekrich.config.Config
import org.apache.pekko
import pekko.actor._
diff --git a/actor/src/main/scala/org/apache/pekko/io/Udp.scala b/actor/src/main/scala/org/apache/pekko/io/Udp.scala
index a137bf738db..898e0d16a1b 100644
--- a/actor/src/main/scala/org/apache/pekko/io/Udp.scala
+++ b/actor/src/main/scala/org/apache/pekko/io/Udp.scala
@@ -19,7 +19,7 @@ import java.net.InetSocketAddress
import scala.collection.immutable
import scala.annotation.nowarn
-import com.typesafe.config.Config
+import org.ekrich.config.Config
import org.apache.pekko
import pekko.actor._
diff --git a/actor/src/main/scala/org/apache/pekko/io/dns/DnsSettings.scala b/actor/src/main/scala/org/apache/pekko/io/dns/DnsSettings.scala
index 6fe0e095eab..79b7b4d6867 100644
--- a/actor/src/main/scala/org/apache/pekko/io/dns/DnsSettings.scala
+++ b/actor/src/main/scala/org/apache/pekko/io/dns/DnsSettings.scala
@@ -37,7 +37,7 @@ import scala.collection.immutable
import scala.concurrent.duration.FiniteDuration
import scala.util.{ Failure, Success, Try }
-import com.typesafe.config.{ Config, ConfigValueType }
+import org.ekrich.config.{ Config, ConfigValueType }
import org.apache.pekko
import pekko.actor.ExtendedActorSystem
@@ -58,7 +58,7 @@ private[dns] final class DnsSettings(system: ExtendedActorSystem, c: Config) {
import DnsSettings._
val NameServers: List[InetSocketAddress] = {
- c.getValue("nameservers").valueType() match {
+ c.getValue("nameservers").valueType match {
case ConfigValueType.STRING =>
c.getString("nameservers") match {
case "default" =>
@@ -125,7 +125,7 @@ private[dns] final class DnsSettings(system: ExtendedActorSystem, c: Config) {
}
val SearchDomains: List[String] = {
- c.getValue("search-domains").valueType() match {
+ c.getValue("search-domains").valueType match {
case ConfigValueType.STRING =>
c.getString("search-domains") match {
case "default" => resolvConf.map(_.search).getOrElse(Nil)
@@ -138,7 +138,7 @@ private[dns] final class DnsSettings(system: ExtendedActorSystem, c: Config) {
}
val NDots: Int = {
- c.getValue("ndots").valueType() match {
+ c.getValue("ndots").valueType match {
case ConfigValueType.STRING =>
c.getString("ndots") match {
case "default" => resolvConf.map(_.ndots).getOrElse(1)
diff --git a/actor/src/main/scala/org/apache/pekko/io/dns/internal/AsyncDnsManager.scala b/actor/src/main/scala/org/apache/pekko/io/dns/internal/AsyncDnsManager.scala
index e016eba3146..8b89dfddbfa 100644
--- a/actor/src/main/scala/org/apache/pekko/io/dns/internal/AsyncDnsManager.scala
+++ b/actor/src/main/scala/org/apache/pekko/io/dns/internal/AsyncDnsManager.scala
@@ -19,7 +19,7 @@ import java.util.concurrent.TimeUnit
import scala.concurrent.ExecutionContextExecutor
import scala.concurrent.duration.Duration
-import com.typesafe.config.Config
+import org.ekrich.config.Config
import org.apache.pekko
import pekko.actor.{ Actor, ActorLogging, ActorRefFactory, Deploy, ExtendedActorSystem, Props, Timers }
diff --git a/actor/src/main/scala/org/apache/pekko/routing/Balancing.scala b/actor/src/main/scala/org/apache/pekko/routing/Balancing.scala
index 286c96177e5..fdca624658f 100644
--- a/actor/src/main/scala/org/apache/pekko/routing/Balancing.scala
+++ b/actor/src/main/scala/org/apache/pekko/routing/Balancing.scala
@@ -16,8 +16,8 @@ package org.apache.pekko.routing
import scala.collection.immutable
import scala.annotation.nowarn
-import com.typesafe.config.Config
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.Config
+import org.ekrich.config.ConfigFactory
import org.apache.pekko
import pekko.actor.ActorContext
@@ -132,7 +132,7 @@ final case class BalancingPool(
// use the user defined 'pool-dispatcher' config as fallback, if any
if (systemConfig.hasPath(deployDispatcherConfigPath))
systemConfig.getConfig(deployDispatcherConfigPath)
- else ConfigFactory.empty)
+ else ConfigFactory.empty())
dispatchers.registerConfigurator(
dispatcherId,
diff --git a/actor/src/main/scala/org/apache/pekko/routing/Broadcast.scala b/actor/src/main/scala/org/apache/pekko/routing/Broadcast.scala
index b1f61cbfe8a..4f8181ad5c4 100644
--- a/actor/src/main/scala/org/apache/pekko/routing/Broadcast.scala
+++ b/actor/src/main/scala/org/apache/pekko/routing/Broadcast.scala
@@ -16,7 +16,7 @@ package org.apache.pekko.routing
import scala.collection.immutable
import scala.annotation.nowarn
-import com.typesafe.config.Config
+import org.ekrich.config.Config
import org.apache.pekko
import pekko.actor.ActorSystem
diff --git a/actor/src/main/scala/org/apache/pekko/routing/ConsistentHashing.scala b/actor/src/main/scala/org/apache/pekko/routing/ConsistentHashing.scala
index c207a5c579b..355270c0c94 100644
--- a/actor/src/main/scala/org/apache/pekko/routing/ConsistentHashing.scala
+++ b/actor/src/main/scala/org/apache/pekko/routing/ConsistentHashing.scala
@@ -18,7 +18,7 @@ import java.util.concurrent.atomic.AtomicReference
import scala.collection.immutable
import scala.util.control.NonFatal
-import com.typesafe.config.Config
+import org.ekrich.config.Config
import org.apache.pekko
import pekko.actor.ActorPath
diff --git a/actor/src/main/scala/org/apache/pekko/routing/OptimalSizeExploringResizer.scala b/actor/src/main/scala/org/apache/pekko/routing/OptimalSizeExploringResizer.scala
index 3967d264e3d..e79314d8790 100644
--- a/actor/src/main/scala/org/apache/pekko/routing/OptimalSizeExploringResizer.scala
+++ b/actor/src/main/scala/org/apache/pekko/routing/OptimalSizeExploringResizer.scala
@@ -20,7 +20,7 @@ import scala.collection.immutable
import scala.concurrent.duration._
import OptimalSizeExploringResizer._
-import com.typesafe.config.Config
+import org.ekrich.config.Config
import org.apache.pekko
import pekko.actor._
diff --git a/actor/src/main/scala/org/apache/pekko/routing/Random.scala b/actor/src/main/scala/org/apache/pekko/routing/Random.scala
index 9da3b228d01..81859ec94b6 100644
--- a/actor/src/main/scala/org/apache/pekko/routing/Random.scala
+++ b/actor/src/main/scala/org/apache/pekko/routing/Random.scala
@@ -18,7 +18,7 @@ import java.util.concurrent.ThreadLocalRandom
import scala.collection.immutable
import scala.annotation.nowarn
-import com.typesafe.config.Config
+import org.ekrich.config.Config
import org.apache.pekko
import pekko.actor.ActorSystem
diff --git a/actor/src/main/scala/org/apache/pekko/routing/Resizer.scala b/actor/src/main/scala/org/apache/pekko/routing/Resizer.scala
index d055b59a4dc..55b6e1e60c6 100644
--- a/actor/src/main/scala/org/apache/pekko/routing/Resizer.scala
+++ b/actor/src/main/scala/org/apache/pekko/routing/Resizer.scala
@@ -18,7 +18,7 @@ import java.util.concurrent.atomic.AtomicLong
import scala.collection.immutable
-import com.typesafe.config.Config
+import org.ekrich.config.Config
import org.apache.pekko
import pekko.PekkoException
diff --git a/actor/src/main/scala/org/apache/pekko/routing/RoundRobin.scala b/actor/src/main/scala/org/apache/pekko/routing/RoundRobin.scala
index ddf279a69b7..187f1eca75c 100644
--- a/actor/src/main/scala/org/apache/pekko/routing/RoundRobin.scala
+++ b/actor/src/main/scala/org/apache/pekko/routing/RoundRobin.scala
@@ -18,7 +18,7 @@ import java.util.concurrent.atomic.AtomicLong
import scala.collection.immutable
import scala.annotation.nowarn
-import com.typesafe.config.Config
+import org.ekrich.config.Config
import org.apache.pekko
import pekko.actor.ActorSystem
diff --git a/actor/src/main/scala/org/apache/pekko/routing/ScatterGatherFirstCompleted.scala b/actor/src/main/scala/org/apache/pekko/routing/ScatterGatherFirstCompleted.scala
index 5a24ae78a0e..b7023d129e2 100644
--- a/actor/src/main/scala/org/apache/pekko/routing/ScatterGatherFirstCompleted.scala
+++ b/actor/src/main/scala/org/apache/pekko/routing/ScatterGatherFirstCompleted.scala
@@ -20,7 +20,7 @@ import scala.concurrent.Future
import scala.concurrent.Promise
import scala.concurrent.duration.FiniteDuration
-import com.typesafe.config.Config
+import org.ekrich.config.Config
import org.apache.pekko
import pekko.actor.ActorRef
diff --git a/actor/src/main/scala/org/apache/pekko/routing/SmallestMailbox.scala b/actor/src/main/scala/org/apache/pekko/routing/SmallestMailbox.scala
index a549d66bd5a..3bece005b16 100644
--- a/actor/src/main/scala/org/apache/pekko/routing/SmallestMailbox.scala
+++ b/actor/src/main/scala/org/apache/pekko/routing/SmallestMailbox.scala
@@ -19,7 +19,7 @@ import scala.annotation.tailrec
import scala.collection.immutable
import scala.annotation.nowarn
-import com.typesafe.config.Config
+import org.ekrich.config.Config
import org.apache.pekko
import pekko.actor.ActorCell
diff --git a/actor/src/main/scala/org/apache/pekko/routing/TailChopping.scala b/actor/src/main/scala/org/apache/pekko/routing/TailChopping.scala
index 5343bdd1768..58b6c66dc9e 100644
--- a/actor/src/main/scala/org/apache/pekko/routing/TailChopping.scala
+++ b/actor/src/main/scala/org/apache/pekko/routing/TailChopping.scala
@@ -20,7 +20,7 @@ import scala.concurrent.{ ExecutionContext, Promise }
import scala.concurrent.duration._
import scala.util.Random
-import com.typesafe.config.Config
+import org.ekrich.config.Config
import org.apache.pekko
import pekko.actor._
diff --git a/actor/src/main/scala/org/apache/pekko/serialization/Serialization.scala b/actor/src/main/scala/org/apache/pekko/serialization/Serialization.scala
index e76d6e5de23..cfe2e2db761 100644
--- a/actor/src/main/scala/org/apache/pekko/serialization/Serialization.scala
+++ b/actor/src/main/scala/org/apache/pekko/serialization/Serialization.scala
@@ -26,7 +26,7 @@ import scala.util.{ DynamicVariable, Failure, Try }
import scala.util.Success
import scala.util.control.NonFatal
-import com.typesafe.config.Config
+import org.ekrich.config.Config
import org.apache.pekko
import pekko.actor._
diff --git a/actor/src/main/scala/org/apache/pekko/util/Helpers.scala b/actor/src/main/scala/org/apache/pekko/util/Helpers.scala
index 8b93060302d..d9dc63ca8d5 100644
--- a/actor/src/main/scala/org/apache/pekko/util/Helpers.scala
+++ b/actor/src/main/scala/org/apache/pekko/util/Helpers.scala
@@ -33,7 +33,7 @@ import java.util.concurrent.TimeUnit
import java.util.regex.Pattern
import scala.annotation.tailrec
import scala.concurrent.duration.{ Duration, FiniteDuration }
-import com.typesafe.config.{ Config, ConfigRenderOptions }
+import org.ekrich.config.{ Config, ConfigRenderOptions }
object Helpers {
@@ -187,7 +187,7 @@ object Helpers {
*/
def renderWithRedactions(): String = {
val username = System.getProperty("user.name")
- val configText = config.root.render(ConfigRenderOptions.defaults().setShowEnvVariableValues(false))
+ val configText = config.root.render(ConfigRenderOptions.defaults.setShowEnvVariableValues(false))
configText.replace(username, "")
}
diff --git a/bench-jmh/src/main/scala/org/apache/pekko/actor/ActorBenchmark.scala b/bench-jmh/src/main/scala/org/apache/pekko/actor/ActorBenchmark.scala
index d6348d83b22..04875ee46c8 100644
--- a/bench-jmh/src/main/scala/org/apache/pekko/actor/ActorBenchmark.scala
+++ b/bench-jmh/src/main/scala/org/apache/pekko/actor/ActorBenchmark.scala
@@ -19,7 +19,7 @@ import scala.concurrent.Await
import scala.concurrent.duration._
import BenchmarkActors._
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.openjdk.jmh.annotations._
object ActorBenchmark {
diff --git a/bench-jmh/src/main/scala/org/apache/pekko/actor/AffinityPoolComparativeBenchmark.scala b/bench-jmh/src/main/scala/org/apache/pekko/actor/AffinityPoolComparativeBenchmark.scala
index b69f7ac504d..7361a6b9907 100644
--- a/bench-jmh/src/main/scala/org/apache/pekko/actor/AffinityPoolComparativeBenchmark.scala
+++ b/bench-jmh/src/main/scala/org/apache/pekko/actor/AffinityPoolComparativeBenchmark.scala
@@ -15,7 +15,7 @@ package org.apache.pekko.actor
import java.util.concurrent.TimeUnit
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.openjdk.jmh.annotations._
import org.apache.pekko
diff --git a/bench-jmh/src/main/scala/org/apache/pekko/actor/AffinityPoolIdleCPULevelBenchmark.scala b/bench-jmh/src/main/scala/org/apache/pekko/actor/AffinityPoolIdleCPULevelBenchmark.scala
index c0b2d94d50f..61dd6ea817c 100644
--- a/bench-jmh/src/main/scala/org/apache/pekko/actor/AffinityPoolIdleCPULevelBenchmark.scala
+++ b/bench-jmh/src/main/scala/org/apache/pekko/actor/AffinityPoolIdleCPULevelBenchmark.scala
@@ -15,7 +15,7 @@ package org.apache.pekko.actor
import java.util.concurrent.TimeUnit
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.openjdk.jmh.annotations._
import org.apache.pekko.actor.BenchmarkActors._
diff --git a/bench-jmh/src/main/scala/org/apache/pekko/actor/AffinityPoolRequestResponseBenchmark.scala b/bench-jmh/src/main/scala/org/apache/pekko/actor/AffinityPoolRequestResponseBenchmark.scala
index d5c51a3e6c6..cd57175f483 100644
--- a/bench-jmh/src/main/scala/org/apache/pekko/actor/AffinityPoolRequestResponseBenchmark.scala
+++ b/bench-jmh/src/main/scala/org/apache/pekko/actor/AffinityPoolRequestResponseBenchmark.scala
@@ -15,7 +15,7 @@ package org.apache.pekko.actor
import java.util.concurrent.{ CountDownLatch, TimeUnit }
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.openjdk.jmh.annotations._
import org.apache.pekko
diff --git a/bench-jmh/src/main/scala/org/apache/pekko/actor/ForkJoinActorBenchmark.scala b/bench-jmh/src/main/scala/org/apache/pekko/actor/ForkJoinActorBenchmark.scala
index 16ec75c1fe0..1dba33788f5 100644
--- a/bench-jmh/src/main/scala/org/apache/pekko/actor/ForkJoinActorBenchmark.scala
+++ b/bench-jmh/src/main/scala/org/apache/pekko/actor/ForkJoinActorBenchmark.scala
@@ -20,7 +20,7 @@ import scala.concurrent.Await
import scala.concurrent.duration._
import BenchmarkActors._
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.openjdk.jmh.annotations._
import org.apache.pekko.testkit.TestProbe
diff --git a/bench-jmh/src/main/scala/org/apache/pekko/actor/JCToolsMailbox.scala b/bench-jmh/src/main/scala/org/apache/pekko/actor/JCToolsMailbox.scala
index 2e48e72050f..cb227ce2f03 100644
--- a/bench-jmh/src/main/scala/org/apache/pekko/actor/JCToolsMailbox.scala
+++ b/bench-jmh/src/main/scala/org/apache/pekko/actor/JCToolsMailbox.scala
@@ -16,7 +16,7 @@ package org.apache.pekko.actor
import scala.annotation.tailrec
import scala.concurrent.duration.Duration
-import com.typesafe.config.Config
+import org.ekrich.config.Config
import org.jctools.queues.MpscGrowableArrayQueue
import org.apache.pekko
diff --git a/bench-jmh/src/main/scala/org/apache/pekko/actor/ManyToOneArrayMailbox.scala b/bench-jmh/src/main/scala/org/apache/pekko/actor/ManyToOneArrayMailbox.scala
index dba7df6c60d..b3e328f6020 100644
--- a/bench-jmh/src/main/scala/org/apache/pekko/actor/ManyToOneArrayMailbox.scala
+++ b/bench-jmh/src/main/scala/org/apache/pekko/actor/ManyToOneArrayMailbox.scala
@@ -16,7 +16,7 @@ package org.apache.pekko.actor
import scala.annotation.tailrec
import scala.concurrent.duration.Duration
-import com.typesafe.config.Config
+import org.ekrich.config.Config
import org.agrona.concurrent.ManyToOneConcurrentArrayQueue
import org.apache.pekko
diff --git a/bench-jmh/src/main/scala/org/apache/pekko/actor/StashCreationBenchmark.scala b/bench-jmh/src/main/scala/org/apache/pekko/actor/StashCreationBenchmark.scala
index 683c6b90ede..cb0c5c50da6 100644
--- a/bench-jmh/src/main/scala/org/apache/pekko/actor/StashCreationBenchmark.scala
+++ b/bench-jmh/src/main/scala/org/apache/pekko/actor/StashCreationBenchmark.scala
@@ -18,7 +18,7 @@ import java.util.concurrent.TimeUnit
import scala.concurrent.Await
import scala.concurrent.duration._
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.openjdk.jmh.annotations._
import org.apache.pekko.testkit.TestProbe
diff --git a/bench-jmh/src/main/scala/org/apache/pekko/actor/TellOnlyBenchmark.scala b/bench-jmh/src/main/scala/org/apache/pekko/actor/TellOnlyBenchmark.scala
index 7cc04807799..a209f3b4469 100644
--- a/bench-jmh/src/main/scala/org/apache/pekko/actor/TellOnlyBenchmark.scala
+++ b/bench-jmh/src/main/scala/org/apache/pekko/actor/TellOnlyBenchmark.scala
@@ -18,7 +18,7 @@ import java.util.concurrent.TimeUnit
import scala.concurrent.Await
import scala.concurrent.duration._
-import com.typesafe.config.{ Config, ConfigFactory }
+import org.ekrich.config.{ Config, ConfigFactory }
import org.openjdk.jmh.annotations._
import org.apache.pekko
diff --git a/bench-jmh/src/main/scala/org/apache/pekko/actor/typed/TypedActorBenchmark.scala b/bench-jmh/src/main/scala/org/apache/pekko/actor/typed/TypedActorBenchmark.scala
index 56049bc876d..6d7d7113c67 100644
--- a/bench-jmh/src/main/scala/org/apache/pekko/actor/typed/TypedActorBenchmark.scala
+++ b/bench-jmh/src/main/scala/org/apache/pekko/actor/typed/TypedActorBenchmark.scala
@@ -18,7 +18,7 @@ import java.util.concurrent.TimeUnit
import scala.concurrent.Await
import scala.concurrent.duration._
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.openjdk.jmh.annotations._
import org.apache.pekko
diff --git a/bench-jmh/src/main/scala/org/apache/pekko/actor/typed/TypedForkJoinActorBenchmark.scala b/bench-jmh/src/main/scala/org/apache/pekko/actor/typed/TypedForkJoinActorBenchmark.scala
index f0b7854ee2d..3f207bdf764 100644
--- a/bench-jmh/src/main/scala/org/apache/pekko/actor/typed/TypedForkJoinActorBenchmark.scala
+++ b/bench-jmh/src/main/scala/org/apache/pekko/actor/typed/TypedForkJoinActorBenchmark.scala
@@ -19,7 +19,7 @@ import scala.concurrent.Await
import scala.concurrent.Future
import scala.concurrent.duration._
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.openjdk.jmh.annotations.Benchmark
import org.openjdk.jmh.annotations.BenchmarkMode
import org.openjdk.jmh.annotations.Fork
diff --git a/bench-jmh/src/main/scala/org/apache/pekko/actor/typed/delivery/ReliableDeliveryBenchmark.scala b/bench-jmh/src/main/scala/org/apache/pekko/actor/typed/delivery/ReliableDeliveryBenchmark.scala
index 0651949efb0..c560f967ce1 100644
--- a/bench-jmh/src/main/scala/org/apache/pekko/actor/typed/delivery/ReliableDeliveryBenchmark.scala
+++ b/bench-jmh/src/main/scala/org/apache/pekko/actor/typed/delivery/ReliableDeliveryBenchmark.scala
@@ -21,7 +21,7 @@ import scala.concurrent.duration._
import scala.util.Failure
import scala.util.Success
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.openjdk.jmh.annotations._
import org.apache.pekko
diff --git a/bench-jmh/src/main/scala/org/apache/pekko/cluster/ddata/ORSetSerializationBenchmark.scala b/bench-jmh/src/main/scala/org/apache/pekko/cluster/ddata/ORSetSerializationBenchmark.scala
index 9d8c898f6a2..d2bf44b7828 100644
--- a/bench-jmh/src/main/scala/org/apache/pekko/cluster/ddata/ORSetSerializationBenchmark.scala
+++ b/bench-jmh/src/main/scala/org/apache/pekko/cluster/ddata/ORSetSerializationBenchmark.scala
@@ -18,7 +18,7 @@ import java.util.concurrent.TimeUnit
import scala.concurrent.Await
import scala.concurrent.duration._
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.openjdk.jmh.annotations.{ Scope => JmhScope }
import org.openjdk.jmh.annotations.Benchmark
import org.openjdk.jmh.annotations.BenchmarkMode
diff --git a/bench-jmh/src/main/scala/org/apache/pekko/dispatch/CachingConfigBenchmark.scala b/bench-jmh/src/main/scala/org/apache/pekko/dispatch/CachingConfigBenchmark.scala
index 0275cc49f51..822428021b0 100644
--- a/bench-jmh/src/main/scala/org/apache/pekko/dispatch/CachingConfigBenchmark.scala
+++ b/bench-jmh/src/main/scala/org/apache/pekko/dispatch/CachingConfigBenchmark.scala
@@ -15,7 +15,7 @@ package org.apache.pekko.dispatch
import java.util.concurrent.TimeUnit
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.openjdk.jmh.annotations._
@State(Scope.Benchmark)
diff --git a/bench-jmh/src/main/scala/org/apache/pekko/dispatch/NodeQueueBenchmark.scala b/bench-jmh/src/main/scala/org/apache/pekko/dispatch/NodeQueueBenchmark.scala
index b08ddbe34b5..48a36dcb4c9 100644
--- a/bench-jmh/src/main/scala/org/apache/pekko/dispatch/NodeQueueBenchmark.scala
+++ b/bench-jmh/src/main/scala/org/apache/pekko/dispatch/NodeQueueBenchmark.scala
@@ -18,7 +18,7 @@ import java.util.concurrent.TimeUnit
import scala.concurrent.Await
import scala.concurrent.duration._
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.openjdk.jmh.annotations._
import org.apache.pekko
diff --git a/bench-jmh/src/main/scala/org/apache/pekko/remote/artery/CodecBenchmark.scala b/bench-jmh/src/main/scala/org/apache/pekko/remote/artery/CodecBenchmark.scala
index a1cb3a85619..62a929f0266 100644
--- a/bench-jmh/src/main/scala/org/apache/pekko/remote/artery/CodecBenchmark.scala
+++ b/bench-jmh/src/main/scala/org/apache/pekko/remote/artery/CodecBenchmark.scala
@@ -25,7 +25,7 @@ import scala.concurrent.Future
import scala.concurrent.duration._
import scala.annotation.nowarn
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.openjdk.jmh.annotations._
import org.apache.pekko
diff --git a/bench-jmh/src/main/scala/org/apache/pekko/remote/artery/SendQueueBenchmark.scala b/bench-jmh/src/main/scala/org/apache/pekko/remote/artery/SendQueueBenchmark.scala
index 9bf95b8350a..2993b097126 100644
--- a/bench-jmh/src/main/scala/org/apache/pekko/remote/artery/SendQueueBenchmark.scala
+++ b/bench-jmh/src/main/scala/org/apache/pekko/remote/artery/SendQueueBenchmark.scala
@@ -20,7 +20,7 @@ import java.util.concurrent.TimeUnit
import scala.concurrent.Await
import scala.concurrent.duration._
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.agrona.concurrent.ManyToOneConcurrentArrayQueue
import org.openjdk.jmh.annotations._
diff --git a/bench-jmh/src/main/scala/org/apache/pekko/serialization/jackson/JacksonSerializationBench.scala b/bench-jmh/src/main/scala/org/apache/pekko/serialization/jackson/JacksonSerializationBench.scala
index 939cbad12c3..e9ecbd3bb27 100644
--- a/bench-jmh/src/main/scala/org/apache/pekko/serialization/jackson/JacksonSerializationBench.scala
+++ b/bench-jmh/src/main/scala/org/apache/pekko/serialization/jackson/JacksonSerializationBench.scala
@@ -23,7 +23,7 @@ import scala.concurrent.Await
import scala.concurrent.duration._
import scala.annotation.nowarn
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.openjdk.jmh.annotations._
import org.apache.pekko
diff --git a/bench-jmh/src/main/scala/org/apache/pekko/stream/AskBenchmark.scala b/bench-jmh/src/main/scala/org/apache/pekko/stream/AskBenchmark.scala
index 0b007953238..f8450d849bd 100644
--- a/bench-jmh/src/main/scala/org/apache/pekko/stream/AskBenchmark.scala
+++ b/bench-jmh/src/main/scala/org/apache/pekko/stream/AskBenchmark.scala
@@ -19,7 +19,7 @@ import java.util.concurrent.TimeUnit
import scala.concurrent.Await
import scala.concurrent.duration._
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.openjdk.jmh.annotations._
import org.apache.pekko
diff --git a/bench-jmh/src/main/scala/org/apache/pekko/stream/CollectBenchmark.scala b/bench-jmh/src/main/scala/org/apache/pekko/stream/CollectBenchmark.scala
index 4cc2113b64a..ab80974bdcf 100644
--- a/bench-jmh/src/main/scala/org/apache/pekko/stream/CollectBenchmark.scala
+++ b/bench-jmh/src/main/scala/org/apache/pekko/stream/CollectBenchmark.scala
@@ -13,7 +13,7 @@
package org.apache.pekko.stream
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.apache.pekko
import org.openjdk.jmh.annotations._
import pekko.actor.ActorSystem
diff --git a/bench-jmh/src/main/scala/org/apache/pekko/stream/FlatMapConcatBenchmark.scala b/bench-jmh/src/main/scala/org/apache/pekko/stream/FlatMapConcatBenchmark.scala
index f8c0d49d5d6..c145c551460 100644
--- a/bench-jmh/src/main/scala/org/apache/pekko/stream/FlatMapConcatBenchmark.scala
+++ b/bench-jmh/src/main/scala/org/apache/pekko/stream/FlatMapConcatBenchmark.scala
@@ -19,7 +19,7 @@ import java.util.concurrent.TimeUnit
import scala.concurrent.{ Await, Future }
import scala.concurrent.duration._
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.openjdk.jmh.annotations._
import org.apache.pekko
diff --git a/bench-jmh/src/main/scala/org/apache/pekko/stream/FlowMapBenchmark.scala b/bench-jmh/src/main/scala/org/apache/pekko/stream/FlowMapBenchmark.scala
index 5ab9a14c9f8..3e9f5a3872b 100644
--- a/bench-jmh/src/main/scala/org/apache/pekko/stream/FlowMapBenchmark.scala
+++ b/bench-jmh/src/main/scala/org/apache/pekko/stream/FlowMapBenchmark.scala
@@ -20,7 +20,7 @@ import scala.concurrent.Await
import scala.concurrent.duration._
import scala.util.Success
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.openjdk.jmh.annotations._
import org.apache.pekko
diff --git a/bench-jmh/src/main/scala/org/apache/pekko/stream/FramingBenchmark.scala b/bench-jmh/src/main/scala/org/apache/pekko/stream/FramingBenchmark.scala
index 269b120dbec..0438b4c8300 100644
--- a/bench-jmh/src/main/scala/org/apache/pekko/stream/FramingBenchmark.scala
+++ b/bench-jmh/src/main/scala/org/apache/pekko/stream/FramingBenchmark.scala
@@ -20,8 +20,8 @@ import scala.concurrent.Await
import scala.concurrent.duration._
import scala.util.Random
-import com.typesafe.config.Config
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.Config
+import org.ekrich.config.ConfigFactory
import org.openjdk.jmh.annotations._
import org.apache.pekko
diff --git a/bench-jmh/src/main/scala/org/apache/pekko/stream/FusedGraphsBenchmark.scala b/bench-jmh/src/main/scala/org/apache/pekko/stream/FusedGraphsBenchmark.scala
index 1b0dd9d0bd7..24839d9f7e9 100644
--- a/bench-jmh/src/main/scala/org/apache/pekko/stream/FusedGraphsBenchmark.scala
+++ b/bench-jmh/src/main/scala/org/apache/pekko/stream/FusedGraphsBenchmark.scala
@@ -19,7 +19,7 @@ import java.util.concurrent.TimeUnit
import scala.concurrent.Await
import scala.concurrent.duration._
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.openjdk.jmh.annotations._
import org.openjdk.jmh.annotations.OperationsPerInvocation
diff --git a/bench-jmh/src/main/scala/org/apache/pekko/stream/LazyFutureSourceBenchmark.scala b/bench-jmh/src/main/scala/org/apache/pekko/stream/LazyFutureSourceBenchmark.scala
index 390dfa3bca5..cd880354b58 100644
--- a/bench-jmh/src/main/scala/org/apache/pekko/stream/LazyFutureSourceBenchmark.scala
+++ b/bench-jmh/src/main/scala/org/apache/pekko/stream/LazyFutureSourceBenchmark.scala
@@ -22,7 +22,7 @@ import java.util.concurrent.TimeUnit
import scala.concurrent._
import scala.concurrent.duration._
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.openjdk.jmh.annotations._
import org.apache.pekko
diff --git a/bench-jmh/src/main/scala/org/apache/pekko/stream/MapAsyncBenchmark.scala b/bench-jmh/src/main/scala/org/apache/pekko/stream/MapAsyncBenchmark.scala
index 88f59d606d6..36ba7d1ad30 100644
--- a/bench-jmh/src/main/scala/org/apache/pekko/stream/MapAsyncBenchmark.scala
+++ b/bench-jmh/src/main/scala/org/apache/pekko/stream/MapAsyncBenchmark.scala
@@ -20,7 +20,7 @@ import scala.concurrent.Await
import scala.concurrent.Future
import scala.concurrent.duration._
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.openjdk.jmh.annotations._
import org.apache.pekko
diff --git a/bench-jmh/src/main/scala/org/apache/pekko/stream/PartitionHubBenchmark.scala b/bench-jmh/src/main/scala/org/apache/pekko/stream/PartitionHubBenchmark.scala
index 40d25b51cc4..25062a900e9 100644
--- a/bench-jmh/src/main/scala/org/apache/pekko/stream/PartitionHubBenchmark.scala
+++ b/bench-jmh/src/main/scala/org/apache/pekko/stream/PartitionHubBenchmark.scala
@@ -19,7 +19,7 @@ import java.util.concurrent.TimeUnit
import scala.concurrent.Await
import scala.concurrent.duration._
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.openjdk.jmh.annotations._
import org.apache.pekko
diff --git a/bench-jmh/src/main/scala/org/apache/pekko/stream/SourceRefBenchmark.scala b/bench-jmh/src/main/scala/org/apache/pekko/stream/SourceRefBenchmark.scala
index 87d69bce58c..9da2787ecb7 100644
--- a/bench-jmh/src/main/scala/org/apache/pekko/stream/SourceRefBenchmark.scala
+++ b/bench-jmh/src/main/scala/org/apache/pekko/stream/SourceRefBenchmark.scala
@@ -20,7 +20,7 @@ import scala.concurrent.Await
import scala.concurrent.duration._
import scala.util.Success
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.openjdk.jmh.annotations._
import org.apache.pekko
diff --git a/bench-jmh/src/main/scala/org/apache/pekko/stream/ZipWithIndexBenchmark.scala b/bench-jmh/src/main/scala/org/apache/pekko/stream/ZipWithIndexBenchmark.scala
index 061c9759983..9c68f35c3c6 100644
--- a/bench-jmh/src/main/scala/org/apache/pekko/stream/ZipWithIndexBenchmark.scala
+++ b/bench-jmh/src/main/scala/org/apache/pekko/stream/ZipWithIndexBenchmark.scala
@@ -23,7 +23,7 @@ import scala.collection.immutable
import scala.concurrent._
import scala.concurrent.duration._
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.openjdk.jmh.annotations._
import org.apache.pekko
diff --git a/cluster-metrics/src/main/mima-filters/2.0.x.backwards.excludes/replace-lightbend-config-with-sconfig.excludes b/cluster-metrics/src/main/mima-filters/2.0.x.backwards.excludes/replace-lightbend-config-with-sconfig.excludes
new file mode 100644
index 00000000000..42c712abb0c
--- /dev/null
+++ b/cluster-metrics/src/main/mima-filters/2.0.x.backwards.excludes/replace-lightbend-config-with-sconfig.excludes
@@ -0,0 +1,32 @@
+# 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.
+
+# Replacing Lightbend Config (https://github.com/lightbend/config) with sconfig (https://github.com/ekrich/sconfig)
+ProblemFilters.exclude[IncompatibleMethTypeProblem]("org.apache.pekko.cluster.metrics.AdaptiveLoadBalancingGroup.this")
+ProblemFilters.exclude[IncompatibleMethTypeProblem]("org.apache.pekko.cluster.metrics.AdaptiveLoadBalancingPool.this")
+ProblemFilters.exclude[IncompatibleSignatureProblem]("org.apache.pekko.cluster.metrics.ClusterMetricsSettings.unapply")
+ProblemFilters.exclude[IncompatibleMethTypeProblem]("org.apache.pekko.cluster.metrics.ClusterMetricsSettings.apply")
+ProblemFilters.exclude[IncompatibleSignatureProblem]("org.apache.pekko.cluster.metrics.ClusterMetricsSettings.andThen")
+ProblemFilters.exclude[IncompatibleSignatureProblem]("org.apache.pekko.cluster.metrics.ClusterMetricsSettings.compose")
+ProblemFilters.exclude[IncompatibleResultTypeProblem]("org.apache.pekko.cluster.metrics.ClusterMetricsSettings.config")
+ProblemFilters.exclude[IncompatibleResultTypeProblem]("org.apache.pekko.cluster.metrics.ClusterMetricsSettings.SupervisorStrategyConfiguration")
+ProblemFilters.exclude[IncompatibleMethTypeProblem]("org.apache.pekko.cluster.metrics.ClusterMetricsSettings.copy")
+ProblemFilters.exclude[IncompatibleResultTypeProblem]("org.apache.pekko.cluster.metrics.ClusterMetricsSettings.copy$default$1")
+ProblemFilters.exclude[IncompatibleMethTypeProblem]("org.apache.pekko.cluster.metrics.ClusterMetricsSettings.this")
+ProblemFilters.exclude[IncompatibleResultTypeProblem]("org.apache.pekko.cluster.metrics.ClusterMetricsSettings._1")
+ProblemFilters.exclude[IncompatibleMethTypeProblem]("org.apache.pekko.cluster.metrics.ClusterMetricsStrategy.this")
+ProblemFilters.exclude[IncompatibleMethTypeProblem]("org.apache.pekko.cluster.metrics.MetricsSelector.fromConfig")
diff --git a/cluster-metrics/src/main/resources/reference.conf b/cluster-metrics/src/main/resources/reference.conf
index 510746d3fc5..210dbf76948 100644
--- a/cluster-metrics/src/main/resources/reference.conf
+++ b/cluster-metrics/src/main/resources/reference.conf
@@ -38,7 +38,7 @@ pekko.cluster.metrics {
strategy {
#
# FQCN of class providing `org.apache.pekko.actor.SupervisorStrategy`.
- # Must have a constructor with signature `(com.typesafe.config.Config)`.
+ # Must have a constructor with signature `(org.ekrich.config.Config)`.
# Default metrics strategy provider is a configurable extension of `OneForOneStrategy`.
provider = "org.apache.pekko.cluster.metrics.ClusterMetricsStrategy"
#
diff --git a/cluster-metrics/src/main/scala/org/apache/pekko/cluster/metrics/ClusterMetricsExtension.scala b/cluster-metrics/src/main/scala/org/apache/pekko/cluster/metrics/ClusterMetricsExtension.scala
index 785266d0bae..d6a1cf1e49c 100644
--- a/cluster-metrics/src/main/scala/org/apache/pekko/cluster/metrics/ClusterMetricsExtension.scala
+++ b/cluster-metrics/src/main/scala/org/apache/pekko/cluster/metrics/ClusterMetricsExtension.scala
@@ -15,7 +15,7 @@ package org.apache.pekko.cluster.metrics
import scala.collection.immutable
-import com.typesafe.config.Config
+import org.ekrich.config.Config
import org.apache.pekko
import pekko.actor.ActorRef
diff --git a/cluster-metrics/src/main/scala/org/apache/pekko/cluster/metrics/ClusterMetricsRouting.scala b/cluster-metrics/src/main/scala/org/apache/pekko/cluster/metrics/ClusterMetricsRouting.scala
index 2d6712cae47..c77b72fba17 100644
--- a/cluster-metrics/src/main/scala/org/apache/pekko/cluster/metrics/ClusterMetricsRouting.scala
+++ b/cluster-metrics/src/main/scala/org/apache/pekko/cluster/metrics/ClusterMetricsRouting.scala
@@ -21,7 +21,7 @@ import scala.annotation.tailrec
import scala.collection.immutable
import scala.annotation.nowarn
-import com.typesafe.config.Config
+import org.ekrich.config.Config
import org.apache.pekko
import pekko.actor.Actor
@@ -420,7 +420,7 @@ object MetricsSelector {
throw new IllegalArgumentException(
s"Cannot instantiate metrics-selector [$fqn], " +
"make sure it extends [org.apache.pekko.cluster.routing.MetricsSelector] and " +
- "has constructor with [com.typesafe.config.Config] parameter",
+ "has constructor with [org.ekrich.config.Config] parameter",
exception)
}
.get
diff --git a/cluster-metrics/src/main/scala/org/apache/pekko/cluster/metrics/ClusterMetricsSettings.scala b/cluster-metrics/src/main/scala/org/apache/pekko/cluster/metrics/ClusterMetricsSettings.scala
index 53fbd8f1906..9e1ca0bbfcf 100644
--- a/cluster-metrics/src/main/scala/org/apache/pekko/cluster/metrics/ClusterMetricsSettings.scala
+++ b/cluster-metrics/src/main/scala/org/apache/pekko/cluster/metrics/ClusterMetricsSettings.scala
@@ -16,7 +16,7 @@ package org.apache.pekko.cluster.metrics
import scala.concurrent.duration.Duration
import scala.concurrent.duration.FiniteDuration
-import com.typesafe.config.Config
+import org.ekrich.config.Config
import org.apache.pekko
import pekko.util.Helpers.ConfigOps
diff --git a/cluster-metrics/src/main/scala/org/apache/pekko/cluster/metrics/ClusterMetricsStrategy.scala b/cluster-metrics/src/main/scala/org/apache/pekko/cluster/metrics/ClusterMetricsStrategy.scala
index 8a713a5355e..4cb11bdf6fc 100644
--- a/cluster-metrics/src/main/scala/org/apache/pekko/cluster/metrics/ClusterMetricsStrategy.scala
+++ b/cluster-metrics/src/main/scala/org/apache/pekko/cluster/metrics/ClusterMetricsStrategy.scala
@@ -13,7 +13,7 @@
package org.apache.pekko.cluster.metrics
-import com.typesafe.config.Config
+import org.ekrich.config.Config
import org.apache.pekko
import pekko.actor.OneForOneStrategy
diff --git a/cluster-metrics/src/multi-jvm/scala/org/apache/pekko/cluster/metrics/ClusterMetricsExtensionSpec.scala b/cluster-metrics/src/multi-jvm/scala/org/apache/pekko/cluster/metrics/ClusterMetricsExtensionSpec.scala
index ec417fa8a88..278766b844b 100644
--- a/cluster-metrics/src/multi-jvm/scala/org/apache/pekko/cluster/metrics/ClusterMetricsExtensionSpec.scala
+++ b/cluster-metrics/src/multi-jvm/scala/org/apache/pekko/cluster/metrics/ClusterMetricsExtensionSpec.scala
@@ -15,7 +15,7 @@ package org.apache.pekko.cluster.metrics
import scala.concurrent.duration._
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.apache.pekko
import pekko.cluster.MemberStatus
diff --git a/cluster-metrics/src/multi-jvm/scala/org/apache/pekko/cluster/metrics/ClusterMetricsRoutingSpec.scala b/cluster-metrics/src/multi-jvm/scala/org/apache/pekko/cluster/metrics/ClusterMetricsRoutingSpec.scala
index 41417bcd145..72f46ae449d 100644
--- a/cluster-metrics/src/multi-jvm/scala/org/apache/pekko/cluster/metrics/ClusterMetricsRoutingSpec.scala
+++ b/cluster-metrics/src/multi-jvm/scala/org/apache/pekko/cluster/metrics/ClusterMetricsRoutingSpec.scala
@@ -19,8 +19,8 @@ import scala.annotation.nowarn
import scala.concurrent.Await
import scala.concurrent.duration._
-import com.typesafe.config.Config
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.Config
+import org.ekrich.config.ConfigFactory
import org.apache.pekko
import pekko.actor._
diff --git a/cluster-metrics/src/multi-jvm/scala/org/apache/pekko/cluster/metrics/sample/StatsSampleSpec.scala b/cluster-metrics/src/multi-jvm/scala/org/apache/pekko/cluster/metrics/sample/StatsSampleSpec.scala
index 32c2697d463..cd41d9726b5 100644
--- a/cluster-metrics/src/multi-jvm/scala/org/apache/pekko/cluster/metrics/sample/StatsSampleSpec.scala
+++ b/cluster-metrics/src/multi-jvm/scala/org/apache/pekko/cluster/metrics/sample/StatsSampleSpec.scala
@@ -22,7 +22,7 @@ import scala.concurrent.duration._
//#MultiNodeConfig
import org.apache.pekko.remote.testkit.MultiNodeConfig
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
object StatsSampleSpecConfig extends MultiNodeConfig {
// register the named roles (nodes) of the test
diff --git a/cluster-metrics/src/test/scala/org/apache/pekko/cluster/metrics/ClusterMetricsSettingsSpec.scala b/cluster-metrics/src/test/scala/org/apache/pekko/cluster/metrics/ClusterMetricsSettingsSpec.scala
index 2336a7dd4d2..6c09b0c13dd 100644
--- a/cluster-metrics/src/test/scala/org/apache/pekko/cluster/metrics/ClusterMetricsSettingsSpec.scala
+++ b/cluster-metrics/src/test/scala/org/apache/pekko/cluster/metrics/ClusterMetricsSettingsSpec.scala
@@ -15,7 +15,7 @@ package org.apache.pekko.cluster.metrics
import scala.concurrent.duration._
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.apache.pekko
import pekko.dispatch.Dispatchers
diff --git a/cluster-metrics/src/test/scala/org/apache/pekko/cluster/metrics/WeightedRouteesSpec.scala b/cluster-metrics/src/test/scala/org/apache/pekko/cluster/metrics/WeightedRouteesSpec.scala
index 9f3d37071e8..32dc0e5bd27 100644
--- a/cluster-metrics/src/test/scala/org/apache/pekko/cluster/metrics/WeightedRouteesSpec.scala
+++ b/cluster-metrics/src/test/scala/org/apache/pekko/cluster/metrics/WeightedRouteesSpec.scala
@@ -15,7 +15,7 @@ package org.apache.pekko.cluster.metrics
import scala.Vector
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.apache.pekko
import pekko.actor.Address
diff --git a/cluster-sharding-typed/src/main/mima-filters/2.0.x.backwards.excludes/replace-lightbend-config-with-sconfig.excludes b/cluster-sharding-typed/src/main/mima-filters/2.0.x.backwards.excludes/replace-lightbend-config-with-sconfig.excludes
new file mode 100644
index 00000000000..0bc3fd1963b
--- /dev/null
+++ b/cluster-sharding-typed/src/main/mima-filters/2.0.x.backwards.excludes/replace-lightbend-config-with-sconfig.excludes
@@ -0,0 +1,24 @@
+# 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.
+
+# Replacing Lightbend Config (https://github.com/lightbend/config) with sconfig (https://github.com/ekrich/sconfig)
+ProblemFilters.exclude[IncompatibleMethTypeProblem]("org.apache.pekko.cluster.sharding.typed.ClusterShardingSettings.fromConfig")
+ProblemFilters.exclude[IncompatibleMethTypeProblem]("org.apache.pekko.cluster.sharding.typed.ShardedDaemonProcessSettings.fromConfig")
+ProblemFilters.exclude[IncompatibleMethTypeProblem]("org.apache.pekko.cluster.sharding.typed.delivery.ShardingConsumerController#Settings.apply")
+ProblemFilters.exclude[IncompatibleMethTypeProblem]("org.apache.pekko.cluster.sharding.typed.delivery.ShardingConsumerController#Settings.create")
+ProblemFilters.exclude[IncompatibleMethTypeProblem]("org.apache.pekko.cluster.sharding.typed.delivery.ShardingProducerController#Settings.apply")
+ProblemFilters.exclude[IncompatibleMethTypeProblem]("org.apache.pekko.cluster.sharding.typed.delivery.ShardingProducerController#Settings.create")
diff --git a/cluster-sharding-typed/src/main/scala/org/apache/pekko/cluster/sharding/typed/ClusterShardingSettings.scala b/cluster-sharding-typed/src/main/scala/org/apache/pekko/cluster/sharding/typed/ClusterShardingSettings.scala
index f9658c34d48..5f8326eb46d 100644
--- a/cluster-sharding-typed/src/main/scala/org/apache/pekko/cluster/sharding/typed/ClusterShardingSettings.scala
+++ b/cluster-sharding-typed/src/main/scala/org/apache/pekko/cluster/sharding/typed/ClusterShardingSettings.scala
@@ -16,7 +16,7 @@ package org.apache.pekko.cluster.sharding.typed
import scala.collection.immutable
import scala.concurrent.duration._
-import com.typesafe.config.Config
+import org.ekrich.config.Config
import org.apache.pekko
import pekko.actor.typed.ActorSystem
diff --git a/cluster-sharding-typed/src/main/scala/org/apache/pekko/cluster/sharding/typed/ShardedDaemonProcessSettings.scala b/cluster-sharding-typed/src/main/scala/org/apache/pekko/cluster/sharding/typed/ShardedDaemonProcessSettings.scala
index 40f97680bbf..a23046d84fa 100644
--- a/cluster-sharding-typed/src/main/scala/org/apache/pekko/cluster/sharding/typed/ShardedDaemonProcessSettings.scala
+++ b/cluster-sharding-typed/src/main/scala/org/apache/pekko/cluster/sharding/typed/ShardedDaemonProcessSettings.scala
@@ -17,7 +17,7 @@ import java.time.Duration
import scala.concurrent.duration.FiniteDuration
-import com.typesafe.config.Config
+import org.ekrich.config.Config
import org.apache.pekko
import pekko.actor.typed.ActorSystem
diff --git a/cluster-sharding-typed/src/main/scala/org/apache/pekko/cluster/sharding/typed/delivery/ShardingConsumerController.scala b/cluster-sharding-typed/src/main/scala/org/apache/pekko/cluster/sharding/typed/delivery/ShardingConsumerController.scala
index 1e58675bc00..5de24a69870 100644
--- a/cluster-sharding-typed/src/main/scala/org/apache/pekko/cluster/sharding/typed/delivery/ShardingConsumerController.scala
+++ b/cluster-sharding-typed/src/main/scala/org/apache/pekko/cluster/sharding/typed/delivery/ShardingConsumerController.scala
@@ -15,7 +15,7 @@ package org.apache.pekko.cluster.sharding.typed.delivery
import java.util.function.{ Function => JFunction }
-import com.typesafe.config.Config
+import org.ekrich.config.Config
import org.apache.pekko
import pekko.actor.typed.ActorRef
diff --git a/cluster-sharding-typed/src/main/scala/org/apache/pekko/cluster/sharding/typed/delivery/ShardingProducerController.scala b/cluster-sharding-typed/src/main/scala/org/apache/pekko/cluster/sharding/typed/delivery/ShardingProducerController.scala
index d0e22becd20..f721c1ea035 100644
--- a/cluster-sharding-typed/src/main/scala/org/apache/pekko/cluster/sharding/typed/delivery/ShardingProducerController.scala
+++ b/cluster-sharding-typed/src/main/scala/org/apache/pekko/cluster/sharding/typed/delivery/ShardingProducerController.scala
@@ -18,7 +18,7 @@ import java.util.Optional
import scala.concurrent.duration.FiniteDuration
import scala.reflect.ClassTag
-import com.typesafe.config.Config
+import org.ekrich.config.Config
import org.apache.pekko
import pekko.Done
diff --git a/cluster-sharding-typed/src/main/scala/org/apache/pekko/cluster/sharding/typed/internal/JoinConfigCompatCheckerClusterSharding.scala b/cluster-sharding-typed/src/main/scala/org/apache/pekko/cluster/sharding/typed/internal/JoinConfigCompatCheckerClusterSharding.scala
index 0037bee6abd..4bbc0550cb5 100644
--- a/cluster-sharding-typed/src/main/scala/org/apache/pekko/cluster/sharding/typed/internal/JoinConfigCompatCheckerClusterSharding.scala
+++ b/cluster-sharding-typed/src/main/scala/org/apache/pekko/cluster/sharding/typed/internal/JoinConfigCompatCheckerClusterSharding.scala
@@ -15,7 +15,7 @@ package org.apache.pekko.cluster.sharding.typed.internal
import scala.collection.{ immutable => im }
-import com.typesafe.config.Config
+import org.ekrich.config.Config
import org.apache.pekko
import pekko.annotation.InternalApi
diff --git a/cluster-sharding-typed/src/multi-jvm/scala/org/apache/pekko/cluster/sharding/ClusterShardingRememberEntitiesPerfSpec.scala b/cluster-sharding-typed/src/multi-jvm/scala/org/apache/pekko/cluster/sharding/ClusterShardingRememberEntitiesPerfSpec.scala
index d979a93fae6..6045597fb0c 100644
--- a/cluster-sharding-typed/src/multi-jvm/scala/org/apache/pekko/cluster/sharding/ClusterShardingRememberEntitiesPerfSpec.scala
+++ b/cluster-sharding-typed/src/multi-jvm/scala/org/apache/pekko/cluster/sharding/ClusterShardingRememberEntitiesPerfSpec.scala
@@ -22,7 +22,7 @@ import pekko.actor._
import pekko.cluster.MemberStatus
import pekko.cluster.sharding.ShardRegion.{ CurrentShardRegionState, GetShardRegionState, Passivate }
import pekko.testkit._
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.HdrHistogram.Histogram
import scala.concurrent.duration._
diff --git a/cluster-sharding-typed/src/multi-jvm/scala/org/apache/pekko/cluster/sharding/typed/ClusterShardingPreparingForShutdownSpec.scala b/cluster-sharding-typed/src/multi-jvm/scala/org/apache/pekko/cluster/sharding/typed/ClusterShardingPreparingForShutdownSpec.scala
index 50c9456c3ba..3273a8c762d 100644
--- a/cluster-sharding-typed/src/multi-jvm/scala/org/apache/pekko/cluster/sharding/typed/ClusterShardingPreparingForShutdownSpec.scala
+++ b/cluster-sharding-typed/src/multi-jvm/scala/org/apache/pekko/cluster/sharding/typed/ClusterShardingPreparingForShutdownSpec.scala
@@ -30,7 +30,7 @@ import pekko.cluster.typed.PrepareForFullClusterShutdown
import pekko.remote.testkit.MultiNodeConfig
import pekko.remote.testkit.MultiNodeSpec
import pekko.serialization.jackson.CborSerializable
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import scala.concurrent.duration._
diff --git a/cluster-sharding-typed/src/multi-jvm/scala/org/apache/pekko/cluster/sharding/typed/ClusterShardingStatsSpec.scala b/cluster-sharding-typed/src/multi-jvm/scala/org/apache/pekko/cluster/sharding/typed/ClusterShardingStatsSpec.scala
index 28980233f58..aa7c5161cf1 100644
--- a/cluster-sharding-typed/src/multi-jvm/scala/org/apache/pekko/cluster/sharding/typed/ClusterShardingStatsSpec.scala
+++ b/cluster-sharding-typed/src/multi-jvm/scala/org/apache/pekko/cluster/sharding/typed/ClusterShardingStatsSpec.scala
@@ -13,7 +13,7 @@
package org.apache.pekko.cluster.sharding.typed
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.scalatest.concurrent.ScalaFutures
import org.apache.pekko
diff --git a/cluster-sharding-typed/src/multi-jvm/scala/org/apache/pekko/cluster/sharding/typed/MultiDcClusterShardingSpec.scala b/cluster-sharding-typed/src/multi-jvm/scala/org/apache/pekko/cluster/sharding/typed/MultiDcClusterShardingSpec.scala
index 565cdf6ea1a..adc399eed6a 100644
--- a/cluster-sharding-typed/src/multi-jvm/scala/org/apache/pekko/cluster/sharding/typed/MultiDcClusterShardingSpec.scala
+++ b/cluster-sharding-typed/src/multi-jvm/scala/org/apache/pekko/cluster/sharding/typed/MultiDcClusterShardingSpec.scala
@@ -14,7 +14,7 @@
package org.apache.pekko.cluster.sharding.typed
import scala.concurrent.duration._
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.scalatest.concurrent.ScalaFutures
import org.apache.pekko
import pekko.actor.testkit.typed.scaladsl.TestProbe
diff --git a/cluster-sharding-typed/src/multi-jvm/scala/org/apache/pekko/cluster/sharding/typed/ReplicatedShardingSpec.scala b/cluster-sharding-typed/src/multi-jvm/scala/org/apache/pekko/cluster/sharding/typed/ReplicatedShardingSpec.scala
index 0a670b05aa3..aed7d635b1b 100644
--- a/cluster-sharding-typed/src/multi-jvm/scala/org/apache/pekko/cluster/sharding/typed/ReplicatedShardingSpec.scala
+++ b/cluster-sharding-typed/src/multi-jvm/scala/org/apache/pekko/cluster/sharding/typed/ReplicatedShardingSpec.scala
@@ -36,7 +36,7 @@ import pekko.persistence.typed.scaladsl.EventSourcedBehavior
import pekko.remote.testkit.MultiNodeConfig
import pekko.remote.testkit.MultiNodeSpec
import pekko.serialization.jackson.CborSerializable
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.scalatest.concurrent.Eventually
import org.scalatest.concurrent.ScalaFutures
import org.scalatest.time.Span
diff --git a/cluster-sharding-typed/src/multi-jvm/scala/org/apache/pekko/cluster/sharding/typed/ShardedDaemonProcessSpec.scala b/cluster-sharding-typed/src/multi-jvm/scala/org/apache/pekko/cluster/sharding/typed/ShardedDaemonProcessSpec.scala
index 6556c807de3..7e45f0faafe 100644
--- a/cluster-sharding-typed/src/multi-jvm/scala/org/apache/pekko/cluster/sharding/typed/ShardedDaemonProcessSpec.scala
+++ b/cluster-sharding-typed/src/multi-jvm/scala/org/apache/pekko/cluster/sharding/typed/ShardedDaemonProcessSpec.scala
@@ -15,7 +15,7 @@ package org.apache.pekko.cluster.sharding.typed
import scala.concurrent.duration._
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.scalatest.concurrent.ScalaFutures
import org.apache.pekko
diff --git a/cluster-sharding-typed/src/multi-jvm/scala/org/apache/pekko/cluster/sharding/typed/delivery/DeliveryThroughputSpec.scala b/cluster-sharding-typed/src/multi-jvm/scala/org/apache/pekko/cluster/sharding/typed/delivery/DeliveryThroughputSpec.scala
index 2a744558a3f..eb93a289f6f 100644
--- a/cluster-sharding-typed/src/multi-jvm/scala/org/apache/pekko/cluster/sharding/typed/delivery/DeliveryThroughputSpec.scala
+++ b/cluster-sharding-typed/src/multi-jvm/scala/org/apache/pekko/cluster/sharding/typed/delivery/DeliveryThroughputSpec.scala
@@ -18,7 +18,7 @@ import java.util.concurrent.TimeUnit.NANOSECONDS
import scala.concurrent.duration._
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.apache.pekko
import pekko.actor.testkit.typed.scaladsl.TestProbe
diff --git a/cluster-sharding-typed/src/test/java/jdocs/org/apache/pekko/cluster/sharding/typed/AccountExampleTest.java b/cluster-sharding-typed/src/test/java/jdocs/org/apache/pekko/cluster/sharding/typed/AccountExampleTest.java
index 7bd054a44b5..f8b1c35d4f2 100644
--- a/cluster-sharding-typed/src/test/java/jdocs/org/apache/pekko/cluster/sharding/typed/AccountExampleTest.java
+++ b/cluster-sharding-typed/src/test/java/jdocs/org/apache/pekko/cluster/sharding/typed/AccountExampleTest.java
@@ -19,8 +19,6 @@
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;
-import com.typesafe.config.Config;
-import com.typesafe.config.ConfigFactory;
import java.math.BigDecimal;
import java.time.Duration;
import java.util.concurrent.CompletionStage;
@@ -36,6 +34,8 @@
import org.apache.pekko.cluster.typed.Join;
import org.apache.pekko.pattern.StatusReply;
import org.apache.pekko.persistence.typed.PersistenceId;
+import org.ekrich.config.Config;
+import org.ekrich.config.ConfigFactory;
import org.junit.ClassRule;
import org.junit.Rule;
import org.junit.Test;
diff --git a/cluster-sharding-typed/src/test/java/jdocs/org/apache/pekko/cluster/sharding/typed/HelloWorldEventSourcedEntityExampleTest.java b/cluster-sharding-typed/src/test/java/jdocs/org/apache/pekko/cluster/sharding/typed/HelloWorldEventSourcedEntityExampleTest.java
index 7c0c0b50bac..9c715551f7e 100644
--- a/cluster-sharding-typed/src/test/java/jdocs/org/apache/pekko/cluster/sharding/typed/HelloWorldEventSourcedEntityExampleTest.java
+++ b/cluster-sharding-typed/src/test/java/jdocs/org/apache/pekko/cluster/sharding/typed/HelloWorldEventSourcedEntityExampleTest.java
@@ -16,8 +16,6 @@
import static jdocs.org.apache.pekko.cluster.sharding.typed.HelloWorldPersistentEntityExample.*;
import static org.junit.Assert.assertEquals;
-import com.typesafe.config.Config;
-import com.typesafe.config.ConfigFactory;
import org.apache.pekko.actor.testkit.typed.javadsl.LogCapturing;
import org.apache.pekko.actor.testkit.typed.javadsl.TestKitJunitResource;
import org.apache.pekko.actor.testkit.typed.javadsl.TestProbe;
@@ -27,6 +25,8 @@
import org.apache.pekko.cluster.typed.Cluster;
import org.apache.pekko.cluster.typed.Join;
import org.apache.pekko.persistence.typed.PersistenceId;
+import org.ekrich.config.Config;
+import org.ekrich.config.ConfigFactory;
import org.junit.ClassRule;
import org.junit.Rule;
import org.junit.Test;
diff --git a/cluster-sharding-typed/src/test/java/org/apache/pekko/cluster/sharding/typed/ReplicatedShardingTest.java b/cluster-sharding-typed/src/test/java/org/apache/pekko/cluster/sharding/typed/ReplicatedShardingTest.java
index 30313abb7c6..0c16fa2ed7a 100644
--- a/cluster-sharding-typed/src/test/java/org/apache/pekko/cluster/sharding/typed/ReplicatedShardingTest.java
+++ b/cluster-sharding-typed/src/test/java/org/apache/pekko/cluster/sharding/typed/ReplicatedShardingTest.java
@@ -16,7 +16,6 @@
import static org.apache.pekko.cluster.sharding.typed.ReplicatedShardingTest.ProxyActor.ALL_REPLICAS;
import static org.junit.Assert.assertEquals;
-import com.typesafe.config.ConfigFactory;
import java.util.*;
import java.util.concurrent.ThreadLocalRandom;
import java.util.stream.Collectors;
@@ -39,6 +38,7 @@
import org.apache.pekko.persistence.typed.ReplicaId;
import org.apache.pekko.persistence.typed.ReplicationId;
import org.apache.pekko.persistence.typed.javadsl.*;
+import org.ekrich.config.ConfigFactory;
import org.junit.ClassRule;
import org.junit.Rule;
import org.junit.Test;
diff --git a/cluster-sharding-typed/src/test/java/org/apache/pekko/cluster/sharding/typed/javadsl/ClusterShardingPersistenceTest.java b/cluster-sharding-typed/src/test/java/org/apache/pekko/cluster/sharding/typed/javadsl/ClusterShardingPersistenceTest.java
index 12c9c829147..98a50f7a03c 100644
--- a/cluster-sharding-typed/src/test/java/org/apache/pekko/cluster/sharding/typed/javadsl/ClusterShardingPersistenceTest.java
+++ b/cluster-sharding-typed/src/test/java/org/apache/pekko/cluster/sharding/typed/javadsl/ClusterShardingPersistenceTest.java
@@ -13,8 +13,6 @@
package org.apache.pekko.cluster.sharding.typed.javadsl;
-import com.typesafe.config.Config;
-import com.typesafe.config.ConfigFactory;
import java.util.concurrent.CompletionStage;
import org.apache.pekko.Done;
import org.apache.pekko.actor.testkit.typed.javadsl.LogCapturing;
@@ -28,6 +26,8 @@
import org.apache.pekko.persistence.typed.javadsl.Effect;
import org.apache.pekko.persistence.typed.javadsl.EventHandler;
import org.apache.pekko.persistence.typed.javadsl.EventSourcedBehavior;
+import org.ekrich.config.Config;
+import org.ekrich.config.ConfigFactory;
import org.junit.ClassRule;
import org.junit.Rule;
import org.junit.Test;
diff --git a/cluster-sharding-typed/src/test/scala/docs/org/apache/pekko/cluster/sharding/typed/AccountExampleSpec.scala b/cluster-sharding-typed/src/test/scala/docs/org/apache/pekko/cluster/sharding/typed/AccountExampleSpec.scala
index bd04c311b92..414ab8e73ac 100644
--- a/cluster-sharding-typed/src/test/scala/docs/org/apache/pekko/cluster/sharding/typed/AccountExampleSpec.scala
+++ b/cluster-sharding-typed/src/test/scala/docs/org/apache/pekko/cluster/sharding/typed/AccountExampleSpec.scala
@@ -26,7 +26,7 @@ import pekko.cluster.typed.Cluster
import pekko.cluster.typed.Join
import pekko.pattern.StatusReply
import pekko.persistence.typed.PersistenceId
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.scalatest.wordspec.AnyWordSpecLike
object AccountExampleSpec {
diff --git a/cluster-sharding-typed/src/test/scala/docs/org/apache/pekko/cluster/sharding/typed/HelloWorldEventSourcedEntityExampleSpec.scala b/cluster-sharding-typed/src/test/scala/docs/org/apache/pekko/cluster/sharding/typed/HelloWorldEventSourcedEntityExampleSpec.scala
index 072fbcfdeea..65fa85d1f95 100644
--- a/cluster-sharding-typed/src/test/scala/docs/org/apache/pekko/cluster/sharding/typed/HelloWorldEventSourcedEntityExampleSpec.scala
+++ b/cluster-sharding-typed/src/test/scala/docs/org/apache/pekko/cluster/sharding/typed/HelloWorldEventSourcedEntityExampleSpec.scala
@@ -21,7 +21,7 @@ import pekko.cluster.sharding.typed.scaladsl.Entity
import pekko.cluster.typed.Cluster
import pekko.cluster.typed.Join
import pekko.persistence.typed.PersistenceId
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.scalatest.wordspec.AnyWordSpecLike
object HelloWorldEventSourcedEntityExampleSpec {
diff --git a/cluster-sharding-typed/src/test/scala/org/apache/pekko/cluster/sharding/typed/JoinConfigCompatCheckerClusterShardingSpec.scala b/cluster-sharding-typed/src/test/scala/org/apache/pekko/cluster/sharding/typed/JoinConfigCompatCheckerClusterShardingSpec.scala
index b2b8183ec75..e868a99093d 100644
--- a/cluster-sharding-typed/src/test/scala/org/apache/pekko/cluster/sharding/typed/JoinConfigCompatCheckerClusterShardingSpec.scala
+++ b/cluster-sharding-typed/src/test/scala/org/apache/pekko/cluster/sharding/typed/JoinConfigCompatCheckerClusterShardingSpec.scala
@@ -16,7 +16,7 @@ package org.apache.pekko.cluster.sharding.typed
import scala.collection.{ immutable => im }
import scala.concurrent.duration._
-import com.typesafe.config.{ Config, ConfigFactory }
+import org.ekrich.config.{ Config, ConfigFactory }
import org.scalatest.matchers.should.Matchers
import org.scalatest.wordspec.AnyWordSpecLike
diff --git a/cluster-sharding-typed/src/test/scala/org/apache/pekko/cluster/sharding/typed/ReplicatedShardingSpec.scala b/cluster-sharding-typed/src/test/scala/org/apache/pekko/cluster/sharding/typed/ReplicatedShardingSpec.scala
index 741106c1c0b..9cc0142e8bd 100644
--- a/cluster-sharding-typed/src/test/scala/org/apache/pekko/cluster/sharding/typed/ReplicatedShardingSpec.scala
+++ b/cluster-sharding-typed/src/test/scala/org/apache/pekko/cluster/sharding/typed/ReplicatedShardingSpec.scala
@@ -35,13 +35,13 @@ import pekko.persistence.typed.scaladsl.ReplicatedEventSourcing
import pekko.persistence.typed.scaladsl.Effect
import pekko.persistence.typed.scaladsl.EventSourcedBehavior
import pekko.serialization.jackson.CborSerializable
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.scalatest.wordspec.AnyWordSpecLike
import pekko.actor.typed.scaladsl.LoggerOps
import pekko.cluster.sharding.typed.ReplicatedShardingSpec.MyReplicatedIntSet
import pekko.cluster.sharding.typed.ReplicatedShardingSpec.MyReplicatedStringSet
import pekko.persistence.typed.ReplicationId
-import com.typesafe.config.Config
+import org.ekrich.config.Config
import org.scalatest.time.Span
object ReplicatedShardingSpec {
diff --git a/cluster-sharding-typed/src/test/scala/org/apache/pekko/cluster/sharding/typed/delivery/DurableShardingSpec.scala b/cluster-sharding-typed/src/test/scala/org/apache/pekko/cluster/sharding/typed/delivery/DurableShardingSpec.scala
index 42331cb7309..d3e67b2ac44 100644
--- a/cluster-sharding-typed/src/test/scala/org/apache/pekko/cluster/sharding/typed/delivery/DurableShardingSpec.scala
+++ b/cluster-sharding-typed/src/test/scala/org/apache/pekko/cluster/sharding/typed/delivery/DurableShardingSpec.scala
@@ -17,8 +17,8 @@ import java.util.UUID
import scala.concurrent.duration._
-import com.typesafe.config.Config
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.Config
+import org.ekrich.config.ConfigFactory
import org.scalatest.wordspec.AnyWordSpecLike
import org.apache.pekko
import pekko.Done
diff --git a/cluster-sharding-typed/src/test/scala/org/apache/pekko/cluster/sharding/typed/delivery/ReliableDeliveryShardingSpec.scala b/cluster-sharding-typed/src/test/scala/org/apache/pekko/cluster/sharding/typed/delivery/ReliableDeliveryShardingSpec.scala
index 1127e78a85b..bff65945585 100644
--- a/cluster-sharding-typed/src/test/scala/org/apache/pekko/cluster/sharding/typed/delivery/ReliableDeliveryShardingSpec.scala
+++ b/cluster-sharding-typed/src/test/scala/org/apache/pekko/cluster/sharding/typed/delivery/ReliableDeliveryShardingSpec.scala
@@ -17,7 +17,7 @@ import java.util.concurrent.atomic.AtomicInteger
import scala.concurrent.duration._
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.scalatest.wordspec.AnyWordSpecLike
import org.apache.pekko
diff --git a/cluster-sharding-typed/src/test/scala/org/apache/pekko/cluster/sharding/typed/scaladsl/ClusterShardingPersistenceSpec.scala b/cluster-sharding-typed/src/test/scala/org/apache/pekko/cluster/sharding/typed/scaladsl/ClusterShardingPersistenceSpec.scala
index 7f8cd731978..2723024f9c9 100644
--- a/cluster-sharding-typed/src/test/scala/org/apache/pekko/cluster/sharding/typed/scaladsl/ClusterShardingPersistenceSpec.scala
+++ b/cluster-sharding-typed/src/test/scala/org/apache/pekko/cluster/sharding/typed/scaladsl/ClusterShardingPersistenceSpec.scala
@@ -22,7 +22,7 @@ import scala.concurrent.Future
import scala.concurrent.Promise
import scala.concurrent.duration._
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.scalatest.wordspec.AnyWordSpecLike
import org.apache.pekko
diff --git a/cluster-sharding-typed/src/test/scala/org/apache/pekko/cluster/sharding/typed/scaladsl/ClusterShardingSpec.scala b/cluster-sharding-typed/src/test/scala/org/apache/pekko/cluster/sharding/typed/scaladsl/ClusterShardingSpec.scala
index b65a0a3a056..40d863ea88d 100644
--- a/cluster-sharding-typed/src/test/scala/org/apache/pekko/cluster/sharding/typed/scaladsl/ClusterShardingSpec.scala
+++ b/cluster-sharding-typed/src/test/scala/org/apache/pekko/cluster/sharding/typed/scaladsl/ClusterShardingSpec.scala
@@ -17,7 +17,7 @@ import scala.concurrent.duration._
import scala.util.Failure
import scala.util.Success
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.scalatest.wordspec.AnyWordSpecLike
import org.apache.pekko
diff --git a/cluster-sharding-typed/src/test/scala/org/apache/pekko/cluster/sharding/typed/scaladsl/ShardedDaemonProcessSpec.scala b/cluster-sharding-typed/src/test/scala/org/apache/pekko/cluster/sharding/typed/scaladsl/ShardedDaemonProcessSpec.scala
index 89ee775e73c..3dd9de87c12 100644
--- a/cluster-sharding-typed/src/test/scala/org/apache/pekko/cluster/sharding/typed/scaladsl/ShardedDaemonProcessSpec.scala
+++ b/cluster-sharding-typed/src/test/scala/org/apache/pekko/cluster/sharding/typed/scaladsl/ShardedDaemonProcessSpec.scala
@@ -15,7 +15,7 @@ package org.apache.pekko.cluster.sharding.typed.scaladsl
import scala.concurrent.duration._
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.scalatest.wordspec.AnyWordSpecLike
import org.apache.pekko
diff --git a/cluster-sharding/src/main/mima-filters/2.0.x.backwards.excludes/replace-lightbend-config-with-sconfig.excludes b/cluster-sharding/src/main/mima-filters/2.0.x.backwards.excludes/replace-lightbend-config-with-sconfig.excludes
new file mode 100644
index 00000000000..ae110daa649
--- /dev/null
+++ b/cluster-sharding/src/main/mima-filters/2.0.x.backwards.excludes/replace-lightbend-config-with-sconfig.excludes
@@ -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.
+
+# Replacing Lightbend Config (https://github.com/lightbend/config) with sconfig (https://github.com/ekrich/sconfig)
+ProblemFilters.exclude[IncompatibleMethTypeProblem]("org.apache.pekko.cluster.sharding.ClusterShardingSettings.create")
+ProblemFilters.exclude[IncompatibleMethTypeProblem]("org.apache.pekko.cluster.sharding.ClusterShardingSettings.apply")
+ProblemFilters.exclude[IncompatibleMethTypeProblem]("org.apache.pekko.cluster.sharding.ClusterShardingSettings#PassivationStrategySettings.apply")
+ProblemFilters.exclude[IncompatibleMethTypeProblem]("org.apache.pekko.cluster.sharding.ClusterShardingSettings#PassivationStrategySettings.fromSharding")
+ProblemFilters.exclude[IncompatibleMethTypeProblem]("org.apache.pekko.cluster.sharding.ClusterShardingSettings#PassivationStrategySettings#AdmissionSettings.optional")
+ProblemFilters.exclude[IncompatibleMethTypeProblem]("org.apache.pekko.cluster.sharding.ClusterShardingSettings#PassivationStrategySettings#AdmissionSettings#FilterSettings.optional")
+ProblemFilters.exclude[IncompatibleMethTypeProblem]("org.apache.pekko.cluster.sharding.ClusterShardingSettings#PassivationStrategySettings#AdmissionSettings#FrequencySketchSettings.apply")
+ProblemFilters.exclude[IncompatibleMethTypeProblem]("org.apache.pekko.cluster.sharding.ClusterShardingSettings#PassivationStrategySettings#AdmissionSettings#HillClimbingSettings.apply")
+ProblemFilters.exclude[IncompatibleMethTypeProblem]("org.apache.pekko.cluster.sharding.ClusterShardingSettings#PassivationStrategySettings#AdmissionSettings#OptimizerSettings.optional")
+ProblemFilters.exclude[IncompatibleMethTypeProblem]("org.apache.pekko.cluster.sharding.ClusterShardingSettings#PassivationStrategySettings#AdmissionSettings#WindowSettings.apply")
+ProblemFilters.exclude[IncompatibleMethTypeProblem]("org.apache.pekko.cluster.sharding.ClusterShardingSettings#PassivationStrategySettings#AdmissionSettings#WindowSettings.optional")
+ProblemFilters.exclude[IncompatibleMethTypeProblem]("org.apache.pekko.cluster.sharding.ClusterShardingSettings#PassivationStrategySettings#IdleSettings.apply")
+ProblemFilters.exclude[IncompatibleMethTypeProblem]("org.apache.pekko.cluster.sharding.ClusterShardingSettings#PassivationStrategySettings#IdleSettings.optional")
+ProblemFilters.exclude[IncompatibleMethTypeProblem]("org.apache.pekko.cluster.sharding.ClusterShardingSettings#PassivationStrategySettings#LeastFrequentlyUsedSettings.apply")
+ProblemFilters.exclude[IncompatibleMethTypeProblem]("org.apache.pekko.cluster.sharding.ClusterShardingSettings#PassivationStrategySettings#LeastRecentlyUsedSettings.apply")
+ProblemFilters.exclude[IncompatibleMethTypeProblem]("org.apache.pekko.cluster.sharding.ClusterShardingSettings#PassivationStrategySettings#LeastRecentlyUsedSettings#SegmentedSettings.apply")
+ProblemFilters.exclude[IncompatibleMethTypeProblem]("org.apache.pekko.cluster.sharding.ClusterShardingSettings#PassivationStrategySettings#LeastRecentlyUsedSettings#SegmentedSettings.optional")
+ProblemFilters.exclude[IncompatibleMethTypeProblem]("org.apache.pekko.cluster.sharding.ClusterShardingSettings#PassivationStrategySettings#MostRecentlyUsedSettings.apply")
+ProblemFilters.exclude[IncompatibleMethTypeProblem]("org.apache.pekko.cluster.sharding.ClusterShardingSettings#PassivationStrategySettings#PolicySettings.apply")
+ProblemFilters.exclude[IncompatibleMethTypeProblem]("org.apache.pekko.cluster.sharding.ClusterShardingSettings#PassivationStrategySettings#PolicySettings.optional")
+ProblemFilters.exclude[DirectMissingMethodProblem]("org.apache.pekko.cluster.sharding.JoinConfigCompatCheckSharding.check")
diff --git a/cluster-sharding/src/main/scala/org/apache/pekko/cluster/sharding/ClusterShardingHealthCheck.scala b/cluster-sharding/src/main/scala/org/apache/pekko/cluster/sharding/ClusterShardingHealthCheck.scala
index cf11c08ae2c..beb327f10e7 100644
--- a/cluster-sharding/src/main/scala/org/apache/pekko/cluster/sharding/ClusterShardingHealthCheck.scala
+++ b/cluster-sharding/src/main/scala/org/apache/pekko/cluster/sharding/ClusterShardingHealthCheck.scala
@@ -28,7 +28,7 @@ import pekko.util.JavaDurationConverters._
import scala.concurrent.ExecutionContext
import scala.concurrent.Future
import scala.concurrent.duration.FiniteDuration
-import com.typesafe.config.Config
+import org.ekrich.config.Config
/**
* Internal API
diff --git a/cluster-sharding/src/main/scala/org/apache/pekko/cluster/sharding/ClusterShardingSettings.scala b/cluster-sharding/src/main/scala/org/apache/pekko/cluster/sharding/ClusterShardingSettings.scala
index 114b04350d4..f9a1f34522d 100644
--- a/cluster-sharding/src/main/scala/org/apache/pekko/cluster/sharding/ClusterShardingSettings.scala
+++ b/cluster-sharding/src/main/scala/org/apache/pekko/cluster/sharding/ClusterShardingSettings.scala
@@ -23,7 +23,7 @@ import pekko.coordination.lease.LeaseUsageSettings
import pekko.japi.Util.immutableSeq
import pekko.util.Helpers.toRootLowerCase
import pekko.util.JavaDurationConverters._
-import com.typesafe.config.Config
+import org.ekrich.config.Config
import scala.collection.immutable
import scala.concurrent.duration._
diff --git a/cluster-sharding/src/main/scala/org/apache/pekko/cluster/sharding/JoinConfigCompatCheckSharding.scala b/cluster-sharding/src/main/scala/org/apache/pekko/cluster/sharding/JoinConfigCompatCheckSharding.scala
index 767e7d69b61..f7000ced6f7 100644
--- a/cluster-sharding/src/main/scala/org/apache/pekko/cluster/sharding/JoinConfigCompatCheckSharding.scala
+++ b/cluster-sharding/src/main/scala/org/apache/pekko/cluster/sharding/JoinConfigCompatCheckSharding.scala
@@ -15,7 +15,7 @@ package org.apache.pekko.cluster.sharding
import scala.collection.{ immutable => im }
-import com.typesafe.config.Config
+import org.ekrich.config.Config
import org.apache.pekko
import pekko.annotation.InternalApi
diff --git a/cluster-sharding/src/multi-jvm/scala/org/apache/pekko/cluster/sbr/RandomizedBrainResolverIntegrationSpec.scala b/cluster-sharding/src/multi-jvm/scala/org/apache/pekko/cluster/sbr/RandomizedBrainResolverIntegrationSpec.scala
index 39ca53bb23c..965dde28458 100644
--- a/cluster-sharding/src/multi-jvm/scala/org/apache/pekko/cluster/sbr/RandomizedBrainResolverIntegrationSpec.scala
+++ b/cluster-sharding/src/multi-jvm/scala/org/apache/pekko/cluster/sbr/RandomizedBrainResolverIntegrationSpec.scala
@@ -17,8 +17,8 @@ import scala.concurrent.Await
import scala.concurrent.duration._
import scala.util.Random
-import com.typesafe.config.Config
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.Config
+import org.ekrich.config.ConfigFactory
import org.scalatest.BeforeAndAfterEach
import org.apache.pekko
diff --git a/cluster-sharding/src/multi-jvm/scala/org/apache/pekko/cluster/sbr/SplitBrainResolverIntegrationSpec.scala b/cluster-sharding/src/multi-jvm/scala/org/apache/pekko/cluster/sbr/SplitBrainResolverIntegrationSpec.scala
index 9bd9bba49fc..31cba02104a 100644
--- a/cluster-sharding/src/multi-jvm/scala/org/apache/pekko/cluster/sbr/SplitBrainResolverIntegrationSpec.scala
+++ b/cluster-sharding/src/multi-jvm/scala/org/apache/pekko/cluster/sbr/SplitBrainResolverIntegrationSpec.scala
@@ -16,9 +16,9 @@ package org.apache.pekko.cluster.sbr
import scala.concurrent.Await
import scala.concurrent.duration._
-import com.typesafe.config.Config
-import com.typesafe.config.ConfigFactory
-import com.typesafe.config.ConfigValueFactory
+import org.ekrich.config.Config
+import org.ekrich.config.ConfigFactory
+import org.ekrich.config.ConfigValueFactory
import org.scalatest.BeforeAndAfterEach
import org.apache.pekko
diff --git a/cluster-sharding/src/multi-jvm/scala/org/apache/pekko/cluster/sharding/ClusterShardingGetStateSpec.scala b/cluster-sharding/src/multi-jvm/scala/org/apache/pekko/cluster/sharding/ClusterShardingGetStateSpec.scala
index edc4d7649e4..ce239d2dbb7 100644
--- a/cluster-sharding/src/multi-jvm/scala/org/apache/pekko/cluster/sharding/ClusterShardingGetStateSpec.scala
+++ b/cluster-sharding/src/multi-jvm/scala/org/apache/pekko/cluster/sharding/ClusterShardingGetStateSpec.scala
@@ -15,7 +15,7 @@ package org.apache.pekko.cluster.sharding
import scala.concurrent.duration._
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.apache.pekko
import pekko.actor._
diff --git a/cluster-sharding/src/multi-jvm/scala/org/apache/pekko/cluster/sharding/ClusterShardingGetStatsSpec.scala b/cluster-sharding/src/multi-jvm/scala/org/apache/pekko/cluster/sharding/ClusterShardingGetStatsSpec.scala
index ba7cb5cea56..5e4170baf8e 100644
--- a/cluster-sharding/src/multi-jvm/scala/org/apache/pekko/cluster/sharding/ClusterShardingGetStatsSpec.scala
+++ b/cluster-sharding/src/multi-jvm/scala/org/apache/pekko/cluster/sharding/ClusterShardingGetStatsSpec.scala
@@ -21,7 +21,7 @@ import pekko.cluster.Cluster
import pekko.cluster.MemberStatus
import pekko.testkit.TestDuration
import pekko.testkit.TestProbe
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
object ClusterShardingGetStatsSpec {
import MultiNodeClusterShardingSpec.PingPongActor
diff --git a/cluster-sharding/src/multi-jvm/scala/org/apache/pekko/cluster/sharding/ClusterShardingQueriesSpec.scala b/cluster-sharding/src/multi-jvm/scala/org/apache/pekko/cluster/sharding/ClusterShardingQueriesSpec.scala
index 79d89177c47..ef5122f166b 100644
--- a/cluster-sharding/src/multi-jvm/scala/org/apache/pekko/cluster/sharding/ClusterShardingQueriesSpec.scala
+++ b/cluster-sharding/src/multi-jvm/scala/org/apache/pekko/cluster/sharding/ClusterShardingQueriesSpec.scala
@@ -15,7 +15,7 @@ package org.apache.pekko.cluster.sharding
import scala.concurrent.duration._
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.scalatest.concurrent.ScalaFutures
import org.apache.pekko
import pekko.actor.Props
diff --git a/cluster-sharding/src/multi-jvm/scala/org/apache/pekko/cluster/sharding/ClusterShardingRememberEntitiesNewExtractorSpec.scala b/cluster-sharding/src/multi-jvm/scala/org/apache/pekko/cluster/sharding/ClusterShardingRememberEntitiesNewExtractorSpec.scala
index 1614d401458..233dca45d76 100644
--- a/cluster-sharding/src/multi-jvm/scala/org/apache/pekko/cluster/sharding/ClusterShardingRememberEntitiesNewExtractorSpec.scala
+++ b/cluster-sharding/src/multi-jvm/scala/org/apache/pekko/cluster/sharding/ClusterShardingRememberEntitiesNewExtractorSpec.scala
@@ -15,7 +15,7 @@ package org.apache.pekko.cluster.sharding
import scala.concurrent.duration._
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.apache.pekko
import pekko.actor._
diff --git a/cluster-sharding/src/multi-jvm/scala/org/apache/pekko/cluster/sharding/ClusterShardingRememberEntitiesSpec.scala b/cluster-sharding/src/multi-jvm/scala/org/apache/pekko/cluster/sharding/ClusterShardingRememberEntitiesSpec.scala
index 368214fec17..0b8a2777d76 100644
--- a/cluster-sharding/src/multi-jvm/scala/org/apache/pekko/cluster/sharding/ClusterShardingRememberEntitiesSpec.scala
+++ b/cluster-sharding/src/multi-jvm/scala/org/apache/pekko/cluster/sharding/ClusterShardingRememberEntitiesSpec.scala
@@ -15,7 +15,7 @@ package org.apache.pekko.cluster.sharding
import scala.concurrent.duration._
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.apache.pekko
import pekko.actor._
diff --git a/cluster-sharding/src/multi-jvm/scala/org/apache/pekko/cluster/sharding/ClusterShardingRolePartitioningSpec.scala b/cluster-sharding/src/multi-jvm/scala/org/apache/pekko/cluster/sharding/ClusterShardingRolePartitioningSpec.scala
index b8eff24c858..f1f6d1262e0 100644
--- a/cluster-sharding/src/multi-jvm/scala/org/apache/pekko/cluster/sharding/ClusterShardingRolePartitioningSpec.scala
+++ b/cluster-sharding/src/multi-jvm/scala/org/apache/pekko/cluster/sharding/ClusterShardingRolePartitioningSpec.scala
@@ -15,7 +15,7 @@ package org.apache.pekko.cluster.sharding
import scala.concurrent.duration._
-import com.typesafe.config.{ Config, ConfigFactory }
+import org.ekrich.config.{ Config, ConfigFactory }
import org.apache.pekko
import pekko.cluster.sharding.ShardRegion.{ ClusterShardingStats, GetClusterShardingStats }
diff --git a/cluster-sharding/src/multi-jvm/scala/org/apache/pekko/cluster/sharding/ClusterShardingSpec.scala b/cluster-sharding/src/multi-jvm/scala/org/apache/pekko/cluster/sharding/ClusterShardingSpec.scala
index a8731aa3848..e7441845c4b 100644
--- a/cluster-sharding/src/multi-jvm/scala/org/apache/pekko/cluster/sharding/ClusterShardingSpec.scala
+++ b/cluster-sharding/src/multi-jvm/scala/org/apache/pekko/cluster/sharding/ClusterShardingSpec.scala
@@ -14,7 +14,7 @@
package org.apache.pekko.cluster.sharding
import scala.concurrent.duration._
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.apache.pekko
import pekko.actor._
import pekko.cluster.Cluster
diff --git a/cluster-sharding/src/multi-jvm/scala/org/apache/pekko/cluster/sharding/MultiDcClusterShardingSpec.scala b/cluster-sharding/src/multi-jvm/scala/org/apache/pekko/cluster/sharding/MultiDcClusterShardingSpec.scala
index d180ab05388..bc07ca1d37a 100644
--- a/cluster-sharding/src/multi-jvm/scala/org/apache/pekko/cluster/sharding/MultiDcClusterShardingSpec.scala
+++ b/cluster-sharding/src/multi-jvm/scala/org/apache/pekko/cluster/sharding/MultiDcClusterShardingSpec.scala
@@ -15,7 +15,7 @@ package org.apache.pekko.cluster.sharding
import scala.concurrent.duration._
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.apache.pekko
import pekko.actor.{ Actor, ActorRef, Address, Props }
diff --git a/cluster-sharding/src/multi-jvm/scala/org/apache/pekko/cluster/sharding/MultiNodeClusterShardingConfig.scala b/cluster-sharding/src/multi-jvm/scala/org/apache/pekko/cluster/sharding/MultiNodeClusterShardingConfig.scala
index e49a149dd4a..19d5ed59ffd 100644
--- a/cluster-sharding/src/multi-jvm/scala/org/apache/pekko/cluster/sharding/MultiNodeClusterShardingConfig.scala
+++ b/cluster-sharding/src/multi-jvm/scala/org/apache/pekko/cluster/sharding/MultiNodeClusterShardingConfig.scala
@@ -15,7 +15,7 @@ package org.apache.pekko.cluster.sharding
import java.lang.reflect.Modifier
-import com.typesafe.config.{ Config, ConfigFactory }
+import org.ekrich.config.{ Config, ConfigFactory }
import org.apache.pekko
import pekko.cluster.MultiNodeClusterSpec
@@ -109,7 +109,7 @@ abstract class MultiNodeClusterShardingConfig(
val persistenceConfig: Config =
if (mode == ClusterShardingSettings.StateStoreModeDData && rememberEntitiesStore != ClusterShardingSettings.RememberEntitiesStoreEventsourced)
- ConfigFactory.empty
+ ConfigFactory.empty()
else MultiNodeClusterShardingConfig.persistenceConfig(targetDir)
val common: Config =
diff --git a/cluster-sharding/src/multi-jvm/scala/org/apache/pekko/cluster/sharding/RollingUpdateShardAllocationSpec.scala b/cluster-sharding/src/multi-jvm/scala/org/apache/pekko/cluster/sharding/RollingUpdateShardAllocationSpec.scala
index 06cc32fb4a5..714917f6cb9 100644
--- a/cluster-sharding/src/multi-jvm/scala/org/apache/pekko/cluster/sharding/RollingUpdateShardAllocationSpec.scala
+++ b/cluster-sharding/src/multi-jvm/scala/org/apache/pekko/cluster/sharding/RollingUpdateShardAllocationSpec.scala
@@ -22,7 +22,7 @@ import pekko.cluster.Cluster
import pekko.cluster.MemberStatus.Up
import pekko.serialization.jackson.CborSerializable
import pekko.testkit.ImplicitSender
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import scala.concurrent.duration._
object RollingUpdateShardAllocationSpecConfig
diff --git a/cluster-sharding/src/test/scala/org/apache/pekko/cluster/sharding/ClusterShardingHealthCheckSpec.scala b/cluster-sharding/src/test/scala/org/apache/pekko/cluster/sharding/ClusterShardingHealthCheckSpec.scala
index ce188dd0ce6..1c0f6565c2a 100644
--- a/cluster-sharding/src/test/scala/org/apache/pekko/cluster/sharding/ClusterShardingHealthCheckSpec.scala
+++ b/cluster-sharding/src/test/scala/org/apache/pekko/cluster/sharding/ClusterShardingHealthCheckSpec.scala
@@ -17,7 +17,7 @@ import org.apache.pekko
import pekko.testkit.PekkoSpec
import pekko.testkit.TestProbe
import pekko.testkit.WithLogCapturing
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.scalatest.concurrent.ScalaFutures
import scala.concurrent.duration._
diff --git a/cluster-sharding/src/test/scala/org/apache/pekko/cluster/sharding/ClusterShardingLeaseSpec.scala b/cluster-sharding/src/test/scala/org/apache/pekko/cluster/sharding/ClusterShardingLeaseSpec.scala
index de1642d0a5f..b4f12823fe9 100644
--- a/cluster-sharding/src/test/scala/org/apache/pekko/cluster/sharding/ClusterShardingLeaseSpec.scala
+++ b/cluster-sharding/src/test/scala/org/apache/pekko/cluster/sharding/ClusterShardingLeaseSpec.scala
@@ -16,7 +16,7 @@ import scala.concurrent.Future
import scala.concurrent.duration._
import scala.util.Success
import scala.util.control.NoStackTrace
-import com.typesafe.config.{ Config, ConfigFactory }
+import org.ekrich.config.{ Config, ConfigFactory }
import org.apache.pekko
import pekko.actor.Props
import pekko.cluster.sharding.ShardRegion.StartEntity
diff --git a/cluster-sharding/src/test/scala/org/apache/pekko/cluster/sharding/ClusterShardingSettingsSpec.scala b/cluster-sharding/src/test/scala/org/apache/pekko/cluster/sharding/ClusterShardingSettingsSpec.scala
index 43055355ff7..58694d52c6f 100644
--- a/cluster-sharding/src/test/scala/org/apache/pekko/cluster/sharding/ClusterShardingSettingsSpec.scala
+++ b/cluster-sharding/src/test/scala/org/apache/pekko/cluster/sharding/ClusterShardingSettingsSpec.scala
@@ -16,7 +16,7 @@ package org.apache.pekko.cluster.sharding
import org.apache.pekko
import pekko.actor.ActorSystem
import pekko.testkit.{ PekkoSpec, TestKit }
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.scalatest.matchers.should.Matchers
import org.scalatest.wordspec.AnyWordSpec
diff --git a/cluster-sharding/src/test/scala/org/apache/pekko/cluster/sharding/EntityTerminationSpec.scala b/cluster-sharding/src/test/scala/org/apache/pekko/cluster/sharding/EntityTerminationSpec.scala
index 15cf865702c..47f2de8c38f 100644
--- a/cluster-sharding/src/test/scala/org/apache/pekko/cluster/sharding/EntityTerminationSpec.scala
+++ b/cluster-sharding/src/test/scala/org/apache/pekko/cluster/sharding/EntityTerminationSpec.scala
@@ -21,7 +21,7 @@ import pekko.cluster.MemberStatus
import pekko.testkit.PekkoSpec
import pekko.testkit.ImplicitSender
import pekko.testkit.WithLogCapturing
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import scala.concurrent.duration._
diff --git a/cluster-sharding/src/test/scala/org/apache/pekko/cluster/sharding/JoinConfigCompatCheckShardingSpec.scala b/cluster-sharding/src/test/scala/org/apache/pekko/cluster/sharding/JoinConfigCompatCheckShardingSpec.scala
index 7010278bff3..5dd87d75a2e 100644
--- a/cluster-sharding/src/test/scala/org/apache/pekko/cluster/sharding/JoinConfigCompatCheckShardingSpec.scala
+++ b/cluster-sharding/src/test/scala/org/apache/pekko/cluster/sharding/JoinConfigCompatCheckShardingSpec.scala
@@ -16,7 +16,7 @@ package org.apache.pekko.cluster.sharding
import scala.collection.{ immutable => im }
import scala.concurrent.duration._
-import com.typesafe.config.{ Config, ConfigFactory }
+import org.ekrich.config.{ Config, ConfigFactory }
import org.apache.pekko
import pekko.actor.ActorSystem
diff --git a/cluster-sharding/src/test/scala/org/apache/pekko/cluster/sharding/PersistentShardingMigrationSpec.scala b/cluster-sharding/src/test/scala/org/apache/pekko/cluster/sharding/PersistentShardingMigrationSpec.scala
index 2c20e1cf3c7..7a0d6c07834 100644
--- a/cluster-sharding/src/test/scala/org/apache/pekko/cluster/sharding/PersistentShardingMigrationSpec.scala
+++ b/cluster-sharding/src/test/scala/org/apache/pekko/cluster/sharding/PersistentShardingMigrationSpec.scala
@@ -20,7 +20,7 @@ import pekko.cluster.sharding.ShardRegion.CurrentRegions
import pekko.cluster.{ Cluster, MemberStatus }
import pekko.persistence.PersistentActor
import pekko.testkit.{ ImplicitSender, PekkoSpec, TestProbe }
-import com.typesafe.config.{ Config, ConfigFactory }
+import org.ekrich.config.{ Config, ConfigFactory }
import scala.concurrent.Await
import scala.concurrent.duration._
diff --git a/cluster-sharding/src/test/scala/org/apache/pekko/cluster/sharding/RememberEntitiesAndStartEntitySpec.scala b/cluster-sharding/src/test/scala/org/apache/pekko/cluster/sharding/RememberEntitiesAndStartEntitySpec.scala
index 3509d28a1f2..2f77f054385 100644
--- a/cluster-sharding/src/test/scala/org/apache/pekko/cluster/sharding/RememberEntitiesAndStartEntitySpec.scala
+++ b/cluster-sharding/src/test/scala/org/apache/pekko/cluster/sharding/RememberEntitiesAndStartEntitySpec.scala
@@ -13,7 +13,7 @@
package org.apache.pekko.cluster.sharding
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.scalatest.wordspec.AnyWordSpecLike
import org.apache.pekko
diff --git a/cluster-sharding/src/test/scala/org/apache/pekko/cluster/sharding/RememberEntitiesBatchedUpdatesSpec.scala b/cluster-sharding/src/test/scala/org/apache/pekko/cluster/sharding/RememberEntitiesBatchedUpdatesSpec.scala
index b98d21da6a0..43066a7cbaf 100644
--- a/cluster-sharding/src/test/scala/org/apache/pekko/cluster/sharding/RememberEntitiesBatchedUpdatesSpec.scala
+++ b/cluster-sharding/src/test/scala/org/apache/pekko/cluster/sharding/RememberEntitiesBatchedUpdatesSpec.scala
@@ -17,7 +17,7 @@ import org.apache.pekko
import pekko.actor.{ Actor, ActorLogging, ActorRef, Props }
import pekko.cluster.{ Cluster, MemberStatus }
import pekko.testkit.{ ImplicitSender, PekkoSpec, TestProbe }
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.scalatest.wordspec.AnyWordSpecLike
object RememberEntitiesBatchedUpdatesSpec {
diff --git a/cluster-sharding/src/test/scala/org/apache/pekko/cluster/sharding/RememberEntitiesFailureSpec.scala b/cluster-sharding/src/test/scala/org/apache/pekko/cluster/sharding/RememberEntitiesFailureSpec.scala
index f4a07fc5b4c..41238496a91 100644
--- a/cluster-sharding/src/test/scala/org/apache/pekko/cluster/sharding/RememberEntitiesFailureSpec.scala
+++ b/cluster-sharding/src/test/scala/org/apache/pekko/cluster/sharding/RememberEntitiesFailureSpec.scala
@@ -27,7 +27,7 @@ import pekko.testkit.TestException
import pekko.testkit.TestProbe
import pekko.testkit.WithLogCapturing
import scala.annotation.nowarn
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.scalatest.wordspec.AnyWordSpecLike
import scala.concurrent.duration._
import scala.concurrent.ExecutionContext
diff --git a/cluster-sharding/src/test/scala/org/apache/pekko/cluster/sharding/RememberEntitiesShardIdExtractorChangeSpec.scala b/cluster-sharding/src/test/scala/org/apache/pekko/cluster/sharding/RememberEntitiesShardIdExtractorChangeSpec.scala
index 45dbacf1511..942a6fd6be1 100644
--- a/cluster-sharding/src/test/scala/org/apache/pekko/cluster/sharding/RememberEntitiesShardIdExtractorChangeSpec.scala
+++ b/cluster-sharding/src/test/scala/org/apache/pekko/cluster/sharding/RememberEntitiesShardIdExtractorChangeSpec.scala
@@ -25,7 +25,7 @@ import pekko.persistence.PersistentActor
import pekko.testkit.PekkoSpec
import pekko.testkit.ImplicitSender
import pekko.testkit.TestProbe
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import scala.concurrent.Await
import scala.concurrent.duration._
diff --git a/cluster-sharding/src/test/scala/org/apache/pekko/cluster/sharding/ShardRegionSpec.scala b/cluster-sharding/src/test/scala/org/apache/pekko/cluster/sharding/ShardRegionSpec.scala
index 95a7df4296b..356ef282108 100644
--- a/cluster-sharding/src/test/scala/org/apache/pekko/cluster/sharding/ShardRegionSpec.scala
+++ b/cluster-sharding/src/test/scala/org/apache/pekko/cluster/sharding/ShardRegionSpec.scala
@@ -15,7 +15,7 @@ package org.apache.pekko.cluster.sharding
import java.io.File
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.apache.commons.io.FileUtils
import org.apache.pekko
import pekko.actor.{ Actor, ActorLogging, ActorRef, ActorSystem, PoisonPill, Props }
diff --git a/cluster-sharding/src/test/scala/org/apache/pekko/cluster/sharding/StartEntitySpec.scala b/cluster-sharding/src/test/scala/org/apache/pekko/cluster/sharding/StartEntitySpec.scala
index 4d0e0e89655..62c8b7c350f 100644
--- a/cluster-sharding/src/test/scala/org/apache/pekko/cluster/sharding/StartEntitySpec.scala
+++ b/cluster-sharding/src/test/scala/org/apache/pekko/cluster/sharding/StartEntitySpec.scala
@@ -22,7 +22,7 @@ import pekko.cluster.MemberStatus
import pekko.testkit.PekkoSpec
import pekko.testkit.ImplicitSender
import pekko.testkit.WithLogCapturing
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import scala.concurrent.duration._
/**
diff --git a/cluster-sharding/src/test/scala/org/apache/pekko/cluster/sharding/SupervisionSpec.scala b/cluster-sharding/src/test/scala/org/apache/pekko/cluster/sharding/SupervisionSpec.scala
index 1075cfae030..16d990be1c5 100644
--- a/cluster-sharding/src/test/scala/org/apache/pekko/cluster/sharding/SupervisionSpec.scala
+++ b/cluster-sharding/src/test/scala/org/apache/pekko/cluster/sharding/SupervisionSpec.scala
@@ -14,7 +14,7 @@
package org.apache.pekko.cluster.sharding
import scala.concurrent.duration._
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.apache.pekko
import pekko.actor.{ Actor, ActorLogging, ActorRef, PoisonPill, Props }
import pekko.cluster.Cluster
diff --git a/cluster-sharding/src/test/scala/org/apache/pekko/cluster/sharding/internal/RememberEntitiesShardStoreSpec.scala b/cluster-sharding/src/test/scala/org/apache/pekko/cluster/sharding/internal/RememberEntitiesShardStoreSpec.scala
index 744c31e5d27..9d91a637e19 100644
--- a/cluster-sharding/src/test/scala/org/apache/pekko/cluster/sharding/internal/RememberEntitiesShardStoreSpec.scala
+++ b/cluster-sharding/src/test/scala/org/apache/pekko/cluster/sharding/internal/RememberEntitiesShardStoreSpec.scala
@@ -22,7 +22,7 @@ import pekko.cluster.sharding.ClusterShardingSettings
import pekko.cluster.sharding.ShardRegion.ShardId
import pekko.cluster.{ Cluster, MemberStatus }
import pekko.testkit.{ ImplicitSender, PekkoSpec, WithLogCapturing }
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.scalatest.wordspec.AnyWordSpecLike
/**
diff --git a/cluster-sharding/src/test/scala/org/apache/pekko/cluster/sharding/internal/RememberEntitiesStarterSpec.scala b/cluster-sharding/src/test/scala/org/apache/pekko/cluster/sharding/internal/RememberEntitiesStarterSpec.scala
index 1d67644938a..1a10d57feb6 100644
--- a/cluster-sharding/src/test/scala/org/apache/pekko/cluster/sharding/internal/RememberEntitiesStarterSpec.scala
+++ b/cluster-sharding/src/test/scala/org/apache/pekko/cluster/sharding/internal/RememberEntitiesStarterSpec.scala
@@ -20,7 +20,7 @@ import pekko.cluster.sharding.ShardRegion
import pekko.cluster.sharding.ShardRegion.ShardId
import pekko.testkit.PekkoSpec
import pekko.testkit.TestProbe
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import scala.concurrent.duration._
diff --git a/cluster-sharding/src/test/scala/org/apache/pekko/cluster/sharding/passivation/CompositeSpec.scala b/cluster-sharding/src/test/scala/org/apache/pekko/cluster/sharding/passivation/CompositeSpec.scala
index 096ba2430b0..9a38baba778 100644
--- a/cluster-sharding/src/test/scala/org/apache/pekko/cluster/sharding/passivation/CompositeSpec.scala
+++ b/cluster-sharding/src/test/scala/org/apache/pekko/cluster/sharding/passivation/CompositeSpec.scala
@@ -14,8 +14,8 @@
package org.apache.pekko.cluster.sharding.passivation
import org.apache.pekko.cluster.sharding.ShardRegion
-import com.typesafe.config.Config
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.Config
+import org.ekrich.config.ConfigFactory
import scala.concurrent.duration._
diff --git a/cluster-sharding/src/test/scala/org/apache/pekko/cluster/sharding/passivation/EntityPassivationSpec.scala b/cluster-sharding/src/test/scala/org/apache/pekko/cluster/sharding/passivation/EntityPassivationSpec.scala
index 7080bc64063..f828db41ee8 100644
--- a/cluster-sharding/src/test/scala/org/apache/pekko/cluster/sharding/passivation/EntityPassivationSpec.scala
+++ b/cluster-sharding/src/test/scala/org/apache/pekko/cluster/sharding/passivation/EntityPassivationSpec.scala
@@ -24,8 +24,8 @@ import pekko.cluster.sharding.ShardRegion
import pekko.testkit.WithLogCapturing
import pekko.testkit.PekkoSpec
import pekko.testkit.TestProbe
-import com.typesafe.config.Config
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.Config
+import org.ekrich.config.ConfigFactory
import org.scalatest.concurrent.Eventually
import scala.concurrent.duration._
diff --git a/cluster-sharding/src/test/scala/org/apache/pekko/cluster/sharding/passivation/IdleSpec.scala b/cluster-sharding/src/test/scala/org/apache/pekko/cluster/sharding/passivation/IdleSpec.scala
index caf55ffd4b8..4d0c34805f2 100644
--- a/cluster-sharding/src/test/scala/org/apache/pekko/cluster/sharding/passivation/IdleSpec.scala
+++ b/cluster-sharding/src/test/scala/org/apache/pekko/cluster/sharding/passivation/IdleSpec.scala
@@ -13,8 +13,8 @@
package org.apache.pekko.cluster.sharding.passivation
-import com.typesafe.config.Config
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.Config
+import org.ekrich.config.ConfigFactory
import scala.concurrent.duration._
diff --git a/cluster-sharding/src/test/scala/org/apache/pekko/cluster/sharding/passivation/LeastFrequentlyUsedSpec.scala b/cluster-sharding/src/test/scala/org/apache/pekko/cluster/sharding/passivation/LeastFrequentlyUsedSpec.scala
index d8d08803e5f..8570671f94e 100644
--- a/cluster-sharding/src/test/scala/org/apache/pekko/cluster/sharding/passivation/LeastFrequentlyUsedSpec.scala
+++ b/cluster-sharding/src/test/scala/org/apache/pekko/cluster/sharding/passivation/LeastFrequentlyUsedSpec.scala
@@ -14,8 +14,8 @@
package org.apache.pekko.cluster.sharding.passivation
import org.apache.pekko.cluster.sharding.ShardRegion
-import com.typesafe.config.Config
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.Config
+import org.ekrich.config.ConfigFactory
import scala.concurrent.duration._
diff --git a/cluster-sharding/src/test/scala/org/apache/pekko/cluster/sharding/passivation/LeastRecentlyUsedSpec.scala b/cluster-sharding/src/test/scala/org/apache/pekko/cluster/sharding/passivation/LeastRecentlyUsedSpec.scala
index 49dbd789b83..2977d80ad29 100644
--- a/cluster-sharding/src/test/scala/org/apache/pekko/cluster/sharding/passivation/LeastRecentlyUsedSpec.scala
+++ b/cluster-sharding/src/test/scala/org/apache/pekko/cluster/sharding/passivation/LeastRecentlyUsedSpec.scala
@@ -14,8 +14,8 @@
package org.apache.pekko.cluster.sharding.passivation
import org.apache.pekko.cluster.sharding.ShardRegion
-import com.typesafe.config.Config
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.Config
+import org.ekrich.config.ConfigFactory
import scala.concurrent.duration._
diff --git a/cluster-sharding/src/test/scala/org/apache/pekko/cluster/sharding/passivation/MostRecentlyUsedSpec.scala b/cluster-sharding/src/test/scala/org/apache/pekko/cluster/sharding/passivation/MostRecentlyUsedSpec.scala
index c9203a4049d..687b3024957 100644
--- a/cluster-sharding/src/test/scala/org/apache/pekko/cluster/sharding/passivation/MostRecentlyUsedSpec.scala
+++ b/cluster-sharding/src/test/scala/org/apache/pekko/cluster/sharding/passivation/MostRecentlyUsedSpec.scala
@@ -14,8 +14,8 @@
package org.apache.pekko.cluster.sharding.passivation
import org.apache.pekko.cluster.sharding.ShardRegion
-import com.typesafe.config.Config
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.Config
+import org.ekrich.config.ConfigFactory
import scala.concurrent.duration._
diff --git a/cluster-sharding/src/test/scala/org/apache/pekko/cluster/sharding/passivation/simulator/Simulator.scala b/cluster-sharding/src/test/scala/org/apache/pekko/cluster/sharding/passivation/simulator/Simulator.scala
index 82a7122ef38..48f066c0a34 100644
--- a/cluster-sharding/src/test/scala/org/apache/pekko/cluster/sharding/passivation/simulator/Simulator.scala
+++ b/cluster-sharding/src/test/scala/org/apache/pekko/cluster/sharding/passivation/simulator/Simulator.scala
@@ -38,7 +38,7 @@ import pekko.cluster.sharding.internal.SegmentedLeastRecentlyUsedReplacementPoli
import pekko.stream.scaladsl.Flow
import pekko.stream.scaladsl.Source
import pekko.util.OptionVal
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import scala.collection.immutable
import scala.collection.mutable
@@ -55,7 +55,7 @@ object Simulator {
def main(args: Array[String]): Unit = {
val configName = args.headOption
println(s"Running passivation simulator with [${configName.getOrElse("default application")}] config")
- val config = configName.fold(ConfigFactory.load)(ConfigFactory.load)
+ val config = configName.fold(ConfigFactory.load())(ConfigFactory.load)
run(SimulatorSettings(config))
}
diff --git a/cluster-sharding/src/test/scala/org/apache/pekko/cluster/sharding/passivation/simulator/SimulatorSettings.scala b/cluster-sharding/src/test/scala/org/apache/pekko/cluster/sharding/passivation/simulator/SimulatorSettings.scala
index 56a52121226..4b308d46acc 100644
--- a/cluster-sharding/src/test/scala/org/apache/pekko/cluster/sharding/passivation/simulator/SimulatorSettings.scala
+++ b/cluster-sharding/src/test/scala/org/apache/pekko/cluster/sharding/passivation/simulator/SimulatorSettings.scala
@@ -16,7 +16,7 @@ package org.apache.pekko.cluster.sharding.passivation.simulator
import org.apache.pekko
import pekko.japi.Util.immutableSeq
import pekko.util.ccompat.JavaConverters._
-import com.typesafe.config.Config
+import org.ekrich.config.Config
import java.util.Locale
import scala.collection.immutable
diff --git a/cluster-tools/src/main/mima-filters/2.0.x.backwards.excludes/replace-lightbend-config-with-sconfig.excludes b/cluster-tools/src/main/mima-filters/2.0.x.backwards.excludes/replace-lightbend-config-with-sconfig.excludes
new file mode 100644
index 00000000000..c872c14c17f
--- /dev/null
+++ b/cluster-tools/src/main/mima-filters/2.0.x.backwards.excludes/replace-lightbend-config-with-sconfig.excludes
@@ -0,0 +1,28 @@
+# 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.
+
+# Replacing Lightbend Config (https://github.com/lightbend/config) with sconfig (https://github.com/ekrich/sconfig)
+ProblemFilters.exclude[IncompatibleMethTypeProblem]("org.apache.pekko.cluster.client.ClusterClientSettings.create")
+ProblemFilters.exclude[IncompatibleMethTypeProblem]("org.apache.pekko.cluster.client.ClusterClientSettings.apply")
+ProblemFilters.exclude[IncompatibleMethTypeProblem]("org.apache.pekko.cluster.client.ClusterReceptionistSettings.create")
+ProblemFilters.exclude[IncompatibleMethTypeProblem]("org.apache.pekko.cluster.client.ClusterReceptionistSettings.apply")
+ProblemFilters.exclude[IncompatibleMethTypeProblem]("org.apache.pekko.cluster.pubsub.DistributedPubSubSettings.create")
+ProblemFilters.exclude[IncompatibleMethTypeProblem]("org.apache.pekko.cluster.pubsub.DistributedPubSubSettings.apply")
+ProblemFilters.exclude[IncompatibleMethTypeProblem]("org.apache.pekko.cluster.singleton.ClusterSingletonManagerSettings.create")
+ProblemFilters.exclude[IncompatibleMethTypeProblem]("org.apache.pekko.cluster.singleton.ClusterSingletonManagerSettings.apply")
+ProblemFilters.exclude[IncompatibleMethTypeProblem]("org.apache.pekko.cluster.singleton.ClusterSingletonProxySettings.create")
+ProblemFilters.exclude[IncompatibleMethTypeProblem]("org.apache.pekko.cluster.singleton.ClusterSingletonProxySettings.apply")
diff --git a/cluster-tools/src/main/scala/org/apache/pekko/cluster/client/ClusterClient.scala b/cluster-tools/src/main/scala/org/apache/pekko/cluster/client/ClusterClient.scala
index 5956af5c688..babc686b6b3 100644
--- a/cluster-tools/src/main/scala/org/apache/pekko/cluster/client/ClusterClient.scala
+++ b/cluster-tools/src/main/scala/org/apache/pekko/cluster/client/ClusterClient.scala
@@ -19,7 +19,7 @@ import scala.collection.immutable
import scala.collection.immutable.{ HashMap, HashSet }
import scala.concurrent.duration._
-import com.typesafe.config.Config
+import org.ekrich.config.Config
import org.apache.pekko
import pekko.actor.Actor
diff --git a/cluster-tools/src/main/scala/org/apache/pekko/cluster/pubsub/DistributedPubSubMediator.scala b/cluster-tools/src/main/scala/org/apache/pekko/cluster/pubsub/DistributedPubSubMediator.scala
index 608ba412586..b6db146152e 100644
--- a/cluster-tools/src/main/scala/org/apache/pekko/cluster/pubsub/DistributedPubSubMediator.scala
+++ b/cluster-tools/src/main/scala/org/apache/pekko/cluster/pubsub/DistributedPubSubMediator.scala
@@ -22,7 +22,7 @@ import scala.collection.immutable.Set
import scala.collection.immutable.TreeMap
import scala.concurrent.duration._
-import com.typesafe.config.Config
+import org.ekrich.config.Config
import org.apache.pekko
import pekko.actor._
diff --git a/cluster-tools/src/main/scala/org/apache/pekko/cluster/singleton/ClusterSingletonManager.scala b/cluster-tools/src/main/scala/org/apache/pekko/cluster/singleton/ClusterSingletonManager.scala
index 62e86945ca8..c505c20572d 100644
--- a/cluster-tools/src/main/scala/org/apache/pekko/cluster/singleton/ClusterSingletonManager.scala
+++ b/cluster-tools/src/main/scala/org/apache/pekko/cluster/singleton/ClusterSingletonManager.scala
@@ -18,7 +18,7 @@ import scala.concurrent.Future
import scala.concurrent.Promise
import scala.concurrent.duration._
import scala.util.control.NonFatal
-import com.typesafe.config.Config
+import org.ekrich.config.Config
import org.apache.pekko
import pekko.PekkoException
import pekko.Done
diff --git a/cluster-tools/src/main/scala/org/apache/pekko/cluster/singleton/ClusterSingletonProxy.scala b/cluster-tools/src/main/scala/org/apache/pekko/cluster/singleton/ClusterSingletonProxy.scala
index 97db57c9bb3..a72272c0d54 100644
--- a/cluster-tools/src/main/scala/org/apache/pekko/cluster/singleton/ClusterSingletonProxy.scala
+++ b/cluster-tools/src/main/scala/org/apache/pekko/cluster/singleton/ClusterSingletonProxy.scala
@@ -16,7 +16,7 @@ package org.apache.pekko.cluster.singleton
import scala.collection.immutable
import scala.concurrent.duration._
-import com.typesafe.config.Config
+import org.ekrich.config.Config
import org.apache.pekko
import pekko.actor._
diff --git a/cluster-tools/src/multi-jvm/scala/org/apache/pekko/cluster/client/ClusterClientHandoverSpec.scala b/cluster-tools/src/multi-jvm/scala/org/apache/pekko/cluster/client/ClusterClientHandoverSpec.scala
index 7057f7df9d1..41841754f58 100644
--- a/cluster-tools/src/multi-jvm/scala/org/apache/pekko/cluster/client/ClusterClientHandoverSpec.scala
+++ b/cluster-tools/src/multi-jvm/scala/org/apache/pekko/cluster/client/ClusterClientHandoverSpec.scala
@@ -16,7 +16,7 @@ package org.apache.pekko.cluster.client
import scala.concurrent.duration._
import scala.annotation.nowarn
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.apache.pekko
import pekko.actor.{ ActorPath, ActorRef }
diff --git a/cluster-tools/src/multi-jvm/scala/org/apache/pekko/cluster/client/ClusterClientSpec.scala b/cluster-tools/src/multi-jvm/scala/org/apache/pekko/cluster/client/ClusterClientSpec.scala
index d5b1be40d84..741ea7477f7 100644
--- a/cluster-tools/src/multi-jvm/scala/org/apache/pekko/cluster/client/ClusterClientSpec.scala
+++ b/cluster-tools/src/multi-jvm/scala/org/apache/pekko/cluster/client/ClusterClientSpec.scala
@@ -17,7 +17,7 @@ import scala.annotation.nowarn
import scala.concurrent.Await
import scala.concurrent.duration._
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.apache.pekko
import pekko.actor.Actor
diff --git a/cluster-tools/src/multi-jvm/scala/org/apache/pekko/cluster/client/ClusterClientStopSpec.scala b/cluster-tools/src/multi-jvm/scala/org/apache/pekko/cluster/client/ClusterClientStopSpec.scala
index 6af92d89a7e..9e84ff09a45 100644
--- a/cluster-tools/src/multi-jvm/scala/org/apache/pekko/cluster/client/ClusterClientStopSpec.scala
+++ b/cluster-tools/src/multi-jvm/scala/org/apache/pekko/cluster/client/ClusterClientStopSpec.scala
@@ -17,7 +17,7 @@ import scala.concurrent.Await
import scala.concurrent.duration._
import scala.annotation.nowarn
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.apache.pekko
import pekko.actor.{ Actor, Props }
diff --git a/cluster-tools/src/multi-jvm/scala/org/apache/pekko/cluster/pubsub/DistributedPubSubMediatorSpec.scala b/cluster-tools/src/multi-jvm/scala/org/apache/pekko/cluster/pubsub/DistributedPubSubMediatorSpec.scala
index 599aed999ba..a7bf3391672 100644
--- a/cluster-tools/src/multi-jvm/scala/org/apache/pekko/cluster/pubsub/DistributedPubSubMediatorSpec.scala
+++ b/cluster-tools/src/multi-jvm/scala/org/apache/pekko/cluster/pubsub/DistributedPubSubMediatorSpec.scala
@@ -15,7 +15,7 @@ package org.apache.pekko.cluster.pubsub
import scala.concurrent.duration._
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.apache.pekko
import pekko.actor.Actor
diff --git a/cluster-tools/src/multi-jvm/scala/org/apache/pekko/cluster/pubsub/DistributedPubSubRestartSpec.scala b/cluster-tools/src/multi-jvm/scala/org/apache/pekko/cluster/pubsub/DistributedPubSubRestartSpec.scala
index fa1b0846244..dc59c83b1ec 100644
--- a/cluster-tools/src/multi-jvm/scala/org/apache/pekko/cluster/pubsub/DistributedPubSubRestartSpec.scala
+++ b/cluster-tools/src/multi-jvm/scala/org/apache/pekko/cluster/pubsub/DistributedPubSubRestartSpec.scala
@@ -16,7 +16,7 @@ package org.apache.pekko.cluster.pubsub
import scala.concurrent.Await
import scala.concurrent.duration._
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.apache.pekko
import pekko.actor.Actor
diff --git a/cluster-tools/src/multi-jvm/scala/org/apache/pekko/cluster/singleton/ClusterSingletonManagerChaosSpec.scala b/cluster-tools/src/multi-jvm/scala/org/apache/pekko/cluster/singleton/ClusterSingletonManagerChaosSpec.scala
index e2b58be7f7e..5b166323cf0 100644
--- a/cluster-tools/src/multi-jvm/scala/org/apache/pekko/cluster/singleton/ClusterSingletonManagerChaosSpec.scala
+++ b/cluster-tools/src/multi-jvm/scala/org/apache/pekko/cluster/singleton/ClusterSingletonManagerChaosSpec.scala
@@ -15,7 +15,7 @@ package org.apache.pekko.cluster.singleton
import scala.concurrent.duration._
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.apache.pekko
import pekko.actor.Actor
diff --git a/cluster-tools/src/multi-jvm/scala/org/apache/pekko/cluster/singleton/ClusterSingletonManagerDownedSpec.scala b/cluster-tools/src/multi-jvm/scala/org/apache/pekko/cluster/singleton/ClusterSingletonManagerDownedSpec.scala
index c3bbb8754a1..219170f7c65 100644
--- a/cluster-tools/src/multi-jvm/scala/org/apache/pekko/cluster/singleton/ClusterSingletonManagerDownedSpec.scala
+++ b/cluster-tools/src/multi-jvm/scala/org/apache/pekko/cluster/singleton/ClusterSingletonManagerDownedSpec.scala
@@ -15,7 +15,7 @@ package org.apache.pekko.cluster.singleton
import scala.concurrent.duration._
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.apache.pekko
import pekko.actor.Actor
diff --git a/cluster-tools/src/multi-jvm/scala/org/apache/pekko/cluster/singleton/ClusterSingletonManagerLeaseSpec.scala b/cluster-tools/src/multi-jvm/scala/org/apache/pekko/cluster/singleton/ClusterSingletonManagerLeaseSpec.scala
index 1107bd90a98..3d9e00c0d8c 100644
--- a/cluster-tools/src/multi-jvm/scala/org/apache/pekko/cluster/singleton/ClusterSingletonManagerLeaseSpec.scala
+++ b/cluster-tools/src/multi-jvm/scala/org/apache/pekko/cluster/singleton/ClusterSingletonManagerLeaseSpec.scala
@@ -15,7 +15,7 @@ package org.apache.pekko.cluster.singleton
import scala.concurrent.duration._
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.apache.pekko
import pekko.actor.{ Actor, ActorIdentity, ActorLogging, ActorRef, Address, Identify, PoisonPill, Props }
diff --git a/cluster-tools/src/multi-jvm/scala/org/apache/pekko/cluster/singleton/ClusterSingletonManagerLeave2Spec.scala b/cluster-tools/src/multi-jvm/scala/org/apache/pekko/cluster/singleton/ClusterSingletonManagerLeave2Spec.scala
index 3740745cf19..e412f095741 100644
--- a/cluster-tools/src/multi-jvm/scala/org/apache/pekko/cluster/singleton/ClusterSingletonManagerLeave2Spec.scala
+++ b/cluster-tools/src/multi-jvm/scala/org/apache/pekko/cluster/singleton/ClusterSingletonManagerLeave2Spec.scala
@@ -15,7 +15,7 @@ package org.apache.pekko.cluster.singleton
import scala.concurrent.duration._
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.apache.pekko
import pekko.actor.Actor
diff --git a/cluster-tools/src/multi-jvm/scala/org/apache/pekko/cluster/singleton/ClusterSingletonManagerLeaveSpec.scala b/cluster-tools/src/multi-jvm/scala/org/apache/pekko/cluster/singleton/ClusterSingletonManagerLeaveSpec.scala
index 8c624802b9e..3ee8afafe34 100644
--- a/cluster-tools/src/multi-jvm/scala/org/apache/pekko/cluster/singleton/ClusterSingletonManagerLeaveSpec.scala
+++ b/cluster-tools/src/multi-jvm/scala/org/apache/pekko/cluster/singleton/ClusterSingletonManagerLeaveSpec.scala
@@ -15,7 +15,7 @@ package org.apache.pekko.cluster.singleton
import scala.concurrent.duration._
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.apache.pekko
import pekko.actor.Actor
diff --git a/cluster-tools/src/multi-jvm/scala/org/apache/pekko/cluster/singleton/ClusterSingletonManagerPreparingForShutdownSpec.scala b/cluster-tools/src/multi-jvm/scala/org/apache/pekko/cluster/singleton/ClusterSingletonManagerPreparingForShutdownSpec.scala
index efcf08ad29b..acc5e0cff1c 100644
--- a/cluster-tools/src/multi-jvm/scala/org/apache/pekko/cluster/singleton/ClusterSingletonManagerPreparingForShutdownSpec.scala
+++ b/cluster-tools/src/multi-jvm/scala/org/apache/pekko/cluster/singleton/ClusterSingletonManagerPreparingForShutdownSpec.scala
@@ -25,7 +25,7 @@ import pekko.cluster.MultiNodeClusterSpec
import pekko.remote.testkit.MultiNodeConfig
import pekko.remote.testkit.STMultiNodeSpec
import pekko.testkit._
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import scala.concurrent.duration._
diff --git a/cluster-tools/src/multi-jvm/scala/org/apache/pekko/cluster/singleton/ClusterSingletonManagerSpec.scala b/cluster-tools/src/multi-jvm/scala/org/apache/pekko/cluster/singleton/ClusterSingletonManagerSpec.scala
index 08bc389b2fb..5a6eefe747f 100644
--- a/cluster-tools/src/multi-jvm/scala/org/apache/pekko/cluster/singleton/ClusterSingletonManagerSpec.scala
+++ b/cluster-tools/src/multi-jvm/scala/org/apache/pekko/cluster/singleton/ClusterSingletonManagerSpec.scala
@@ -15,7 +15,7 @@ package org.apache.pekko.cluster.singleton
import scala.concurrent.duration._
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.apache.pekko
import pekko.actor.Actor
diff --git a/cluster-tools/src/multi-jvm/scala/org/apache/pekko/cluster/singleton/ClusterSingletonManagerStartupSpec.scala b/cluster-tools/src/multi-jvm/scala/org/apache/pekko/cluster/singleton/ClusterSingletonManagerStartupSpec.scala
index 15a78fa9136..0d3ed8bd51e 100644
--- a/cluster-tools/src/multi-jvm/scala/org/apache/pekko/cluster/singleton/ClusterSingletonManagerStartupSpec.scala
+++ b/cluster-tools/src/multi-jvm/scala/org/apache/pekko/cluster/singleton/ClusterSingletonManagerStartupSpec.scala
@@ -15,7 +15,7 @@ package org.apache.pekko.cluster.singleton
import scala.concurrent.duration._
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.apache.pekko
import pekko.actor.Actor
diff --git a/cluster-tools/src/multi-jvm/scala/org/apache/pekko/cluster/singleton/MultiDcSingletonManagerSpec.scala b/cluster-tools/src/multi-jvm/scala/org/apache/pekko/cluster/singleton/MultiDcSingletonManagerSpec.scala
index ac622507639..b1c6314426f 100644
--- a/cluster-tools/src/multi-jvm/scala/org/apache/pekko/cluster/singleton/MultiDcSingletonManagerSpec.scala
+++ b/cluster-tools/src/multi-jvm/scala/org/apache/pekko/cluster/singleton/MultiDcSingletonManagerSpec.scala
@@ -15,7 +15,7 @@ package org.apache.pekko.cluster.singleton
import scala.concurrent.duration._
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.apache.pekko
import pekko.actor.{ Actor, ActorLogging, Address, PoisonPill, Props }
diff --git a/cluster-tools/src/test/java/org/apache/pekko/cluster/client/ClusterClientTest.java b/cluster-tools/src/test/java/org/apache/pekko/cluster/client/ClusterClientTest.java
index ad513485891..fb57c201c32 100644
--- a/cluster-tools/src/test/java/org/apache/pekko/cluster/client/ClusterClientTest.java
+++ b/cluster-tools/src/test/java/org/apache/pekko/cluster/client/ClusterClientTest.java
@@ -13,12 +13,12 @@
package org.apache.pekko.cluster.client;
-import com.typesafe.config.ConfigFactory;
import java.util.Arrays;
import java.util.HashSet;
import java.util.Set;
import org.apache.pekko.actor.*;
import org.apache.pekko.testkit.PekkoJUnitActorSystemResource;
+import org.ekrich.config.ConfigFactory;
import org.junit.ClassRule;
import org.junit.Test;
import org.scalatestplus.junit.JUnitSuite;
diff --git a/cluster-tools/src/test/java/org/apache/pekko/cluster/pubsub/DistributedPubSubMediatorTest.java b/cluster-tools/src/test/java/org/apache/pekko/cluster/pubsub/DistributedPubSubMediatorTest.java
index b481ae9631b..abf971c74db 100644
--- a/cluster-tools/src/test/java/org/apache/pekko/cluster/pubsub/DistributedPubSubMediatorTest.java
+++ b/cluster-tools/src/test/java/org/apache/pekko/cluster/pubsub/DistributedPubSubMediatorTest.java
@@ -13,7 +13,6 @@
package org.apache.pekko.cluster.pubsub;
-import com.typesafe.config.ConfigFactory;
import org.apache.pekko.actor.AbstractActor;
import org.apache.pekko.actor.ActorRef;
import org.apache.pekko.actor.ActorSystem;
@@ -21,6 +20,7 @@
import org.apache.pekko.event.Logging;
import org.apache.pekko.event.LoggingAdapter;
import org.apache.pekko.testkit.PekkoJUnitActorSystemResource;
+import org.ekrich.config.ConfigFactory;
import org.junit.ClassRule;
import org.junit.Test;
import org.scalatestplus.junit.JUnitSuite;
diff --git a/cluster-tools/src/test/scala/org/apache/pekko/cluster/pubsub/DistributedPubSubMediatorRouterSpec.scala b/cluster-tools/src/test/scala/org/apache/pekko/cluster/pubsub/DistributedPubSubMediatorRouterSpec.scala
index 12d5561adc2..00221464b25 100644
--- a/cluster-tools/src/test/scala/org/apache/pekko/cluster/pubsub/DistributedPubSubMediatorRouterSpec.scala
+++ b/cluster-tools/src/test/scala/org/apache/pekko/cluster/pubsub/DistributedPubSubMediatorRouterSpec.scala
@@ -13,7 +13,7 @@
package org.apache.pekko.cluster.pubsub
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.scalatest.wordspec.AnyWordSpecLike
import org.apache.pekko
diff --git a/cluster-tools/src/test/scala/org/apache/pekko/cluster/singleton/ClusterSingletonLeaseSpec.scala b/cluster-tools/src/test/scala/org/apache/pekko/cluster/singleton/ClusterSingletonLeaseSpec.scala
index 8873fd5107f..961f8a6cfb3 100644
--- a/cluster-tools/src/test/scala/org/apache/pekko/cluster/singleton/ClusterSingletonLeaseSpec.scala
+++ b/cluster-tools/src/test/scala/org/apache/pekko/cluster/singleton/ClusterSingletonLeaseSpec.scala
@@ -19,7 +19,7 @@ import scala.concurrent.Promise
import scala.concurrent.duration._
import scala.util.Success
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.apache.pekko
import pekko.actor.Actor
diff --git a/cluster-tools/src/test/scala/org/apache/pekko/cluster/singleton/ClusterSingletonLeavingSpeedSpec.scala b/cluster-tools/src/test/scala/org/apache/pekko/cluster/singleton/ClusterSingletonLeavingSpeedSpec.scala
index 75b3e971d93..9bcea61e0d2 100644
--- a/cluster-tools/src/test/scala/org/apache/pekko/cluster/singleton/ClusterSingletonLeavingSpeedSpec.scala
+++ b/cluster-tools/src/test/scala/org/apache/pekko/cluster/singleton/ClusterSingletonLeavingSpeedSpec.scala
@@ -15,7 +15,7 @@ package org.apache.pekko.cluster.singleton
import scala.concurrent.duration._
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.apache.pekko
import pekko.actor.Actor
diff --git a/cluster-tools/src/test/scala/org/apache/pekko/cluster/singleton/ClusterSingletonProxySpec.scala b/cluster-tools/src/test/scala/org/apache/pekko/cluster/singleton/ClusterSingletonProxySpec.scala
index 8ddbe58759a..357a5ad3477 100644
--- a/cluster-tools/src/test/scala/org/apache/pekko/cluster/singleton/ClusterSingletonProxySpec.scala
+++ b/cluster-tools/src/test/scala/org/apache/pekko/cluster/singleton/ClusterSingletonProxySpec.scala
@@ -15,7 +15,7 @@ package org.apache.pekko.cluster.singleton
import scala.concurrent.duration._
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.scalatest.BeforeAndAfterAll
import org.scalatest.matchers.should.Matchers
import org.scalatest.wordspec.AnyWordSpecLike
diff --git a/cluster-tools/src/test/scala/org/apache/pekko/cluster/singleton/ClusterSingletonRestart2Spec.scala b/cluster-tools/src/test/scala/org/apache/pekko/cluster/singleton/ClusterSingletonRestart2Spec.scala
index ce10330e5fa..2acae477501 100644
--- a/cluster-tools/src/test/scala/org/apache/pekko/cluster/singleton/ClusterSingletonRestart2Spec.scala
+++ b/cluster-tools/src/test/scala/org/apache/pekko/cluster/singleton/ClusterSingletonRestart2Spec.scala
@@ -15,7 +15,7 @@ package org.apache.pekko.cluster.singleton
import scala.concurrent.duration._
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.apache.pekko
import pekko.actor.Actor
diff --git a/cluster-tools/src/test/scala/org/apache/pekko/cluster/singleton/ClusterSingletonRestartSpec.scala b/cluster-tools/src/test/scala/org/apache/pekko/cluster/singleton/ClusterSingletonRestartSpec.scala
index 5ab67e494a2..646a73a853a 100644
--- a/cluster-tools/src/test/scala/org/apache/pekko/cluster/singleton/ClusterSingletonRestartSpec.scala
+++ b/cluster-tools/src/test/scala/org/apache/pekko/cluster/singleton/ClusterSingletonRestartSpec.scala
@@ -15,7 +15,7 @@ package org.apache.pekko.cluster.singleton
import scala.concurrent.duration._
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.apache.pekko
import pekko.actor.ActorSystem
diff --git a/cluster-typed/src/main/mima-filters/2.0.x.backwards.excludes/replace-lightbend-config-with-sconfig.excludes b/cluster-typed/src/main/mima-filters/2.0.x.backwards.excludes/replace-lightbend-config-with-sconfig.excludes
new file mode 100644
index 00000000000..2e194d0a79c
--- /dev/null
+++ b/cluster-typed/src/main/mima-filters/2.0.x.backwards.excludes/replace-lightbend-config-with-sconfig.excludes
@@ -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.
+
+# Replacing Lightbend Config (https://github.com/lightbend/config) with sconfig (https://github.com/ekrich/sconfig)
+ProblemFilters.exclude[IncompatibleMethTypeProblem]("org.apache.pekko.cluster.ddata.typed.javadsl.ReplicatorSettings.create")
+ProblemFilters.exclude[IncompatibleMethTypeProblem]("org.apache.pekko.cluster.ddata.typed.scaladsl.ReplicatorSettings.apply")
+ProblemFilters.exclude[IncompatibleMethTypeProblem]("org.apache.pekko.cluster.typed.ClusterSingletonManagerSettings.create")
+ProblemFilters.exclude[IncompatibleMethTypeProblem]("org.apache.pekko.cluster.typed.ClusterSingletonManagerSettings.apply")
+ProblemFilters.exclude[IncompatibleMethTypeProblem]("org.apache.pekko.cluster.typed.ClusterSingletonSettings.fromConfig")
\ No newline at end of file
diff --git a/cluster-typed/src/main/scala/org/apache/pekko/cluster/ddata/typed/javadsl/ReplicatorSettings.scala b/cluster-typed/src/main/scala/org/apache/pekko/cluster/ddata/typed/javadsl/ReplicatorSettings.scala
index 4370d150877..7cca91f22d3 100644
--- a/cluster-typed/src/main/scala/org/apache/pekko/cluster/ddata/typed/javadsl/ReplicatorSettings.scala
+++ b/cluster-typed/src/main/scala/org/apache/pekko/cluster/ddata/typed/javadsl/ReplicatorSettings.scala
@@ -13,7 +13,7 @@
package org.apache.pekko.cluster.ddata.typed.javadsl
-import com.typesafe.config.Config
+import org.ekrich.config.Config
import org.apache.pekko
import pekko.actor.typed.ActorSystem
diff --git a/cluster-typed/src/main/scala/org/apache/pekko/cluster/ddata/typed/scaladsl/ReplicatorSettings.scala b/cluster-typed/src/main/scala/org/apache/pekko/cluster/ddata/typed/scaladsl/ReplicatorSettings.scala
index aa0449d9db0..9189f00ea57 100644
--- a/cluster-typed/src/main/scala/org/apache/pekko/cluster/ddata/typed/scaladsl/ReplicatorSettings.scala
+++ b/cluster-typed/src/main/scala/org/apache/pekko/cluster/ddata/typed/scaladsl/ReplicatorSettings.scala
@@ -13,7 +13,7 @@
package org.apache.pekko.cluster.ddata.typed.scaladsl
-import com.typesafe.config.Config
+import org.ekrich.config.Config
import org.apache.pekko
import pekko.actor.typed.ActorSystem
diff --git a/cluster-typed/src/main/scala/org/apache/pekko/cluster/typed/ClusterSingleton.scala b/cluster-typed/src/main/scala/org/apache/pekko/cluster/typed/ClusterSingleton.scala
index c8ad70ce8b8..bd5c4692934 100644
--- a/cluster-typed/src/main/scala/org/apache/pekko/cluster/typed/ClusterSingleton.scala
+++ b/cluster-typed/src/main/scala/org/apache/pekko/cluster/typed/ClusterSingleton.scala
@@ -26,7 +26,7 @@ import pekko.cluster.singleton.{
import pekko.cluster.typed.internal.AdaptedClusterSingletonImpl
import pekko.coordination.lease.LeaseUsageSettings
import pekko.util.JavaDurationConverters._
-import com.typesafe.config.Config
+import org.ekrich.config.Config
object ClusterSingletonSettings {
def apply(system: ActorSystem[_]): ClusterSingletonSettings =
diff --git a/cluster-typed/src/main/scala/org/apache/pekko/cluster/typed/internal/receptionist/ClusterReceptionistConfigCompatChecker.scala b/cluster-typed/src/main/scala/org/apache/pekko/cluster/typed/internal/receptionist/ClusterReceptionistConfigCompatChecker.scala
index 9c0aae89068..0be173b7f9c 100644
--- a/cluster-typed/src/main/scala/org/apache/pekko/cluster/typed/internal/receptionist/ClusterReceptionistConfigCompatChecker.scala
+++ b/cluster-typed/src/main/scala/org/apache/pekko/cluster/typed/internal/receptionist/ClusterReceptionistConfigCompatChecker.scala
@@ -13,7 +13,7 @@
package org.apache.pekko.cluster.typed.internal.receptionist
-import com.typesafe.config.Config
+import org.ekrich.config.Config
import org.apache.pekko
import pekko.annotation.InternalApi
diff --git a/cluster-typed/src/main/scala/org/apache/pekko/cluster/typed/internal/receptionist/ClusterReceptionistSettings.scala b/cluster-typed/src/main/scala/org/apache/pekko/cluster/typed/internal/receptionist/ClusterReceptionistSettings.scala
index 76a8231a7d0..27efc769353 100644
--- a/cluster-typed/src/main/scala/org/apache/pekko/cluster/typed/internal/receptionist/ClusterReceptionistSettings.scala
+++ b/cluster-typed/src/main/scala/org/apache/pekko/cluster/typed/internal/receptionist/ClusterReceptionistSettings.scala
@@ -15,7 +15,7 @@ package org.apache.pekko.cluster.typed.internal.receptionist
import scala.concurrent.duration._
import scala.concurrent.duration.{ FiniteDuration, MILLISECONDS }
-import com.typesafe.config.Config
+import org.ekrich.config.Config
import org.apache.pekko
import pekko.actor.typed.ActorSystem
import pekko.annotation.InternalApi
diff --git a/cluster-typed/src/multi-jvm/scala/org/apache/pekko/cluster/typed/ChunkLargeMessageSpec.scala b/cluster-typed/src/multi-jvm/scala/org/apache/pekko/cluster/typed/ChunkLargeMessageSpec.scala
index a1e080680b9..3123321d235 100644
--- a/cluster-typed/src/multi-jvm/scala/org/apache/pekko/cluster/typed/ChunkLargeMessageSpec.scala
+++ b/cluster-typed/src/multi-jvm/scala/org/apache/pekko/cluster/typed/ChunkLargeMessageSpec.scala
@@ -16,7 +16,7 @@ package org.apache.pekko.cluster.typed
import scala.concurrent.duration._
import scala.util.Random
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.HdrHistogram.Histogram
import org.apache.pekko
diff --git a/cluster-typed/src/multi-jvm/scala/org/apache/pekko/cluster/typed/MultiDcClusterSingletonSpec.scala b/cluster-typed/src/multi-jvm/scala/org/apache/pekko/cluster/typed/MultiDcClusterSingletonSpec.scala
index 4c0c3c2ffea..c199435cc54 100644
--- a/cluster-typed/src/multi-jvm/scala/org/apache/pekko/cluster/typed/MultiDcClusterSingletonSpec.scala
+++ b/cluster-typed/src/multi-jvm/scala/org/apache/pekko/cluster/typed/MultiDcClusterSingletonSpec.scala
@@ -15,7 +15,7 @@ package org.apache.pekko.cluster.typed
import scala.concurrent.duration._
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.apache.pekko
import pekko.actor.testkit.typed.scaladsl.TestProbe
diff --git a/cluster-typed/src/multi-jvm/scala/org/apache/pekko/cluster/typed/PubSubSpec.scala b/cluster-typed/src/multi-jvm/scala/org/apache/pekko/cluster/typed/PubSubSpec.scala
index ececf0dd45a..4fae7794b62 100644
--- a/cluster-typed/src/multi-jvm/scala/org/apache/pekko/cluster/typed/PubSubSpec.scala
+++ b/cluster-typed/src/multi-jvm/scala/org/apache/pekko/cluster/typed/PubSubSpec.scala
@@ -13,7 +13,7 @@
package org.apache.pekko.cluster.typed
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.apache.pekko
import pekko.actor.testkit.typed.scaladsl.TestProbe
diff --git a/cluster-typed/src/multi-jvm/scala/org/apache/pekko/cluster/typed/internal/ClusterReceptionistUnreachabilitySpec.scala b/cluster-typed/src/multi-jvm/scala/org/apache/pekko/cluster/typed/internal/ClusterReceptionistUnreachabilitySpec.scala
index b48972186df..d59b3ec97e6 100644
--- a/cluster-typed/src/multi-jvm/scala/org/apache/pekko/cluster/typed/internal/ClusterReceptionistUnreachabilitySpec.scala
+++ b/cluster-typed/src/multi-jvm/scala/org/apache/pekko/cluster/typed/internal/ClusterReceptionistUnreachabilitySpec.scala
@@ -15,7 +15,7 @@ package org.apache.pekko.cluster.typed.internal
import scala.concurrent.duration._
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.apache.pekko
import pekko.actor.testkit.typed.scaladsl.TestProbe
diff --git a/cluster-typed/src/test/java/jdocs/org/apache/pekko/cluster/ddata/typed/javadsl/ReplicatorDocTest.java b/cluster-typed/src/test/java/jdocs/org/apache/pekko/cluster/ddata/typed/javadsl/ReplicatorDocTest.java
index d703c1781a2..72469a6296e 100644
--- a/cluster-typed/src/test/java/jdocs/org/apache/pekko/cluster/ddata/typed/javadsl/ReplicatorDocTest.java
+++ b/cluster-typed/src/test/java/jdocs/org/apache/pekko/cluster/ddata/typed/javadsl/ReplicatorDocTest.java
@@ -16,8 +16,6 @@
import static jdocs.org.apache.pekko.cluster.ddata.typed.javadsl.ReplicatorDocSample.Counter;
import static org.junit.Assert.assertEquals;
-import com.typesafe.config.Config;
-import com.typesafe.config.ConfigFactory;
import java.time.Duration;
import org.apache.pekko.actor.testkit.typed.javadsl.LogCapturing;
import org.apache.pekko.actor.testkit.typed.javadsl.TestKitJunitResource;
@@ -28,6 +26,8 @@
import org.apache.pekko.cluster.ddata.Key;
import org.apache.pekko.cluster.ddata.typed.javadsl.DistributedData;
import org.apache.pekko.cluster.ddata.typed.javadsl.Replicator;
+import org.ekrich.config.Config;
+import org.ekrich.config.ConfigFactory;
import org.junit.ClassRule;
import org.junit.Rule;
import org.junit.Test;
diff --git a/cluster-typed/src/test/java/jdocs/org/apache/pekko/cluster/typed/BasicClusterExampleTest.java b/cluster-typed/src/test/java/jdocs/org/apache/pekko/cluster/typed/BasicClusterExampleTest.java
index 7d11bcde5a4..262047caa37 100644
--- a/cluster-typed/src/test/java/jdocs/org/apache/pekko/cluster/typed/BasicClusterExampleTest.java
+++ b/cluster-typed/src/test/java/jdocs/org/apache/pekko/cluster/typed/BasicClusterExampleTest.java
@@ -28,8 +28,8 @@
import org.apache.pekko.cluster.typed.*;
// #cluster-imports
import org.apache.pekko.actor.testkit.typed.javadsl.TestProbe;
-import com.typesafe.config.Config;
-import com.typesafe.config.ConfigFactory;
+import org.ekrich.config.Config;
+import org.ekrich.config.ConfigFactory;
import java.util.ArrayList;
import java.util.List;
diff --git a/cluster-typed/src/test/java/org/apache/pekko/cluster/typed/ClusterApiTest.java b/cluster-typed/src/test/java/org/apache/pekko/cluster/typed/ClusterApiTest.java
index 47cb24450f4..7b7c72b8231 100644
--- a/cluster-typed/src/test/java/org/apache/pekko/cluster/typed/ClusterApiTest.java
+++ b/cluster-typed/src/test/java/org/apache/pekko/cluster/typed/ClusterApiTest.java
@@ -13,12 +13,12 @@
package org.apache.pekko.cluster.typed;
-import com.typesafe.config.Config;
-import com.typesafe.config.ConfigFactory;
import java.util.concurrent.TimeUnit;
import org.apache.pekko.actor.testkit.typed.javadsl.TestProbe;
import org.apache.pekko.actor.typed.ActorSystem;
import org.apache.pekko.cluster.ClusterEvent;
+import org.ekrich.config.Config;
+import org.ekrich.config.ConfigFactory;
import org.junit.Test;
import org.scalatestplus.junit.JUnitSuite;
diff --git a/cluster-typed/src/test/scala/docs/org/apache/pekko/cluster/ddata/typed/scaladsl/ReplicatorDocSpec.scala b/cluster-typed/src/test/scala/docs/org/apache/pekko/cluster/ddata/typed/scaladsl/ReplicatorDocSpec.scala
index 8b3a4096fa9..42f2b4b062a 100644
--- a/cluster-typed/src/test/scala/docs/org/apache/pekko/cluster/ddata/typed/scaladsl/ReplicatorDocSpec.scala
+++ b/cluster-typed/src/test/scala/docs/org/apache/pekko/cluster/ddata/typed/scaladsl/ReplicatorDocSpec.scala
@@ -19,7 +19,7 @@ import pekko.cluster.ddata.SelfUniqueAddress
import pekko.cluster.ddata.typed.scaladsl.DistributedData
import pekko.cluster.ddata.typed.scaladsl.Replicator
import pekko.actor.testkit.typed.scaladsl._
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.scalatest.wordspec.AnyWordSpecLike
// #sample
diff --git a/cluster-typed/src/test/scala/docs/org/apache/pekko/cluster/typed/BasicClusterExampleSpec.scala b/cluster-typed/src/test/scala/docs/org/apache/pekko/cluster/typed/BasicClusterExampleSpec.scala
index e994ba5f920..7fcbc3c86a3 100644
--- a/cluster-typed/src/test/scala/docs/org/apache/pekko/cluster/typed/BasicClusterExampleSpec.scala
+++ b/cluster-typed/src/test/scala/docs/org/apache/pekko/cluster/typed/BasicClusterExampleSpec.scala
@@ -18,7 +18,7 @@ import pekko.actor.testkit.typed.scaladsl.ActorTestKit
import pekko.actor.testkit.typed.scaladsl.LogCapturing
import pekko.testkit.SocketUtil
import scala.annotation.nowarn
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.scalatest.wordspec.AnyWordSpec
import org.scalatest.matchers.should.Matchers
//#cluster-imports
diff --git a/cluster-typed/src/test/scala/docs/org/apache/pekko/cluster/typed/DistributedPubSubExample.scala b/cluster-typed/src/test/scala/docs/org/apache/pekko/cluster/typed/DistributedPubSubExample.scala
index ca85cb8b58f..53f24e967a1 100644
--- a/cluster-typed/src/test/scala/docs/org/apache/pekko/cluster/typed/DistributedPubSubExample.scala
+++ b/cluster-typed/src/test/scala/docs/org/apache/pekko/cluster/typed/DistributedPubSubExample.scala
@@ -23,7 +23,7 @@ import pekko.cluster.MemberStatus
import pekko.cluster.pubsub.{ DistributedPubSub, DistributedPubSubMediator }
import pekko.cluster.typed.{ Cluster, Join }
import pekko.event.Logging
-import com.typesafe.config.{ Config, ConfigFactory }
+import org.ekrich.config.{ Config, ConfigFactory }
object Ontology {
diff --git a/cluster-typed/src/test/scala/org/apache/pekko/cluster/typed/ActorRefIgnoreSerializationSpec.scala b/cluster-typed/src/test/scala/org/apache/pekko/cluster/typed/ActorRefIgnoreSerializationSpec.scala
index aca789802bb..47dbb605386 100644
--- a/cluster-typed/src/test/scala/org/apache/pekko/cluster/typed/ActorRefIgnoreSerializationSpec.scala
+++ b/cluster-typed/src/test/scala/org/apache/pekko/cluster/typed/ActorRefIgnoreSerializationSpec.scala
@@ -13,7 +13,7 @@
package org.apache.pekko.cluster.typed
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.scalatest.BeforeAndAfterAll
import org.scalatest.concurrent.ScalaFutures
import org.scalatest.matchers.should.Matchers
diff --git a/cluster-typed/src/test/scala/org/apache/pekko/cluster/typed/ActorSystemSpec.scala b/cluster-typed/src/test/scala/org/apache/pekko/cluster/typed/ActorSystemSpec.scala
index bd97dd7bdfb..93a66dd3865 100644
--- a/cluster-typed/src/test/scala/org/apache/pekko/cluster/typed/ActorSystemSpec.scala
+++ b/cluster-typed/src/test/scala/org/apache/pekko/cluster/typed/ActorSystemSpec.scala
@@ -19,7 +19,7 @@ import scala.concurrent.Future
import scala.concurrent.Promise
import scala.util.control.NonFatal
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.scalatest._
import org.scalatest.concurrent.Eventually
import org.scalatest.concurrent.ScalaFutures
diff --git a/cluster-typed/src/test/scala/org/apache/pekko/cluster/typed/ClusterActorLoggingSpec.scala b/cluster-typed/src/test/scala/org/apache/pekko/cluster/typed/ClusterActorLoggingSpec.scala
index f32d43e194c..d88ae46cd07 100644
--- a/cluster-typed/src/test/scala/org/apache/pekko/cluster/typed/ClusterActorLoggingSpec.scala
+++ b/cluster-typed/src/test/scala/org/apache/pekko/cluster/typed/ClusterActorLoggingSpec.scala
@@ -13,7 +13,7 @@
package org.apache.pekko.cluster.typed
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.scalatest.matchers.should.Matchers
import org.scalatest.wordspec.AnyWordSpecLike
diff --git a/cluster-typed/src/test/scala/org/apache/pekko/cluster/typed/ClusterApiSpec.scala b/cluster-typed/src/test/scala/org/apache/pekko/cluster/typed/ClusterApiSpec.scala
index 619fbfaebe4..7167348df94 100644
--- a/cluster-typed/src/test/scala/org/apache/pekko/cluster/typed/ClusterApiSpec.scala
+++ b/cluster-typed/src/test/scala/org/apache/pekko/cluster/typed/ClusterApiSpec.scala
@@ -13,7 +13,7 @@
package org.apache.pekko.cluster.typed
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.scalatest.wordspec.AnyWordSpecLike
import org.apache.pekko
diff --git a/cluster-typed/src/test/scala/org/apache/pekko/cluster/typed/ClusterDispatcherSelectorSpec.scala b/cluster-typed/src/test/scala/org/apache/pekko/cluster/typed/ClusterDispatcherSelectorSpec.scala
index 240830526e2..c10e9f86c27 100644
--- a/cluster-typed/src/test/scala/org/apache/pekko/cluster/typed/ClusterDispatcherSelectorSpec.scala
+++ b/cluster-typed/src/test/scala/org/apache/pekko/cluster/typed/ClusterDispatcherSelectorSpec.scala
@@ -13,7 +13,7 @@
package org.apache.pekko.cluster.typed
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.apache.pekko.actor.typed.scaladsl.DispatcherSelectorSpec
diff --git a/cluster-typed/src/test/scala/org/apache/pekko/cluster/typed/ClusterSingletonApiSpec.scala b/cluster-typed/src/test/scala/org/apache/pekko/cluster/typed/ClusterSingletonApiSpec.scala
index 11e60b17d0f..cb860514567 100644
--- a/cluster-typed/src/test/scala/org/apache/pekko/cluster/typed/ClusterSingletonApiSpec.scala
+++ b/cluster-typed/src/test/scala/org/apache/pekko/cluster/typed/ClusterSingletonApiSpec.scala
@@ -16,7 +16,7 @@ package org.apache.pekko.cluster.typed
import scala.concurrent.Await
import scala.concurrent.duration._
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.scalatest.wordspec.AnyWordSpecLike
import org.apache.pekko
diff --git a/cluster-typed/src/test/scala/org/apache/pekko/cluster/typed/GroupRouterSpec.scala b/cluster-typed/src/test/scala/org/apache/pekko/cluster/typed/GroupRouterSpec.scala
index 449489f2c52..be236e5aee6 100644
--- a/cluster-typed/src/test/scala/org/apache/pekko/cluster/typed/GroupRouterSpec.scala
+++ b/cluster-typed/src/test/scala/org/apache/pekko/cluster/typed/GroupRouterSpec.scala
@@ -25,7 +25,7 @@ import pekko.actor.typed.scaladsl.Behaviors
import pekko.actor.typed.scaladsl.GroupRouter
import pekko.actor.typed.scaladsl.Routers
import pekko.serialization.jackson.CborSerializable
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.scalatest.wordspec.AnyWordSpecLike
import scala.concurrent.duration._
diff --git a/cluster-typed/src/test/scala/org/apache/pekko/cluster/typed/RemoteContextAskSpec.scala b/cluster-typed/src/test/scala/org/apache/pekko/cluster/typed/RemoteContextAskSpec.scala
index 9b1255d5726..3c539bd1af0 100644
--- a/cluster-typed/src/test/scala/org/apache/pekko/cluster/typed/RemoteContextAskSpec.scala
+++ b/cluster-typed/src/test/scala/org/apache/pekko/cluster/typed/RemoteContextAskSpec.scala
@@ -17,7 +17,7 @@ import scala.concurrent.duration._
import scala.util.Failure
import scala.util.Success
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.scalatest.wordspec.AnyWordSpecLike
import org.apache.pekko
diff --git a/cluster-typed/src/test/scala/org/apache/pekko/cluster/typed/RemoteDeployNotAllowedSpec.scala b/cluster-typed/src/test/scala/org/apache/pekko/cluster/typed/RemoteDeployNotAllowedSpec.scala
index ed0d7d8e3f4..937965004a6 100644
--- a/cluster-typed/src/test/scala/org/apache/pekko/cluster/typed/RemoteDeployNotAllowedSpec.scala
+++ b/cluster-typed/src/test/scala/org/apache/pekko/cluster/typed/RemoteDeployNotAllowedSpec.scala
@@ -13,7 +13,7 @@
package org.apache.pekko.cluster.typed
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.scalatest.wordspec.AnyWordSpecLike
import org.apache.pekko
diff --git a/cluster-typed/src/test/scala/org/apache/pekko/cluster/typed/RemoteMessageSpec.scala b/cluster-typed/src/test/scala/org/apache/pekko/cluster/typed/RemoteMessageSpec.scala
index fb802f2b015..3ca77a0d298 100644
--- a/cluster-typed/src/test/scala/org/apache/pekko/cluster/typed/RemoteMessageSpec.scala
+++ b/cluster-typed/src/test/scala/org/apache/pekko/cluster/typed/RemoteMessageSpec.scala
@@ -15,7 +15,7 @@ package org.apache.pekko.cluster.typed
import scala.concurrent.Promise
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.apache.pekko
import pekko.Done
diff --git a/cluster-typed/src/test/scala/org/apache/pekko/cluster/typed/internal/receptionist/ClusterReceptionistSpec.scala b/cluster-typed/src/test/scala/org/apache/pekko/cluster/typed/internal/receptionist/ClusterReceptionistSpec.scala
index 03f1ab39523..d51e378a309 100644
--- a/cluster-typed/src/test/scala/org/apache/pekko/cluster/typed/internal/receptionist/ClusterReceptionistSpec.scala
+++ b/cluster-typed/src/test/scala/org/apache/pekko/cluster/typed/internal/receptionist/ClusterReceptionistSpec.scala
@@ -18,7 +18,7 @@ import java.util.concurrent.ThreadLocalRandom
import scala.concurrent.Await
import scala.concurrent.duration._
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.scalatest.matchers.should.Matchers
import org.scalatest.wordspec.AnyWordSpec
diff --git a/cluster/src/main/mima-filters/2.0.x.backwards.excludes/replace-lightbend-config-with-sconfig.excludes b/cluster/src/main/mima-filters/2.0.x.backwards.excludes/replace-lightbend-config-with-sconfig.excludes
new file mode 100644
index 00000000000..e5f6cb3511b
--- /dev/null
+++ b/cluster/src/main/mima-filters/2.0.x.backwards.excludes/replace-lightbend-config-with-sconfig.excludes
@@ -0,0 +1,46 @@
+# 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.
+
+# Replacing Lightbend Config (https://github.com/lightbend/config) with sconfig (https://github.com/ekrich/sconfig)
+ProblemFilters.exclude[IncompatibleResultTypeProblem]("org.apache.pekko.cluster.ClusterSettings.config")
+ProblemFilters.exclude[IncompatibleResultTypeProblem]("org.apache.pekko.cluster.ClusterSettings.FailureDetectorConfig")
+ProblemFilters.exclude[IncompatibleMethTypeProblem]("org.apache.pekko.cluster.ClusterSettings.this")
+ProblemFilters.exclude[IncompatibleResultTypeProblem]("org.apache.pekko.cluster.ClusterSettings#CrossDcFailureDetectorSettings.config")
+ProblemFilters.exclude[IncompatibleMethTypeProblem]("org.apache.pekko.cluster.ClusterSettings#CrossDcFailureDetectorSettings.this")
+ProblemFilters.exclude[IncompatibleResultTypeProblem]("org.apache.pekko.cluster.InternalClusterAction#CompatibleConfig.clusterConfig")
+ProblemFilters.exclude[IncompatibleMethTypeProblem]("org.apache.pekko.cluster.InternalClusterAction#CompatibleConfig.copy")
+ProblemFilters.exclude[IncompatibleResultTypeProblem]("org.apache.pekko.cluster.InternalClusterAction#CompatibleConfig.copy$default$1")
+ProblemFilters.exclude[IncompatibleMethTypeProblem]("org.apache.pekko.cluster.InternalClusterAction#CompatibleConfig.this")
+ProblemFilters.exclude[IncompatibleMethTypeProblem]("org.apache.pekko.cluster.InternalClusterAction#CompatibleConfig.apply")
+ProblemFilters.exclude[IncompatibleSignatureProblem]("org.apache.pekko.cluster.InternalClusterAction#CompatibleConfig.unapply")
+ProblemFilters.exclude[IncompatibleResultTypeProblem]("org.apache.pekko.cluster.InternalClusterAction#CompatibleConfig._1")
+ProblemFilters.exclude[IncompatibleResultTypeProblem]("org.apache.pekko.cluster.InternalClusterAction#InitJoin.configOfJoiningNode")
+ProblemFilters.exclude[IncompatibleMethTypeProblem]("org.apache.pekko.cluster.InternalClusterAction#InitJoin.copy")
+ProblemFilters.exclude[IncompatibleResultTypeProblem]("org.apache.pekko.cluster.InternalClusterAction#InitJoin.copy$default$1")
+ProblemFilters.exclude[IncompatibleMethTypeProblem]("org.apache.pekko.cluster.InternalClusterAction#InitJoin.this")
+ProblemFilters.exclude[IncompatibleMethTypeProblem]("org.apache.pekko.cluster.InternalClusterAction#InitJoin.apply")
+ProblemFilters.exclude[IncompatibleSignatureProblem]("org.apache.pekko.cluster.InternalClusterAction#InitJoin.unapply")
+ProblemFilters.exclude[IncompatibleResultTypeProblem]("org.apache.pekko.cluster.InternalClusterAction#InitJoin._1")
+ProblemFilters.exclude[IncompatibleMethTypeProblem]("org.apache.pekko.cluster.JoinConfigCompatChecker.fullMatch")
+ProblemFilters.exclude[IncompatibleMethTypeProblem]("org.apache.pekko.cluster.JoinConfigCompatChecker.exists")
+ProblemFilters.exclude[IncompatibleMethTypeProblem]("org.apache.pekko.cluster.JoinConfigCompatChecker.check")
+ProblemFilters.exclude[ReversedMissingMethodProblem]("org.apache.pekko.cluster.JoinConfigCompatChecker.check")
+ProblemFilters.exclude[IncompatibleMethTypeProblem]("org.apache.pekko.cluster.JoinConfigCompatChecker.checkEquality")
+ProblemFilters.exclude[IncompatibleMethTypeProblem]("org.apache.pekko.cluster.JoinConfigCompatChecker.filterWithKeys")
+ProblemFilters.exclude[IncompatibleMethTypeProblem]("org.apache.pekko.cluster.JoinConfigCompatChecker.removeSensitiveKeys")
+ProblemFilters.exclude[IncompatibleMethTypeProblem]("org.apache.pekko.cluster.routing.ClusterRouterGroupSettings.fromConfig")
+ProblemFilters.exclude[IncompatibleMethTypeProblem]("org.apache.pekko.cluster.routing.ClusterRouterPoolSettings.fromConfig")
diff --git a/cluster/src/main/resources/reference.conf b/cluster/src/main/resources/reference.conf
index f3daa80e7ae..3fbcf3104ca 100644
--- a/cluster/src/main/resources/reference.conf
+++ b/cluster/src/main/resources/reference.conf
@@ -184,7 +184,7 @@ pekko {
# FQCN of the failure detector implementation.
# It must implement org.apache.pekko.remote.FailureDetector and have
- # a public constructor with a com.typesafe.config.Config and
+ # a public constructor with a org.ekrich.config.Config and
# org.apache.pekko.actor.EventStream parameter.
implementation-class = "org.apache.pekko.remote.PhiAccrualFailureDetector"
@@ -253,7 +253,7 @@ pekko {
failure-detector {
# FQCN of the failure detector implementation.
# It must implement org.apache.pekko.remote.FailureDetector and have
- # a public constructor with a com.typesafe.config.Config and
+ # a public constructor with a org.ekrich.config.Config and
# org.apache.pekko.actor.EventStream parameter.
implementation-class = "org.apache.pekko.remote.DeadlineFailureDetector"
diff --git a/cluster/src/main/scala/org/apache/pekko/cluster/Cluster.scala b/cluster/src/main/scala/org/apache/pekko/cluster/Cluster.scala
index 2acb1b4f444..d5b2212d0f3 100644
--- a/cluster/src/main/scala/org/apache/pekko/cluster/Cluster.scala
+++ b/cluster/src/main/scala/org/apache/pekko/cluster/Cluster.scala
@@ -23,7 +23,7 @@ import scala.concurrent.{ Await, ExecutionContext }
import scala.concurrent.duration._
import scala.util.control.NonFatal
-import com.typesafe.config.{ Config, ConfigFactory }
+import org.ekrich.config.{ Config, ConfigFactory }
import org.apache.pekko
import pekko.ConfigurationException
diff --git a/cluster/src/main/scala/org/apache/pekko/cluster/ClusterActorRefProvider.scala b/cluster/src/main/scala/org/apache/pekko/cluster/ClusterActorRefProvider.scala
index 1884bfc4d98..64877fffc58 100644
--- a/cluster/src/main/scala/org/apache/pekko/cluster/ClusterActorRefProvider.scala
+++ b/cluster/src/main/scala/org/apache/pekko/cluster/ClusterActorRefProvider.scala
@@ -14,8 +14,8 @@
package org.apache.pekko.cluster
import scala.annotation.nowarn
-import com.typesafe.config.Config
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.Config
+import org.ekrich.config.ConfigFactory
import org.apache.pekko
import pekko.ConfigurationException
diff --git a/cluster/src/main/scala/org/apache/pekko/cluster/ClusterDaemon.scala b/cluster/src/main/scala/org/apache/pekko/cluster/ClusterDaemon.scala
index 4f04cb1f904..fb020f96534 100644
--- a/cluster/src/main/scala/org/apache/pekko/cluster/ClusterDaemon.scala
+++ b/cluster/src/main/scala/org/apache/pekko/cluster/ClusterDaemon.scala
@@ -20,7 +20,7 @@ import scala.concurrent.Promise
import scala.concurrent.duration._
import scala.util.control.NonFatal
-import com.typesafe.config.Config
+import org.ekrich.config.Config
import org.apache.pekko
import pekko.Done
diff --git a/cluster/src/main/scala/org/apache/pekko/cluster/ClusterSettings.scala b/cluster/src/main/scala/org/apache/pekko/cluster/ClusterSettings.scala
index da0db6a54c5..0dbb01cfae7 100644
--- a/cluster/src/main/scala/org/apache/pekko/cluster/ClusterSettings.scala
+++ b/cluster/src/main/scala/org/apache/pekko/cluster/ClusterSettings.scala
@@ -16,8 +16,8 @@ package org.apache.pekko.cluster
import scala.collection.immutable
import scala.concurrent.duration._
-import com.typesafe.config.Config
-import com.typesafe.config.ConfigObject
+import org.ekrich.config.Config
+import org.ekrich.config.ConfigObject
import org.apache.pekko
import pekko.actor.Address
diff --git a/cluster/src/main/scala/org/apache/pekko/cluster/ConfigUtil.scala b/cluster/src/main/scala/org/apache/pekko/cluster/ConfigUtil.scala
index 553f4d5737f..a9b2413f986 100644
--- a/cluster/src/main/scala/org/apache/pekko/cluster/ConfigUtil.scala
+++ b/cluster/src/main/scala/org/apache/pekko/cluster/ConfigUtil.scala
@@ -17,7 +17,7 @@
package org.apache.pekko.cluster
-import com.typesafe.config.{ Config, ConfigValue, ConfigValueFactory, ConfigValueType }
+import org.ekrich.config.{ Config, ConfigValue, ConfigValueFactory, ConfigValueType }
import org.apache.pekko
import pekko.annotation.InternalApi
@@ -35,8 +35,8 @@ private[cluster] object ConfigUtil {
def adaptPekkoToAkkaConfig(cfg: Config): Config = {
import org.apache.pekko.util.ccompat.JavaConverters._
- val innerSet = cfg.entrySet().asScala
- .filter(e => e.getKey.startsWith("pekko.") && e.getValue.valueType() != ConfigValueType.OBJECT)
+ val innerSet = cfg.entrySet.asScala
+ .filter(e => e.getKey.startsWith("pekko.") && e.getValue.valueType != ConfigValueType.OBJECT)
.map { entry =>
entry.getKey.replace("pekko", "akka") -> adjustPackageNameToAkkaIfNecessary(entry.getValue)
}
@@ -49,8 +49,8 @@ private[cluster] object ConfigUtil {
def adaptAkkaToPekkoConfig(cfg: Config): Config = {
import org.apache.pekko.util.ccompat.JavaConverters._
- val innerSet = cfg.entrySet().asScala
- .filter(e => e.getKey.startsWith("akka.") && e.getValue.valueType() != ConfigValueType.OBJECT)
+ val innerSet = cfg.entrySet.asScala
+ .filter(e => e.getKey.startsWith("akka.") && e.getValue.valueType != ConfigValueType.OBJECT)
.map { entry =>
entry.getKey.replace("akka", "pekko") -> adjustPackageNameToPekkoIfNecessary(entry.getValue)
}
@@ -81,8 +81,8 @@ private[cluster] object ConfigUtil {
}
private def adjustPackageNameToAkkaIfNecessary(cv: ConfigValue): ConfigValue = {
- if (cv.valueType() == ConfigValueType.STRING) {
- val str = cv.unwrapped().toString
+ if (cv.valueType == ConfigValueType.STRING) {
+ val str = cv.unwrapped.toString
if (str.startsWith(PekkoPrefix)) {
ConfigValueFactory.fromAnyRef(str.replace(PekkoPrefix, AkkaPrefix))
} else {
@@ -94,8 +94,8 @@ private[cluster] object ConfigUtil {
}
private def adjustPackageNameToPekkoIfNecessary(cv: ConfigValue): ConfigValue = {
- if (cv.valueType() == ConfigValueType.STRING) {
- val str = cv.unwrapped().toString
+ if (cv.valueType == ConfigValueType.STRING) {
+ val str = cv.unwrapped.toString
if (str.startsWith(AkkaPrefix)) {
ConfigValueFactory.fromAnyRef(str.replace(AkkaPrefix, PekkoPrefix))
} else {
diff --git a/cluster/src/main/scala/org/apache/pekko/cluster/JoinConfigCompatCheckCluster.scala b/cluster/src/main/scala/org/apache/pekko/cluster/JoinConfigCompatCheckCluster.scala
index 2946f2c1aa2..c57b4b46356 100644
--- a/cluster/src/main/scala/org/apache/pekko/cluster/JoinConfigCompatCheckCluster.scala
+++ b/cluster/src/main/scala/org/apache/pekko/cluster/JoinConfigCompatCheckCluster.scala
@@ -15,7 +15,7 @@ package org.apache.pekko.cluster
import scala.collection.{ immutable => im }
-import com.typesafe.config.Config
+import org.ekrich.config.Config
import org.apache.pekko
import pekko.annotation.InternalApi
diff --git a/cluster/src/main/scala/org/apache/pekko/cluster/JoinConfigCompatChecker.scala b/cluster/src/main/scala/org/apache/pekko/cluster/JoinConfigCompatChecker.scala
index 1f303e784ca..5d3fcef0fc9 100644
--- a/cluster/src/main/scala/org/apache/pekko/cluster/JoinConfigCompatChecker.scala
+++ b/cluster/src/main/scala/org/apache/pekko/cluster/JoinConfigCompatChecker.scala
@@ -15,7 +15,7 @@ package org.apache.pekko.cluster
import scala.collection.{ immutable => im }
-import com.typesafe.config.{ Config, ConfigFactory, ConfigValue }
+import org.ekrich.config.{ Config, ConfigFactory, ConfigValue }
import org.apache.pekko
import pekko.actor.ExtendedActorSystem
@@ -49,7 +49,7 @@ object JoinConfigCompatChecker {
* @param toCheck - the Config instance to be checked
*/
def exists(requiredKeys: im.Seq[String], toCheck: Config): ConfigValidation = {
- val allKeys = toCheck.entrySet().asScala.map(_.getKey)
+ val allKeys = toCheck.entrySet.asScala.map(_.getKey)
// return all not found required keys
val result =
requiredKeys.collect {
@@ -101,7 +101,7 @@ object JoinConfigCompatChecker {
* INTERNAL API
* Builds a new Config object containing only the required entries defined by `requiredKeys`
*
- * This method is used from the joining side to prepare the [[com.typesafe.config.Config]] instance that will be sent over the wire.
+ * This method is used from the joining side to prepare the [[org.ekrich.config.Config]] instance that will be sent over the wire.
* We don't send the full config to avoid unnecessary data transfer, but also to avoid leaking any sensitive
* information that users may have added to their configuration.
*/
@@ -136,7 +136,7 @@ object JoinConfigCompatChecker {
*/
@InternalApi
private[cluster] def removeSensitiveKeys(config: Config, clusterSettings: ClusterSettings): im.Seq[String] = {
- val existingKeys = config.entrySet().asScala.map(_.getKey).to(im.Seq)
+ val existingKeys = config.entrySet.asScala.map(_.getKey).to(im.Seq)
removeSensitiveKeys(existingKeys, clusterSettings)
}
diff --git a/cluster/src/main/scala/org/apache/pekko/cluster/protobuf/ClusterMessageSerializer.scala b/cluster/src/main/scala/org/apache/pekko/cluster/protobuf/ClusterMessageSerializer.scala
index 8ae9181eafa..cd80885f2e9 100644
--- a/cluster/src/main/scala/org/apache/pekko/cluster/protobuf/ClusterMessageSerializer.scala
+++ b/cluster/src/main/scala/org/apache/pekko/cluster/protobuf/ClusterMessageSerializer.scala
@@ -18,7 +18,7 @@ import java.util.zip.{ GZIPInputStream, GZIPOutputStream }
import scala.annotation.tailrec
import scala.collection.immutable
import scala.concurrent.duration.Deadline
-import com.typesafe.config.{ Config, ConfigFactory, ConfigRenderOptions }
+import org.ekrich.config.{ Config, ConfigFactory, ConfigRenderOptions }
import org.apache.pekko
import pekko.actor.{ Address, ExtendedActorSystem }
import pekko.annotation.InternalApi
@@ -307,7 +307,7 @@ final class ClusterMessageSerializer(val system: ExtendedActorSystem)
if (m.hasCurrentConfig)
InternalClusterAction.InitJoin(ConfigFactory.parseString(m.getCurrentConfig))
else
- InternalClusterAction.InitJoin(ConfigFactory.empty)
+ InternalClusterAction.InitJoin(ConfigFactory.empty())
}
private def deserializeInitJoinAck(bytes: Array[Byte]): InternalClusterAction.InitJoinAck = {
diff --git a/cluster/src/main/scala/org/apache/pekko/cluster/routing/ClusterRouterConfig.scala b/cluster/src/main/scala/org/apache/pekko/cluster/routing/ClusterRouterConfig.scala
index 023ffef05e6..8d0f2ea5de1 100644
--- a/cluster/src/main/scala/org/apache/pekko/cluster/routing/ClusterRouterConfig.scala
+++ b/cluster/src/main/scala/org/apache/pekko/cluster/routing/ClusterRouterConfig.scala
@@ -16,8 +16,8 @@ package org.apache.pekko.cluster.routing
import java.util.concurrent.atomic.AtomicInteger
import scala.annotation.{ tailrec, varargs }
import scala.collection.immutable
-import com.typesafe.config.Config
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.Config
+import org.ekrich.config.ConfigFactory
import org.apache.pekko
import pekko.actor._
import pekko.cluster.Cluster
diff --git a/cluster/src/main/scala/org/apache/pekko/cluster/sbr/SplitBrainResolverSettings.scala b/cluster/src/main/scala/org/apache/pekko/cluster/sbr/SplitBrainResolverSettings.scala
index 0cea354ffd0..0a01b028a3b 100644
--- a/cluster/src/main/scala/org/apache/pekko/cluster/sbr/SplitBrainResolverSettings.scala
+++ b/cluster/src/main/scala/org/apache/pekko/cluster/sbr/SplitBrainResolverSettings.scala
@@ -18,7 +18,7 @@ import java.util.concurrent.TimeUnit
import scala.concurrent.duration._
-import com.typesafe.config.Config
+import org.ekrich.config.Config
import org.apache.pekko
import pekko.ConfigurationException
diff --git a/cluster/src/multi-jvm/scala/org/apache/pekko/cluster/ClusterAccrualFailureDetectorSpec.scala b/cluster/src/multi-jvm/scala/org/apache/pekko/cluster/ClusterAccrualFailureDetectorSpec.scala
index 32f6f535141..ebbcf7c9841 100644
--- a/cluster/src/multi-jvm/scala/org/apache/pekko/cluster/ClusterAccrualFailureDetectorSpec.scala
+++ b/cluster/src/multi-jvm/scala/org/apache/pekko/cluster/ClusterAccrualFailureDetectorSpec.scala
@@ -15,7 +15,7 @@ package org.apache.pekko.cluster
import scala.concurrent.duration._
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.apache.pekko
import pekko.remote.testkit.MultiNodeConfig
diff --git a/cluster/src/multi-jvm/scala/org/apache/pekko/cluster/ClusterDeathWatchSpec.scala b/cluster/src/multi-jvm/scala/org/apache/pekko/cluster/ClusterDeathWatchSpec.scala
index f72df20774a..cf474317ce7 100644
--- a/cluster/src/multi-jvm/scala/org/apache/pekko/cluster/ClusterDeathWatchSpec.scala
+++ b/cluster/src/multi-jvm/scala/org/apache/pekko/cluster/ClusterDeathWatchSpec.scala
@@ -18,7 +18,7 @@ import java.util.concurrent.TimeoutException
import scala.concurrent.Await
import scala.concurrent.duration._
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.scalatest.concurrent.ScalaFutures
import org.apache.pekko
diff --git a/cluster/src/multi-jvm/scala/org/apache/pekko/cluster/ClusterWatcherNoClusterWatcheeSpec.scala b/cluster/src/multi-jvm/scala/org/apache/pekko/cluster/ClusterWatcherNoClusterWatcheeSpec.scala
index 4a25a476f6d..ea0267c2f6a 100644
--- a/cluster/src/multi-jvm/scala/org/apache/pekko/cluster/ClusterWatcherNoClusterWatcheeSpec.scala
+++ b/cluster/src/multi-jvm/scala/org/apache/pekko/cluster/ClusterWatcherNoClusterWatcheeSpec.scala
@@ -15,7 +15,7 @@ package org.apache.pekko.cluster
import scala.concurrent.duration._
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.scalatest.concurrent.ScalaFutures
import org.apache.pekko
diff --git a/cluster/src/multi-jvm/scala/org/apache/pekko/cluster/ConvergenceSpec.scala b/cluster/src/multi-jvm/scala/org/apache/pekko/cluster/ConvergenceSpec.scala
index e9060669b80..58999ca4801 100644
--- a/cluster/src/multi-jvm/scala/org/apache/pekko/cluster/ConvergenceSpec.scala
+++ b/cluster/src/multi-jvm/scala/org/apache/pekko/cluster/ConvergenceSpec.scala
@@ -15,7 +15,7 @@ package org.apache.pekko.cluster
import scala.concurrent.duration._
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.apache.pekko
import pekko.actor.Address
diff --git a/cluster/src/multi-jvm/scala/org/apache/pekko/cluster/DeterministicOldestWhenJoiningSpec.scala b/cluster/src/multi-jvm/scala/org/apache/pekko/cluster/DeterministicOldestWhenJoiningSpec.scala
index 40e5c095840..0cd9dd7abc0 100644
--- a/cluster/src/multi-jvm/scala/org/apache/pekko/cluster/DeterministicOldestWhenJoiningSpec.scala
+++ b/cluster/src/multi-jvm/scala/org/apache/pekko/cluster/DeterministicOldestWhenJoiningSpec.scala
@@ -16,7 +16,7 @@ package org.apache.pekko.cluster
import scala.collection.immutable
import scala.concurrent.duration._
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.apache.pekko
import pekko.actor.Address
diff --git a/cluster/src/multi-jvm/scala/org/apache/pekko/cluster/DowningWhenOtherHasQuarantinedThisActorSystemSpec.scala b/cluster/src/multi-jvm/scala/org/apache/pekko/cluster/DowningWhenOtherHasQuarantinedThisActorSystemSpec.scala
index 1ad6e5ba772..6feacefd9d4 100644
--- a/cluster/src/multi-jvm/scala/org/apache/pekko/cluster/DowningWhenOtherHasQuarantinedThisActorSystemSpec.scala
+++ b/cluster/src/multi-jvm/scala/org/apache/pekko/cluster/DowningWhenOtherHasQuarantinedThisActorSystemSpec.scala
@@ -23,7 +23,7 @@ import pekko.remote.artery.ThisActorSystemQuarantinedEvent
import pekko.remote.testkit.MultiNodeConfig
import pekko.remote.transport.ThrottlerTransportAdapter
import pekko.testkit.LongRunningTest
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
object DowningWhenOtherHasQuarantinedThisActorSystemSpec extends MultiNodeConfig {
val first = role("first")
diff --git a/cluster/src/multi-jvm/scala/org/apache/pekko/cluster/InitialHeartbeatSpec.scala b/cluster/src/multi-jvm/scala/org/apache/pekko/cluster/InitialHeartbeatSpec.scala
index 7ab6aa253ba..05f96f49bc3 100644
--- a/cluster/src/multi-jvm/scala/org/apache/pekko/cluster/InitialHeartbeatSpec.scala
+++ b/cluster/src/multi-jvm/scala/org/apache/pekko/cluster/InitialHeartbeatSpec.scala
@@ -15,7 +15,7 @@ package org.apache.pekko.cluster
import scala.concurrent.duration._
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.apache.pekko
import pekko.cluster.ClusterEvent.CurrentClusterState
diff --git a/cluster/src/multi-jvm/scala/org/apache/pekko/cluster/InitialMembersOfNewDcSpec.scala b/cluster/src/multi-jvm/scala/org/apache/pekko/cluster/InitialMembersOfNewDcSpec.scala
index b9b4288ea19..a7c6b7a27a4 100644
--- a/cluster/src/multi-jvm/scala/org/apache/pekko/cluster/InitialMembersOfNewDcSpec.scala
+++ b/cluster/src/multi-jvm/scala/org/apache/pekko/cluster/InitialMembersOfNewDcSpec.scala
@@ -15,7 +15,7 @@ package org.apache.pekko.cluster
import scala.concurrent.duration._
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.apache.pekko
import pekko.remote.testkit._
diff --git a/cluster/src/multi-jvm/scala/org/apache/pekko/cluster/JoinInProgressSpec.scala b/cluster/src/multi-jvm/scala/org/apache/pekko/cluster/JoinInProgressSpec.scala
index 55bcd1eba66..54a5154d6a1 100644
--- a/cluster/src/multi-jvm/scala/org/apache/pekko/cluster/JoinInProgressSpec.scala
+++ b/cluster/src/multi-jvm/scala/org/apache/pekko/cluster/JoinInProgressSpec.scala
@@ -15,7 +15,7 @@ package org.apache.pekko.cluster
import scala.concurrent.duration._
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.apache.pekko
import pekko.remote.testkit.MultiNodeConfig
diff --git a/cluster/src/multi-jvm/scala/org/apache/pekko/cluster/JoinSeedNodeSpec.scala b/cluster/src/multi-jvm/scala/org/apache/pekko/cluster/JoinSeedNodeSpec.scala
index ee36e3bb53d..5c0d7f6e374 100644
--- a/cluster/src/multi-jvm/scala/org/apache/pekko/cluster/JoinSeedNodeSpec.scala
+++ b/cluster/src/multi-jvm/scala/org/apache/pekko/cluster/JoinSeedNodeSpec.scala
@@ -15,7 +15,7 @@ package org.apache.pekko.cluster
import scala.collection.immutable
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.apache.pekko
import pekko.actor.Address
diff --git a/cluster/src/multi-jvm/scala/org/apache/pekko/cluster/LargeMessageClusterSpec.scala b/cluster/src/multi-jvm/scala/org/apache/pekko/cluster/LargeMessageClusterSpec.scala
index 812d5f1bf17..63b1f11a2cf 100644
--- a/cluster/src/multi-jvm/scala/org/apache/pekko/cluster/LargeMessageClusterSpec.scala
+++ b/cluster/src/multi-jvm/scala/org/apache/pekko/cluster/LargeMessageClusterSpec.scala
@@ -18,7 +18,7 @@ import java.nio.charset.StandardCharsets
import scala.concurrent.duration._
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.apache.pekko
import pekko.actor.ActorIdentity
import pekko.actor.ActorRef
diff --git a/cluster/src/multi-jvm/scala/org/apache/pekko/cluster/LeaderDowningAllOtherNodesSpec.scala b/cluster/src/multi-jvm/scala/org/apache/pekko/cluster/LeaderDowningAllOtherNodesSpec.scala
index 95cdf8c460f..b8bc36ee62c 100644
--- a/cluster/src/multi-jvm/scala/org/apache/pekko/cluster/LeaderDowningAllOtherNodesSpec.scala
+++ b/cluster/src/multi-jvm/scala/org/apache/pekko/cluster/LeaderDowningAllOtherNodesSpec.scala
@@ -15,7 +15,7 @@ package org.apache.pekko.cluster
import scala.concurrent.duration._
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.apache.pekko
import pekko.remote.testkit.MultiNodeConfig
diff --git a/cluster/src/multi-jvm/scala/org/apache/pekko/cluster/LeaderDowningNodeThatIsUnreachableSpec.scala b/cluster/src/multi-jvm/scala/org/apache/pekko/cluster/LeaderDowningNodeThatIsUnreachableSpec.scala
index bec2420c205..149a15f2daa 100644
--- a/cluster/src/multi-jvm/scala/org/apache/pekko/cluster/LeaderDowningNodeThatIsUnreachableSpec.scala
+++ b/cluster/src/multi-jvm/scala/org/apache/pekko/cluster/LeaderDowningNodeThatIsUnreachableSpec.scala
@@ -15,7 +15,7 @@ package org.apache.pekko.cluster
import scala.concurrent.duration._
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.apache.pekko
import pekko.remote.testkit.MultiNodeConfig
diff --git a/cluster/src/multi-jvm/scala/org/apache/pekko/cluster/LeaderLeavingSpec.scala b/cluster/src/multi-jvm/scala/org/apache/pekko/cluster/LeaderLeavingSpec.scala
index 854efbecebe..c9a36bd4257 100644
--- a/cluster/src/multi-jvm/scala/org/apache/pekko/cluster/LeaderLeavingSpec.scala
+++ b/cluster/src/multi-jvm/scala/org/apache/pekko/cluster/LeaderLeavingSpec.scala
@@ -15,7 +15,7 @@ package org.apache.pekko.cluster
import scala.concurrent.duration._
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.apache.pekko
import pekko.actor.Actor
diff --git a/cluster/src/multi-jvm/scala/org/apache/pekko/cluster/MBeanSpec.scala b/cluster/src/multi-jvm/scala/org/apache/pekko/cluster/MBeanSpec.scala
index fcdcc7a5eb1..900d23c1676 100644
--- a/cluster/src/multi-jvm/scala/org/apache/pekko/cluster/MBeanSpec.scala
+++ b/cluster/src/multi-jvm/scala/org/apache/pekko/cluster/MBeanSpec.scala
@@ -17,7 +17,7 @@ import java.lang.management.ManagementFactory
import scala.concurrent.duration._
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import javax.management.InstanceNotFoundException
import javax.management.ObjectName
diff --git a/cluster/src/multi-jvm/scala/org/apache/pekko/cluster/MemberWeaklyUpSpec.scala b/cluster/src/multi-jvm/scala/org/apache/pekko/cluster/MemberWeaklyUpSpec.scala
index ee83181da93..208c44cdaa8 100644
--- a/cluster/src/multi-jvm/scala/org/apache/pekko/cluster/MemberWeaklyUpSpec.scala
+++ b/cluster/src/multi-jvm/scala/org/apache/pekko/cluster/MemberWeaklyUpSpec.scala
@@ -15,7 +15,7 @@ package org.apache.pekko.cluster
import scala.concurrent.duration._
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.apache.pekko
import pekko.cluster.MemberStatus.WeaklyUp
diff --git a/cluster/src/multi-jvm/scala/org/apache/pekko/cluster/MinMembersBeforeUpSpec.scala b/cluster/src/multi-jvm/scala/org/apache/pekko/cluster/MinMembersBeforeUpSpec.scala
index e2c84eb1215..81a442be7d6 100644
--- a/cluster/src/multi-jvm/scala/org/apache/pekko/cluster/MinMembersBeforeUpSpec.scala
+++ b/cluster/src/multi-jvm/scala/org/apache/pekko/cluster/MinMembersBeforeUpSpec.scala
@@ -13,7 +13,7 @@
package org.apache.pekko.cluster
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.apache.pekko
import pekko.cluster.MemberStatus._
diff --git a/cluster/src/multi-jvm/scala/org/apache/pekko/cluster/MultiDcClusterSpec.scala b/cluster/src/multi-jvm/scala/org/apache/pekko/cluster/MultiDcClusterSpec.scala
index 86312fcc28a..3e51f127351 100644
--- a/cluster/src/multi-jvm/scala/org/apache/pekko/cluster/MultiDcClusterSpec.scala
+++ b/cluster/src/multi-jvm/scala/org/apache/pekko/cluster/MultiDcClusterSpec.scala
@@ -15,7 +15,7 @@ package org.apache.pekko.cluster
import scala.concurrent.duration._
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.apache.pekko
import pekko.cluster.MemberStatus.Up
diff --git a/cluster/src/multi-jvm/scala/org/apache/pekko/cluster/MultiDcHeartbeatTakingOverSpec.scala b/cluster/src/multi-jvm/scala/org/apache/pekko/cluster/MultiDcHeartbeatTakingOverSpec.scala
index 5d800bb6e64..e33029beb4d 100644
--- a/cluster/src/multi-jvm/scala/org/apache/pekko/cluster/MultiDcHeartbeatTakingOverSpec.scala
+++ b/cluster/src/multi-jvm/scala/org/apache/pekko/cluster/MultiDcHeartbeatTakingOverSpec.scala
@@ -17,7 +17,7 @@ import scala.collection.immutable
import scala.collection.immutable.SortedSet
import scala.concurrent.duration._
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.apache.pekko
import pekko.actor.ActorRef
diff --git a/cluster/src/multi-jvm/scala/org/apache/pekko/cluster/MultiDcJoin2Spec.scala b/cluster/src/multi-jvm/scala/org/apache/pekko/cluster/MultiDcJoin2Spec.scala
index ad20ee816ec..009d91496ad 100644
--- a/cluster/src/multi-jvm/scala/org/apache/pekko/cluster/MultiDcJoin2Spec.scala
+++ b/cluster/src/multi-jvm/scala/org/apache/pekko/cluster/MultiDcJoin2Spec.scala
@@ -15,7 +15,7 @@ package org.apache.pekko.cluster
import scala.concurrent.duration._
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.apache.pekko
import pekko.actor.Address
diff --git a/cluster/src/multi-jvm/scala/org/apache/pekko/cluster/MultiDcJoinSpec.scala b/cluster/src/multi-jvm/scala/org/apache/pekko/cluster/MultiDcJoinSpec.scala
index a0316c44d6f..ec800951094 100644
--- a/cluster/src/multi-jvm/scala/org/apache/pekko/cluster/MultiDcJoinSpec.scala
+++ b/cluster/src/multi-jvm/scala/org/apache/pekko/cluster/MultiDcJoinSpec.scala
@@ -15,7 +15,7 @@ package org.apache.pekko.cluster
import scala.concurrent.duration._
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.apache.pekko
import pekko.cluster.ClusterEvent.InitialStateAsEvents
diff --git a/cluster/src/multi-jvm/scala/org/apache/pekko/cluster/MultiDcLastNodeSpec.scala b/cluster/src/multi-jvm/scala/org/apache/pekko/cluster/MultiDcLastNodeSpec.scala
index 7e99aa757e8..5a8fbdf73ee 100644
--- a/cluster/src/multi-jvm/scala/org/apache/pekko/cluster/MultiDcLastNodeSpec.scala
+++ b/cluster/src/multi-jvm/scala/org/apache/pekko/cluster/MultiDcLastNodeSpec.scala
@@ -15,7 +15,7 @@ package org.apache.pekko.cluster
import scala.concurrent.duration._
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.apache.pekko.remote.testkit.MultiNodeConfig
diff --git a/cluster/src/multi-jvm/scala/org/apache/pekko/cluster/MultiDcSplitBrainSpec.scala b/cluster/src/multi-jvm/scala/org/apache/pekko/cluster/MultiDcSplitBrainSpec.scala
index 95c38aa013d..5cffef96bfa 100644
--- a/cluster/src/multi-jvm/scala/org/apache/pekko/cluster/MultiDcSplitBrainSpec.scala
+++ b/cluster/src/multi-jvm/scala/org/apache/pekko/cluster/MultiDcSplitBrainSpec.scala
@@ -16,7 +16,7 @@ package org.apache.pekko.cluster
import scala.concurrent.Await
import scala.concurrent.duration._
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.apache.pekko
import pekko.actor.ActorSystem
diff --git a/cluster/src/multi-jvm/scala/org/apache/pekko/cluster/MultiDcSunnyWeatherSpec.scala b/cluster/src/multi-jvm/scala/org/apache/pekko/cluster/MultiDcSunnyWeatherSpec.scala
index a144f07eb90..4ae053a17c0 100644
--- a/cluster/src/multi-jvm/scala/org/apache/pekko/cluster/MultiDcSunnyWeatherSpec.scala
+++ b/cluster/src/multi-jvm/scala/org/apache/pekko/cluster/MultiDcSunnyWeatherSpec.scala
@@ -17,7 +17,7 @@ import scala.collection.immutable
import scala.collection.immutable.SortedSet
import scala.concurrent.duration._
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.apache.pekko
import pekko.actor.ActorRef
diff --git a/cluster/src/multi-jvm/scala/org/apache/pekko/cluster/MultiNodeClusterSpec.scala b/cluster/src/multi-jvm/scala/org/apache/pekko/cluster/MultiNodeClusterSpec.scala
index a8edcf9ae9d..331eaa477c5 100644
--- a/cluster/src/multi-jvm/scala/org/apache/pekko/cluster/MultiNodeClusterSpec.scala
+++ b/cluster/src/multi-jvm/scala/org/apache/pekko/cluster/MultiNodeClusterSpec.scala
@@ -20,7 +20,7 @@ import scala.concurrent.Await
import scala.concurrent.duration._
import scala.language.implicitConversions
-import com.typesafe.config.{ Config, ConfigFactory }
+import org.ekrich.config.{ Config, ConfigFactory }
import org.scalatest.{ Canceled, Outcome, Suite }
import org.scalatest.exceptions.TestCanceledException
diff --git a/cluster/src/multi-jvm/scala/org/apache/pekko/cluster/NodeChurnSpec.scala b/cluster/src/multi-jvm/scala/org/apache/pekko/cluster/NodeChurnSpec.scala
index be2416303ab..8be188aeb5c 100644
--- a/cluster/src/multi-jvm/scala/org/apache/pekko/cluster/NodeChurnSpec.scala
+++ b/cluster/src/multi-jvm/scala/org/apache/pekko/cluster/NodeChurnSpec.scala
@@ -16,7 +16,7 @@ package org.apache.pekko.cluster
import scala.collection.immutable
import scala.concurrent.duration._
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.apache.pekko
import pekko.actor._
diff --git a/cluster/src/multi-jvm/scala/org/apache/pekko/cluster/NodeDowningAndBeingRemovedSpec.scala b/cluster/src/multi-jvm/scala/org/apache/pekko/cluster/NodeDowningAndBeingRemovedSpec.scala
index 79613664ab1..b2fdeec492b 100644
--- a/cluster/src/multi-jvm/scala/org/apache/pekko/cluster/NodeDowningAndBeingRemovedSpec.scala
+++ b/cluster/src/multi-jvm/scala/org/apache/pekko/cluster/NodeDowningAndBeingRemovedSpec.scala
@@ -15,7 +15,7 @@ package org.apache.pekko.cluster
import scala.concurrent.duration._
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.apache.pekko
import pekko.remote.testkit.MultiNodeConfig
diff --git a/cluster/src/multi-jvm/scala/org/apache/pekko/cluster/QuickRestartSpec.scala b/cluster/src/multi-jvm/scala/org/apache/pekko/cluster/QuickRestartSpec.scala
index 0ee7e4bbb0e..56eb47ab3fe 100644
--- a/cluster/src/multi-jvm/scala/org/apache/pekko/cluster/QuickRestartSpec.scala
+++ b/cluster/src/multi-jvm/scala/org/apache/pekko/cluster/QuickRestartSpec.scala
@@ -18,7 +18,7 @@ import java.util.concurrent.ThreadLocalRandom
import scala.collection.immutable
import scala.concurrent.duration._
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.apache.pekko
import pekko.actor.{ ActorSystem, Address }
diff --git a/cluster/src/multi-jvm/scala/org/apache/pekko/cluster/RemoteFeaturesWithClusterSpec.scala b/cluster/src/multi-jvm/scala/org/apache/pekko/cluster/RemoteFeaturesWithClusterSpec.scala
index 6e0d89b5b91..05265a5515a 100644
--- a/cluster/src/multi-jvm/scala/org/apache/pekko/cluster/RemoteFeaturesWithClusterSpec.scala
+++ b/cluster/src/multi-jvm/scala/org/apache/pekko/cluster/RemoteFeaturesWithClusterSpec.scala
@@ -13,7 +13,7 @@
package org.apache.pekko.cluster
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.scalatest.concurrent.ScalaFutures
import org.apache.pekko
diff --git a/cluster/src/multi-jvm/scala/org/apache/pekko/cluster/RestartFirstSeedNodeSpec.scala b/cluster/src/multi-jvm/scala/org/apache/pekko/cluster/RestartFirstSeedNodeSpec.scala
index a9264b83844..7e63f1a38cf 100644
--- a/cluster/src/multi-jvm/scala/org/apache/pekko/cluster/RestartFirstSeedNodeSpec.scala
+++ b/cluster/src/multi-jvm/scala/org/apache/pekko/cluster/RestartFirstSeedNodeSpec.scala
@@ -16,7 +16,7 @@ package org.apache.pekko.cluster
import scala.collection.immutable
import scala.concurrent.duration._
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.apache.pekko
import pekko.actor.Actor
diff --git a/cluster/src/multi-jvm/scala/org/apache/pekko/cluster/RestartNode2Spec.scala b/cluster/src/multi-jvm/scala/org/apache/pekko/cluster/RestartNode2Spec.scala
index c7e2be84ba4..b2270e6f674 100644
--- a/cluster/src/multi-jvm/scala/org/apache/pekko/cluster/RestartNode2Spec.scala
+++ b/cluster/src/multi-jvm/scala/org/apache/pekko/cluster/RestartNode2Spec.scala
@@ -16,7 +16,7 @@ package org.apache.pekko.cluster
import scala.collection.immutable
import scala.concurrent.duration._
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.apache.pekko
import pekko.actor.Actor
diff --git a/cluster/src/multi-jvm/scala/org/apache/pekko/cluster/RestartNode3Spec.scala b/cluster/src/multi-jvm/scala/org/apache/pekko/cluster/RestartNode3Spec.scala
index 5c19d769f92..3e745e3bf00 100644
--- a/cluster/src/multi-jvm/scala/org/apache/pekko/cluster/RestartNode3Spec.scala
+++ b/cluster/src/multi-jvm/scala/org/apache/pekko/cluster/RestartNode3Spec.scala
@@ -16,7 +16,7 @@ package org.apache.pekko.cluster
import scala.collection.immutable
import scala.concurrent.duration._
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.apache.pekko
import pekko.actor.Actor
diff --git a/cluster/src/multi-jvm/scala/org/apache/pekko/cluster/RestartNodeSpec.scala b/cluster/src/multi-jvm/scala/org/apache/pekko/cluster/RestartNodeSpec.scala
index 734418c83e1..71935756f8f 100644
--- a/cluster/src/multi-jvm/scala/org/apache/pekko/cluster/RestartNodeSpec.scala
+++ b/cluster/src/multi-jvm/scala/org/apache/pekko/cluster/RestartNodeSpec.scala
@@ -16,7 +16,7 @@ package org.apache.pekko.cluster
import scala.collection.immutable
import scala.concurrent.duration._
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.apache.pekko
import pekko.Done
diff --git a/cluster/src/multi-jvm/scala/org/apache/pekko/cluster/SharedMediaDriverSupport.scala b/cluster/src/multi-jvm/scala/org/apache/pekko/cluster/SharedMediaDriverSupport.scala
index 5450717b7d2..a1fd934cd5b 100644
--- a/cluster/src/multi-jvm/scala/org/apache/pekko/cluster/SharedMediaDriverSupport.scala
+++ b/cluster/src/multi-jvm/scala/org/apache/pekko/cluster/SharedMediaDriverSupport.scala
@@ -20,7 +20,7 @@ import java.util.function.Consumer
import scala.annotation.tailrec
import scala.util.control.NonFatal
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import io.aeron.CommonContext
import io.aeron.driver.MediaDriver
import io.aeron.driver.ThreadingMode
diff --git a/cluster/src/multi-jvm/scala/org/apache/pekko/cluster/SingletonClusterSpec.scala b/cluster/src/multi-jvm/scala/org/apache/pekko/cluster/SingletonClusterSpec.scala
index 70505f300fa..3aaa50bf2a8 100644
--- a/cluster/src/multi-jvm/scala/org/apache/pekko/cluster/SingletonClusterSpec.scala
+++ b/cluster/src/multi-jvm/scala/org/apache/pekko/cluster/SingletonClusterSpec.scala
@@ -16,7 +16,7 @@ package org.apache.pekko.cluster
import scala.collection.immutable
import scala.concurrent.duration._
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.apache.pekko
import pekko.actor.Address
diff --git a/cluster/src/multi-jvm/scala/org/apache/pekko/cluster/SplitBrainQuarantineSpec.scala b/cluster/src/multi-jvm/scala/org/apache/pekko/cluster/SplitBrainQuarantineSpec.scala
index 3a75d77775f..ca281d591c6 100644
--- a/cluster/src/multi-jvm/scala/org/apache/pekko/cluster/SplitBrainQuarantineSpec.scala
+++ b/cluster/src/multi-jvm/scala/org/apache/pekko/cluster/SplitBrainQuarantineSpec.scala
@@ -21,7 +21,7 @@ import pekko.remote.artery.ArterySettings
import pekko.remote.testkit.MultiNodeConfig
import pekko.remote.transport.ThrottlerTransportAdapter
import pekko.testkit.LongRunningTest
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import scala.concurrent.duration._
diff --git a/cluster/src/multi-jvm/scala/org/apache/pekko/cluster/SplitBrainSpec.scala b/cluster/src/multi-jvm/scala/org/apache/pekko/cluster/SplitBrainSpec.scala
index a7cbf70c9ab..b2b828e01e9 100644
--- a/cluster/src/multi-jvm/scala/org/apache/pekko/cluster/SplitBrainSpec.scala
+++ b/cluster/src/multi-jvm/scala/org/apache/pekko/cluster/SplitBrainSpec.scala
@@ -15,7 +15,7 @@ package org.apache.pekko.cluster
import scala.concurrent.duration._
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.apache.pekko
import pekko.remote.testkit.MultiNodeConfig
diff --git a/cluster/src/multi-jvm/scala/org/apache/pekko/cluster/StreamRefSpec.scala b/cluster/src/multi-jvm/scala/org/apache/pekko/cluster/StreamRefSpec.scala
index f5271a4c4c9..58c67d80510 100644
--- a/cluster/src/multi-jvm/scala/org/apache/pekko/cluster/StreamRefSpec.scala
+++ b/cluster/src/multi-jvm/scala/org/apache/pekko/cluster/StreamRefSpec.scala
@@ -18,7 +18,7 @@ import scala.concurrent.duration._
import scala.util.Failure
import scala.util.Success
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.apache.pekko
import pekko.Done
diff --git a/cluster/src/multi-jvm/scala/org/apache/pekko/cluster/StressSpec.scala b/cluster/src/multi-jvm/scala/org/apache/pekko/cluster/StressSpec.scala
index 0e9ad19534b..202de9b3b7d 100644
--- a/cluster/src/multi-jvm/scala/org/apache/pekko/cluster/StressSpec.scala
+++ b/cluster/src/multi-jvm/scala/org/apache/pekko/cluster/StressSpec.scala
@@ -19,8 +19,8 @@ import scala.annotation.tailrec
import scala.collection.immutable
import scala.concurrent.duration._
-import com.typesafe.config.Config
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.Config
+import org.ekrich.config.ConfigFactory
import org.scalatest.BeforeAndAfterEach
import org.apache.pekko
diff --git a/cluster/src/multi-jvm/scala/org/apache/pekko/cluster/SunnyWeatherSpec.scala b/cluster/src/multi-jvm/scala/org/apache/pekko/cluster/SunnyWeatherSpec.scala
index d818c87c722..a0e10818854 100644
--- a/cluster/src/multi-jvm/scala/org/apache/pekko/cluster/SunnyWeatherSpec.scala
+++ b/cluster/src/multi-jvm/scala/org/apache/pekko/cluster/SunnyWeatherSpec.scala
@@ -17,7 +17,7 @@ import java.util.concurrent.atomic.AtomicReference
import scala.collection.immutable.SortedSet
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.apache.pekko
import pekko.actor.Actor
diff --git a/cluster/src/multi-jvm/scala/org/apache/pekko/cluster/SurviveNetworkInstabilitySpec.scala b/cluster/src/multi-jvm/scala/org/apache/pekko/cluster/SurviveNetworkInstabilitySpec.scala
index 62f170e2359..f6047661e72 100644
--- a/cluster/src/multi-jvm/scala/org/apache/pekko/cluster/SurviveNetworkInstabilitySpec.scala
+++ b/cluster/src/multi-jvm/scala/org/apache/pekko/cluster/SurviveNetworkInstabilitySpec.scala
@@ -17,7 +17,7 @@ import scala.concurrent.duration._
import scala.util.control.NoStackTrace
import scala.annotation.nowarn
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.apache.pekko
import pekko.actor.Actor
diff --git a/cluster/src/multi-jvm/scala/org/apache/pekko/cluster/TransitionSpec.scala b/cluster/src/multi-jvm/scala/org/apache/pekko/cluster/TransitionSpec.scala
index 81163068a91..b4b5c6204c0 100644
--- a/cluster/src/multi-jvm/scala/org/apache/pekko/cluster/TransitionSpec.scala
+++ b/cluster/src/multi-jvm/scala/org/apache/pekko/cluster/TransitionSpec.scala
@@ -15,7 +15,7 @@ package org.apache.pekko.cluster
import InternalClusterAction._
import MemberStatus._
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import language.implicitConversions
import org.apache.pekko
diff --git a/cluster/src/multi-jvm/scala/org/apache/pekko/cluster/UnreachableNodeJoinsAgainSpec.scala b/cluster/src/multi-jvm/scala/org/apache/pekko/cluster/UnreachableNodeJoinsAgainSpec.scala
index 75c93abb0dc..576df862d02 100644
--- a/cluster/src/multi-jvm/scala/org/apache/pekko/cluster/UnreachableNodeJoinsAgainSpec.scala
+++ b/cluster/src/multi-jvm/scala/org/apache/pekko/cluster/UnreachableNodeJoinsAgainSpec.scala
@@ -17,7 +17,7 @@ import scala.collection.immutable
import scala.concurrent.Await
import scala.concurrent.duration._
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.apache.pekko
import pekko.actor.ActorSystem
diff --git a/cluster/src/multi-jvm/scala/org/apache/pekko/cluster/routing/ClusterConsistentHashingRouterSpec.scala b/cluster/src/multi-jvm/scala/org/apache/pekko/cluster/routing/ClusterConsistentHashingRouterSpec.scala
index 506be433a31..fccda631261 100644
--- a/cluster/src/multi-jvm/scala/org/apache/pekko/cluster/routing/ClusterConsistentHashingRouterSpec.scala
+++ b/cluster/src/multi-jvm/scala/org/apache/pekko/cluster/routing/ClusterConsistentHashingRouterSpec.scala
@@ -15,7 +15,7 @@ package org.apache.pekko.cluster.routing
import scala.concurrent.Await
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.apache.pekko
import pekko.actor.Actor
diff --git a/cluster/src/multi-jvm/scala/org/apache/pekko/cluster/routing/ClusterRoundRobinSpec.scala b/cluster/src/multi-jvm/scala/org/apache/pekko/cluster/routing/ClusterRoundRobinSpec.scala
index a88e0b9f3be..d6ce806bd04 100644
--- a/cluster/src/multi-jvm/scala/org/apache/pekko/cluster/routing/ClusterRoundRobinSpec.scala
+++ b/cluster/src/multi-jvm/scala/org/apache/pekko/cluster/routing/ClusterRoundRobinSpec.scala
@@ -16,7 +16,7 @@ package org.apache.pekko.cluster.routing
import scala.concurrent.Await
import scala.concurrent.duration._
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.apache.pekko
import pekko.actor.Actor
diff --git a/cluster/src/multi-jvm/scala/org/apache/pekko/cluster/routing/UseRoleIgnoredSpec.scala b/cluster/src/multi-jvm/scala/org/apache/pekko/cluster/routing/UseRoleIgnoredSpec.scala
index ed60042e03d..090ee49e67c 100644
--- a/cluster/src/multi-jvm/scala/org/apache/pekko/cluster/routing/UseRoleIgnoredSpec.scala
+++ b/cluster/src/multi-jvm/scala/org/apache/pekko/cluster/routing/UseRoleIgnoredSpec.scala
@@ -16,7 +16,7 @@ package org.apache.pekko.cluster.routing
import scala.concurrent.Await
import scala.concurrent.duration._
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.apache.pekko
import pekko.actor._
diff --git a/cluster/src/multi-jvm/scala/org/apache/pekko/cluster/sbr/DownAllIndirectlyConnected5NodeSpec.scala b/cluster/src/multi-jvm/scala/org/apache/pekko/cluster/sbr/DownAllIndirectlyConnected5NodeSpec.scala
index 3080c4676ad..9ddcf29d41b 100644
--- a/cluster/src/multi-jvm/scala/org/apache/pekko/cluster/sbr/DownAllIndirectlyConnected5NodeSpec.scala
+++ b/cluster/src/multi-jvm/scala/org/apache/pekko/cluster/sbr/DownAllIndirectlyConnected5NodeSpec.scala
@@ -15,7 +15,7 @@ package org.apache.pekko.cluster.sbr
import scala.concurrent.duration._
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.apache.pekko
import pekko.cluster.Cluster
diff --git a/cluster/src/multi-jvm/scala/org/apache/pekko/cluster/sbr/DownAllUnstable5NodeSpec.scala b/cluster/src/multi-jvm/scala/org/apache/pekko/cluster/sbr/DownAllUnstable5NodeSpec.scala
index f7db6ad718b..5de7bc357e9 100644
--- a/cluster/src/multi-jvm/scala/org/apache/pekko/cluster/sbr/DownAllUnstable5NodeSpec.scala
+++ b/cluster/src/multi-jvm/scala/org/apache/pekko/cluster/sbr/DownAllUnstable5NodeSpec.scala
@@ -15,7 +15,7 @@ package org.apache.pekko.cluster.sbr
import scala.concurrent.duration._
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.apache.pekko
import pekko.cluster.Cluster
diff --git a/cluster/src/multi-jvm/scala/org/apache/pekko/cluster/sbr/IndirectlyConnected3NodeSpec.scala b/cluster/src/multi-jvm/scala/org/apache/pekko/cluster/sbr/IndirectlyConnected3NodeSpec.scala
index 9fcef4f41a8..81fec8a001e 100644
--- a/cluster/src/multi-jvm/scala/org/apache/pekko/cluster/sbr/IndirectlyConnected3NodeSpec.scala
+++ b/cluster/src/multi-jvm/scala/org/apache/pekko/cluster/sbr/IndirectlyConnected3NodeSpec.scala
@@ -15,7 +15,7 @@ package org.apache.pekko.cluster.sbr
import scala.concurrent.duration._
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.apache.pekko
import pekko.cluster.Cluster
diff --git a/cluster/src/multi-jvm/scala/org/apache/pekko/cluster/sbr/IndirectlyConnected5NodeSpec.scala b/cluster/src/multi-jvm/scala/org/apache/pekko/cluster/sbr/IndirectlyConnected5NodeSpec.scala
index f566116f67b..a7fcf46dedb 100644
--- a/cluster/src/multi-jvm/scala/org/apache/pekko/cluster/sbr/IndirectlyConnected5NodeSpec.scala
+++ b/cluster/src/multi-jvm/scala/org/apache/pekko/cluster/sbr/IndirectlyConnected5NodeSpec.scala
@@ -15,7 +15,7 @@ package org.apache.pekko.cluster.sbr
import scala.concurrent.duration._
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.apache.pekko
import pekko.cluster.Cluster
diff --git a/cluster/src/multi-jvm/scala/org/apache/pekko/cluster/sbr/LeaseMajority5NodeSpec.scala b/cluster/src/multi-jvm/scala/org/apache/pekko/cluster/sbr/LeaseMajority5NodeSpec.scala
index ef44ce59484..0051164177e 100644
--- a/cluster/src/multi-jvm/scala/org/apache/pekko/cluster/sbr/LeaseMajority5NodeSpec.scala
+++ b/cluster/src/multi-jvm/scala/org/apache/pekko/cluster/sbr/LeaseMajority5NodeSpec.scala
@@ -21,7 +21,7 @@ import pekko.cluster.MemberStatus
import pekko.remote.testconductor.RoleName
import pekko.remote.testkit.MultiNodeConfig
import pekko.remote.transport.ThrottlerTransportAdapter
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import pekko.cluster.MultiNodeClusterSpec
import pekko.coordination.lease.TestLease
diff --git a/cluster/src/test/scala/org/apache/pekko/cluster/ClusterConfigSpec.scala b/cluster/src/test/scala/org/apache/pekko/cluster/ClusterConfigSpec.scala
index 64e617155b7..f66aac96b2b 100644
--- a/cluster/src/test/scala/org/apache/pekko/cluster/ClusterConfigSpec.scala
+++ b/cluster/src/test/scala/org/apache/pekko/cluster/ClusterConfigSpec.scala
@@ -16,7 +16,7 @@ package org.apache.pekko.cluster
import scala.concurrent.duration._
import scala.annotation.nowarn
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.apache.pekko
import pekko.actor.Address
diff --git a/cluster/src/test/scala/org/apache/pekko/cluster/ClusterDeathWatchNotificationSpec.scala b/cluster/src/test/scala/org/apache/pekko/cluster/ClusterDeathWatchNotificationSpec.scala
index 397ab77a149..e0f9888a799 100644
--- a/cluster/src/test/scala/org/apache/pekko/cluster/ClusterDeathWatchNotificationSpec.scala
+++ b/cluster/src/test/scala/org/apache/pekko/cluster/ClusterDeathWatchNotificationSpec.scala
@@ -18,7 +18,7 @@ import scala.concurrent.duration._
import org.apache.pekko
import pekko.actor._
import pekko.testkit._
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import pekko.remote.artery.ArteryMultiNodeSpec
import pekko.remote.artery.ArterySpecSupport
diff --git a/cluster/src/test/scala/org/apache/pekko/cluster/ClusterDeployerSpec.scala b/cluster/src/test/scala/org/apache/pekko/cluster/ClusterDeployerSpec.scala
index a94aa8d56fe..f11b527adc0 100644
--- a/cluster/src/test/scala/org/apache/pekko/cluster/ClusterDeployerSpec.scala
+++ b/cluster/src/test/scala/org/apache/pekko/cluster/ClusterDeployerSpec.scala
@@ -13,7 +13,7 @@
package org.apache.pekko.cluster
-import com.typesafe.config._
+import org.ekrich.config._
import org.apache.pekko
import pekko.actor._
diff --git a/cluster/src/test/scala/org/apache/pekko/cluster/ClusterLogSpec.scala b/cluster/src/test/scala/org/apache/pekko/cluster/ClusterLogSpec.scala
index a1c5bdb8967..e20c6b0fc48 100644
--- a/cluster/src/test/scala/org/apache/pekko/cluster/ClusterLogSpec.scala
+++ b/cluster/src/test/scala/org/apache/pekko/cluster/ClusterLogSpec.scala
@@ -13,7 +13,7 @@
package org.apache.pekko.cluster
-import com.typesafe.config.{ Config, ConfigFactory }
+import org.ekrich.config.{ Config, ConfigFactory }
import org.apache.pekko
import pekko.actor.{ Address, ExtendedActorSystem }
diff --git a/cluster/src/test/scala/org/apache/pekko/cluster/ClusterSpec.scala b/cluster/src/test/scala/org/apache/pekko/cluster/ClusterSpec.scala
index 8dd0cdf01e9..9420ba026ec 100644
--- a/cluster/src/test/scala/org/apache/pekko/cluster/ClusterSpec.scala
+++ b/cluster/src/test/scala/org/apache/pekko/cluster/ClusterSpec.scala
@@ -19,7 +19,7 @@ import javax.management.ObjectName
import scala.concurrent.Await
import scala.concurrent.duration._
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.apache.pekko
import pekko.actor.ActorSystem
diff --git a/cluster/src/test/scala/org/apache/pekko/cluster/ClusterTestKit.scala b/cluster/src/test/scala/org/apache/pekko/cluster/ClusterTestKit.scala
index 2c501712297..82e6ff18c32 100644
--- a/cluster/src/test/scala/org/apache/pekko/cluster/ClusterTestKit.scala
+++ b/cluster/src/test/scala/org/apache/pekko/cluster/ClusterTestKit.scala
@@ -16,7 +16,7 @@ package org.apache.pekko.cluster
import scala.concurrent.duration._
import scala.util.Random
-import com.typesafe.config.{ Config, ConfigFactory }
+import org.ekrich.config.{ Config, ConfigFactory }
import org.apache.pekko
import pekko.actor.ActorSystem
diff --git a/cluster/src/test/scala/org/apache/pekko/cluster/ConfigUtilSpec.scala b/cluster/src/test/scala/org/apache/pekko/cluster/ConfigUtilSpec.scala
index 04c1f4b0d4c..27580274926 100644
--- a/cluster/src/test/scala/org/apache/pekko/cluster/ConfigUtilSpec.scala
+++ b/cluster/src/test/scala/org/apache/pekko/cluster/ConfigUtilSpec.scala
@@ -17,7 +17,7 @@
package org.apache.pekko.cluster
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.apache.pekko
import pekko.testkit.PekkoSpec
diff --git a/cluster/src/test/scala/org/apache/pekko/cluster/DowningProviderSpec.scala b/cluster/src/test/scala/org/apache/pekko/cluster/DowningProviderSpec.scala
index 3619fb2488f..d796e8c778c 100644
--- a/cluster/src/test/scala/org/apache/pekko/cluster/DowningProviderSpec.scala
+++ b/cluster/src/test/scala/org/apache/pekko/cluster/DowningProviderSpec.scala
@@ -15,7 +15,7 @@ package org.apache.pekko.cluster
import java.util.concurrent.atomic.AtomicBoolean
import scala.concurrent.duration._
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.scalatest.matchers.should.Matchers
import org.scalatest.wordspec.AnyWordSpec
import org.apache.pekko
diff --git a/cluster/src/test/scala/org/apache/pekko/cluster/FailureDetectorPuppet.scala b/cluster/src/test/scala/org/apache/pekko/cluster/FailureDetectorPuppet.scala
index 26b5f65fb81..2f1ecb91f63 100644
--- a/cluster/src/test/scala/org/apache/pekko/cluster/FailureDetectorPuppet.scala
+++ b/cluster/src/test/scala/org/apache/pekko/cluster/FailureDetectorPuppet.scala
@@ -15,7 +15,7 @@ package org.apache.pekko.cluster
import java.util.concurrent.atomic.AtomicReference
-import com.typesafe.config.Config
+import org.ekrich.config.Config
import org.apache.pekko
import pekko.event.EventStream
diff --git a/cluster/src/test/scala/org/apache/pekko/cluster/JoinConfigCompatCheckClusterSpec.scala b/cluster/src/test/scala/org/apache/pekko/cluster/JoinConfigCompatCheckClusterSpec.scala
index d84c6467082..2808b823605 100644
--- a/cluster/src/test/scala/org/apache/pekko/cluster/JoinConfigCompatCheckClusterSpec.scala
+++ b/cluster/src/test/scala/org/apache/pekko/cluster/JoinConfigCompatCheckClusterSpec.scala
@@ -13,8 +13,8 @@
package org.apache.pekko.cluster
-import com.typesafe.config.Config
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.Config
+import org.ekrich.config.ConfigFactory
import org.apache.pekko
import pekko.actor.ExtendedActorSystem
diff --git a/cluster/src/test/scala/org/apache/pekko/cluster/JoinConfigCompatCheckerRollingUpdateSpec.scala b/cluster/src/test/scala/org/apache/pekko/cluster/JoinConfigCompatCheckerRollingUpdateSpec.scala
index 67e62ae1acb..6e6b016918f 100644
--- a/cluster/src/test/scala/org/apache/pekko/cluster/JoinConfigCompatCheckerRollingUpdateSpec.scala
+++ b/cluster/src/test/scala/org/apache/pekko/cluster/JoinConfigCompatCheckerRollingUpdateSpec.scala
@@ -16,7 +16,7 @@ package org.apache.pekko.cluster
import scala.collection.{ immutable => im }
import scala.concurrent.duration._
-import com.typesafe.config.{ Config, ConfigFactory }
+import org.ekrich.config.{ Config, ConfigFactory }
import org.apache.pekko
import pekko.testkit.GHExcludeAeronTest
diff --git a/cluster/src/test/scala/org/apache/pekko/cluster/JoinConfigCompatCheckerSpec.scala b/cluster/src/test/scala/org/apache/pekko/cluster/JoinConfigCompatCheckerSpec.scala
index 3fdff1a557a..e314912e933 100644
--- a/cluster/src/test/scala/org/apache/pekko/cluster/JoinConfigCompatCheckerSpec.scala
+++ b/cluster/src/test/scala/org/apache/pekko/cluster/JoinConfigCompatCheckerSpec.scala
@@ -16,7 +16,7 @@ package org.apache.pekko.cluster
import scala.collection.{ immutable => im }
import scala.concurrent.duration._
-import com.typesafe.config.{ Config, ConfigFactory }
+import org.ekrich.config.{ Config, ConfigFactory }
import org.apache.pekko.testkit.{ LongRunningTest, PekkoSpec }
diff --git a/cluster/src/test/scala/org/apache/pekko/cluster/JoinConfigCompatPreDefinedChecksSpec.scala b/cluster/src/test/scala/org/apache/pekko/cluster/JoinConfigCompatPreDefinedChecksSpec.scala
index b66bf5f602d..a85e7e0d389 100644
--- a/cluster/src/test/scala/org/apache/pekko/cluster/JoinConfigCompatPreDefinedChecksSpec.scala
+++ b/cluster/src/test/scala/org/apache/pekko/cluster/JoinConfigCompatPreDefinedChecksSpec.scala
@@ -15,7 +15,7 @@ package org.apache.pekko.cluster
import scala.collection.{ immutable => im }
-import com.typesafe.config.{ Config, ConfigFactory }
+import org.ekrich.config.{ Config, ConfigFactory }
import org.scalatest.matchers.should.Matchers
import org.scalatest.wordspec.AnyWordSpec
diff --git a/cluster/src/test/scala/org/apache/pekko/cluster/MixedProtocolClusterSpec.scala b/cluster/src/test/scala/org/apache/pekko/cluster/MixedProtocolClusterSpec.scala
index bbf97126516..7d0f4d42282 100644
--- a/cluster/src/test/scala/org/apache/pekko/cluster/MixedProtocolClusterSpec.scala
+++ b/cluster/src/test/scala/org/apache/pekko/cluster/MixedProtocolClusterSpec.scala
@@ -17,7 +17,7 @@
package org.apache.pekko.cluster
-import com.typesafe.config.{ Config, ConfigFactory }
+import org.ekrich.config.{ Config, ConfigFactory }
import org.apache.pekko
import pekko.testkit.{ LongRunningTest, PekkoSpec }
diff --git a/cluster/src/test/scala/org/apache/pekko/cluster/protobuf/ClusterMessageSerializerSpec.scala b/cluster/src/test/scala/org/apache/pekko/cluster/protobuf/ClusterMessageSerializerSpec.scala
index 7615de9585c..a9971619bfb 100644
--- a/cluster/src/test/scala/org/apache/pekko/cluster/protobuf/ClusterMessageSerializerSpec.scala
+++ b/cluster/src/test/scala/org/apache/pekko/cluster/protobuf/ClusterMessageSerializerSpec.scala
@@ -16,7 +16,7 @@ package org.apache.pekko.cluster.protobuf
import collection.immutable.SortedSet
import scala.annotation.nowarn
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.apache.pekko
import pekko.actor.{ Address, ExtendedActorSystem }
@@ -100,8 +100,8 @@ class ClusterMessageSerializerSpec extends PekkoSpec("pekko.actor.provider = clu
checkSerialization(InternalClusterAction.Join(uniqueAddress, Set("dc-A"), Version("1.2.3")))
checkSerialization(ClusterUserAction.Leave(address))
checkSerialization(ClusterUserAction.Down(address))
- checkSerialization(InternalClusterAction.InitJoin(ConfigFactory.empty))
- checkSerialization(InternalClusterAction.InitJoinAck(address, CompatibleConfig(ConfigFactory.empty)))
+ checkSerialization(InternalClusterAction.InitJoin(ConfigFactory.empty()))
+ checkSerialization(InternalClusterAction.InitJoinAck(address, CompatibleConfig(ConfigFactory.empty())))
checkSerialization(InternalClusterAction.InitJoinNack(address))
checkSerialization(ClusterHeartbeatSender.Heartbeat(address, -1, -1))
checkSerialization(ClusterHeartbeatSender.HeartbeatRsp(uniqueAddress, -1, -1))
@@ -143,10 +143,10 @@ class ClusterMessageSerializerSpec extends PekkoSpec("pekko.actor.provider = clu
checkDeserializationWithManifest(ClusterUserAction.Leave(address), ClusterMessageSerializer.LeaveManifest)
checkDeserializationWithManifest(ClusterUserAction.Down(address), ClusterMessageSerializer.DownManifest)
checkDeserializationWithManifest(
- InternalClusterAction.InitJoin(ConfigFactory.empty),
+ InternalClusterAction.InitJoin(ConfigFactory.empty()),
ClusterMessageSerializer.OldInitJoinManifest)
checkDeserializationWithManifest(
- InternalClusterAction.InitJoinAck(address, CompatibleConfig(ConfigFactory.empty)),
+ InternalClusterAction.InitJoinAck(address, CompatibleConfig(ConfigFactory.empty())),
ClusterMessageSerializer.OldInitJoinAckManifest)
checkDeserializationWithManifest(
InternalClusterAction.InitJoinNack(address),
diff --git a/cluster/src/test/scala/org/apache/pekko/cluster/sbr/LeaseMajoritySpec.scala b/cluster/src/test/scala/org/apache/pekko/cluster/sbr/LeaseMajoritySpec.scala
index 59283001e0d..7704ff52d1e 100644
--- a/cluster/src/test/scala/org/apache/pekko/cluster/sbr/LeaseMajoritySpec.scala
+++ b/cluster/src/test/scala/org/apache/pekko/cluster/sbr/LeaseMajoritySpec.scala
@@ -14,7 +14,7 @@
package org.apache.pekko.cluster.sbr
import org.apache.pekko.testkit.PekkoSpec
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.scalatest.concurrent.Eventually
class LeaseMajoritySpec extends PekkoSpec() with Eventually {
diff --git a/cluster/src/test/scala/org/apache/pekko/cluster/sbr/SplitBrainResolverSpec.scala b/cluster/src/test/scala/org/apache/pekko/cluster/sbr/SplitBrainResolverSpec.scala
index 93a1c5344d7..6dc7c502641 100644
--- a/cluster/src/test/scala/org/apache/pekko/cluster/sbr/SplitBrainResolverSpec.scala
+++ b/cluster/src/test/scala/org/apache/pekko/cluster/sbr/SplitBrainResolverSpec.scala
@@ -16,7 +16,7 @@ package org.apache.pekko.cluster.sbr
import scala.concurrent.Future
import scala.concurrent.duration._
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.scalatest.concurrent.Eventually
import org.apache.pekko
@@ -126,7 +126,7 @@ class SplitBrainResolverSpec
private lazy val selfUniqueAddress = Cluster(system).selfUniqueAddress
private val testLeaseSettings =
- new LeaseSettings("pekko-sbr", "test", new TimeoutSettings(1.second, 2.minutes, 3.seconds), ConfigFactory.empty)
+ new LeaseSettings("pekko-sbr", "test", new TimeoutSettings(1.second, 2.minutes, 3.seconds), ConfigFactory.empty())
def createReachability(unreachability: Seq[(Member, Member)]): Reachability = {
Reachability(
diff --git a/coordination/src/main/mima-filters/2.0.x.backwards.excludes/replace-lightbend-config-with-sconfig.excludes b/coordination/src/main/mima-filters/2.0.x.backwards.excludes/replace-lightbend-config-with-sconfig.excludes
new file mode 100644
index 00000000000..3715981980f
--- /dev/null
+++ b/coordination/src/main/mima-filters/2.0.x.backwards.excludes/replace-lightbend-config-with-sconfig.excludes
@@ -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.
+
+# Replacing Lightbend Config (https://github.com/lightbend/config) with sconfig (https://github.com/ekrich/sconfig)
+ProblemFilters.exclude[IncompatibleMethTypeProblem]("org.apache.pekko.coordination.lease.LeaseSettings.apply")
+ProblemFilters.exclude[IncompatibleResultTypeProblem]("org.apache.pekko.coordination.lease.LeaseSettings.leaseConfig")
+ProblemFilters.exclude[IncompatibleMethTypeProblem]("org.apache.pekko.coordination.lease.LeaseSettings.this")
+ProblemFilters.exclude[IncompatibleMethTypeProblem]("org.apache.pekko.coordination.lease.TimeoutSettings.apply")
diff --git a/coordination/src/main/scala/org/apache/pekko/coordination/lease/LeaseSettings.scala b/coordination/src/main/scala/org/apache/pekko/coordination/lease/LeaseSettings.scala
index 9ad86826aa6..57cf54714c2 100644
--- a/coordination/src/main/scala/org/apache/pekko/coordination/lease/LeaseSettings.scala
+++ b/coordination/src/main/scala/org/apache/pekko/coordination/lease/LeaseSettings.scala
@@ -13,7 +13,7 @@
package org.apache.pekko.coordination.lease
-import com.typesafe.config.Config
+import org.ekrich.config.Config
object LeaseSettings {
def apply(config: Config, leaseName: String, ownerName: String): LeaseSettings = {
diff --git a/coordination/src/main/scala/org/apache/pekko/coordination/lease/TimeoutSettings.scala b/coordination/src/main/scala/org/apache/pekko/coordination/lease/TimeoutSettings.scala
index fe21bb6a5dc..778178c9b09 100644
--- a/coordination/src/main/scala/org/apache/pekko/coordination/lease/TimeoutSettings.scala
+++ b/coordination/src/main/scala/org/apache/pekko/coordination/lease/TimeoutSettings.scala
@@ -15,14 +15,14 @@ package org.apache.pekko.coordination.lease
import scala.concurrent.duration._
-import com.typesafe.config.{ Config, ConfigValueType }
+import org.ekrich.config.{ Config, ConfigValueType }
import org.apache.pekko.util.JavaDurationConverters._
object TimeoutSettings {
def apply(config: Config): TimeoutSettings = {
val heartBeatTimeout = config.getDuration("heartbeat-timeout").asScala
- val heartBeatInterval = config.getValue("heartbeat-interval").valueType() match {
+ val heartBeatInterval = config.getValue("heartbeat-interval").valueType match {
case ConfigValueType.STRING if config.getString("heartbeat-interval").isEmpty =>
(heartBeatTimeout / 10).max(5.seconds)
case _ => config.getDuration("heartbeat-interval").asScala
diff --git a/coordination/src/test/scala/org/apache/pekko/coordination/lease/TestLease.scala b/coordination/src/test/scala/org/apache/pekko/coordination/lease/TestLease.scala
index a43367d146e..09489c700ce 100644
--- a/coordination/src/test/scala/org/apache/pekko/coordination/lease/TestLease.scala
+++ b/coordination/src/test/scala/org/apache/pekko/coordination/lease/TestLease.scala
@@ -19,7 +19,7 @@ import java.util.concurrent.atomic.AtomicReference
import scala.concurrent.Future
import scala.concurrent.Promise
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.apache.pekko
import pekko.actor.ActorSystem
diff --git a/coordination/src/test/scala/org/apache/pekko/coordination/lease/TimeoutSettingsSpec.scala b/coordination/src/test/scala/org/apache/pekko/coordination/lease/TimeoutSettingsSpec.scala
index ee2497cf9b3..a0b803cf297 100644
--- a/coordination/src/test/scala/org/apache/pekko/coordination/lease/TimeoutSettingsSpec.scala
+++ b/coordination/src/test/scala/org/apache/pekko/coordination/lease/TimeoutSettingsSpec.scala
@@ -15,7 +15,7 @@ package org.apache.pekko.coordination.lease
import scala.concurrent.duration._
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.scalatest.matchers.should.Matchers
import org.scalatest.wordspec.AnyWordSpec
diff --git a/coordination/src/test/scala/org/apache/pekko/coordination/lease/scaladsl/LeaseProviderSpec.scala b/coordination/src/test/scala/org/apache/pekko/coordination/lease/scaladsl/LeaseProviderSpec.scala
index 469ad33673b..998cf1a24dd 100644
--- a/coordination/src/test/scala/org/apache/pekko/coordination/lease/scaladsl/LeaseProviderSpec.scala
+++ b/coordination/src/test/scala/org/apache/pekko/coordination/lease/scaladsl/LeaseProviderSpec.scala
@@ -16,7 +16,7 @@ package org.apache.pekko.coordination.lease.scaladsl
import scala.concurrent.Future
import scala.concurrent.duration._
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.apache.pekko
import pekko.actor.ExtendedActorSystem
diff --git a/discovery/src/main/mima-filters/2.0.x.backwards.excludes/replace-lightbend-config-with-sconfig.excludes b/discovery/src/main/mima-filters/2.0.x.backwards.excludes/replace-lightbend-config-with-sconfig.excludes
new file mode 100644
index 00000000000..dcecf73ae46
--- /dev/null
+++ b/discovery/src/main/mima-filters/2.0.x.backwards.excludes/replace-lightbend-config-with-sconfig.excludes
@@ -0,0 +1,20 @@
+# 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.
+
+# Replacing Lightbend Config (https://github.com/lightbend/config) with sconfig (https://github.com/ekrich/sconfig)
+ProblemFilters.exclude[IncompatibleMethTypeProblem]("org.apache.pekko.discovery.aggregate.AggregateServiceDiscoverySettings.this")
+ProblemFilters.exclude[IncompatibleMethTypeProblem]("org.apache.pekko.discovery.config.ConfigServicesParser.parse")
diff --git a/discovery/src/main/scala/org/apache/pekko/discovery/aggregate/AggregateServiceDiscovery.scala b/discovery/src/main/scala/org/apache/pekko/discovery/aggregate/AggregateServiceDiscovery.scala
index d6d293a9a3c..6c0c584acd6 100644
--- a/discovery/src/main/scala/org/apache/pekko/discovery/aggregate/AggregateServiceDiscovery.scala
+++ b/discovery/src/main/scala/org/apache/pekko/discovery/aggregate/AggregateServiceDiscovery.scala
@@ -17,7 +17,7 @@ import scala.concurrent.Future
import scala.concurrent.duration.FiniteDuration
import scala.util.control.NonFatal
-import com.typesafe.config.Config
+import org.ekrich.config.Config
import org.apache.pekko
import pekko.actor.ExtendedActorSystem
diff --git a/discovery/src/main/scala/org/apache/pekko/discovery/config/ConfigServiceDiscovery.scala b/discovery/src/main/scala/org/apache/pekko/discovery/config/ConfigServiceDiscovery.scala
index b4ccd90c307..b906471a25c 100644
--- a/discovery/src/main/scala/org/apache/pekko/discovery/config/ConfigServiceDiscovery.scala
+++ b/discovery/src/main/scala/org/apache/pekko/discovery/config/ConfigServiceDiscovery.scala
@@ -16,7 +16,7 @@ package org.apache.pekko.discovery.config
import scala.concurrent.Future
import scala.concurrent.duration.FiniteDuration
-import com.typesafe.config.{ Config, ConfigUtil }
+import org.ekrich.config.{ Config, ConfigUtil }
import org.apache.pekko
import pekko.actor.ExtendedActorSystem
@@ -33,7 +33,7 @@ import pekko.util.ccompat.JavaConverters._
private object ConfigServicesParser {
def parse(config: Config): Map[String, Resolved] = {
val byService = config
- .root()
+ .root
.entrySet()
.asScala
.map { en =>
diff --git a/discovery/src/test/scala/org/apache/pekko/discovery/DiscoveryConfigurationSpec.scala b/discovery/src/test/scala/org/apache/pekko/discovery/DiscoveryConfigurationSpec.scala
index 1e0224248bb..8fb93214941 100644
--- a/discovery/src/test/scala/org/apache/pekko/discovery/DiscoveryConfigurationSpec.scala
+++ b/discovery/src/test/scala/org/apache/pekko/discovery/DiscoveryConfigurationSpec.scala
@@ -16,7 +16,7 @@ package org.apache.pekko.discovery
import scala.concurrent.Future
import scala.concurrent.duration.FiniteDuration
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.scalatest.matchers.should.Matchers
import org.scalatest.wordspec.AnyWordSpec
diff --git a/discovery/src/test/scala/org/apache/pekko/discovery/aggregate/AggregateServiceDiscoverySpec.scala b/discovery/src/test/scala/org/apache/pekko/discovery/aggregate/AggregateServiceDiscoverySpec.scala
index c89928d8852..610a4dc2199 100644
--- a/discovery/src/test/scala/org/apache/pekko/discovery/aggregate/AggregateServiceDiscoverySpec.scala
+++ b/discovery/src/test/scala/org/apache/pekko/discovery/aggregate/AggregateServiceDiscoverySpec.scala
@@ -17,7 +17,7 @@ import scala.collection.immutable
import scala.concurrent.Future
import scala.concurrent.duration._
-import com.typesafe.config.{ Config, ConfigFactory }
+import org.ekrich.config.{ Config, ConfigFactory }
import org.scalatest.BeforeAndAfterAll
import org.scalatest.concurrent.ScalaFutures
import org.scalatest.matchers.should.Matchers
diff --git a/discovery/src/test/scala/org/apache/pekko/discovery/config/ConfigServiceDiscoverySpec.scala b/discovery/src/test/scala/org/apache/pekko/discovery/config/ConfigServiceDiscoverySpec.scala
index 5b2a4184445..665b9e1045f 100644
--- a/discovery/src/test/scala/org/apache/pekko/discovery/config/ConfigServiceDiscoverySpec.scala
+++ b/discovery/src/test/scala/org/apache/pekko/discovery/config/ConfigServiceDiscoverySpec.scala
@@ -16,7 +16,7 @@ package org.apache.pekko.discovery.config
import scala.collection.immutable
import scala.concurrent.duration._
-import com.typesafe.config.{ Config, ConfigFactory }
+import org.ekrich.config.{ Config, ConfigFactory }
import org.scalatest.BeforeAndAfterAll
import org.scalatest.concurrent.ScalaFutures
import org.scalatest.matchers.should.Matchers
diff --git a/discovery/src/test/scala/org/apache/pekko/discovery/config/ConfigServicesParserSpec.scala b/discovery/src/test/scala/org/apache/pekko/discovery/config/ConfigServicesParserSpec.scala
index e21a5a02c35..32d4eb74f4e 100644
--- a/discovery/src/test/scala/org/apache/pekko/discovery/config/ConfigServicesParserSpec.scala
+++ b/discovery/src/test/scala/org/apache/pekko/discovery/config/ConfigServicesParserSpec.scala
@@ -15,7 +15,7 @@ package org.apache.pekko.discovery.config
import scala.collection.immutable
-import com.typesafe.config.{ Config, ConfigFactory }
+import org.ekrich.config.{ Config, ConfigFactory }
import org.scalatest.matchers.should.Matchers
import org.scalatest.wordspec.AnyWordSpec
diff --git a/discovery/src/test/scala/org/apache/pekko/discovery/dns/DnsDiscoverySpec.scala b/discovery/src/test/scala/org/apache/pekko/discovery/dns/DnsDiscoverySpec.scala
index 01e82576584..4aab6707b64 100644
--- a/discovery/src/test/scala/org/apache/pekko/discovery/dns/DnsDiscoverySpec.scala
+++ b/discovery/src/test/scala/org/apache/pekko/discovery/dns/DnsDiscoverySpec.scala
@@ -16,7 +16,7 @@ package org.apache.pekko.discovery.dns
import java.net.InetAddress
import scala.concurrent.duration._
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.apache.pekko
import pekko.actor.ActorSystem
import pekko.discovery.{ Discovery, Lookup }
diff --git a/distributed-data/src/main/mima-filters/2.0.x.backwards.excludes/replace-lightbend-config-with-sconfig.excludes b/distributed-data/src/main/mima-filters/2.0.x.backwards.excludes/replace-lightbend-config-with-sconfig.excludes
new file mode 100644
index 00000000000..7a1feff1b24
--- /dev/null
+++ b/distributed-data/src/main/mima-filters/2.0.x.backwards.excludes/replace-lightbend-config-with-sconfig.excludes
@@ -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.
+
+# Replacing Lightbend Config (https://github.com/lightbend/config) with sconfig (https://github.com/ekrich/sconfig)
+ProblemFilters.exclude[IncompatibleMethTypeProblem]("org.apache.pekko.cluster.ddata.LmdbDurableStore.props")
+ProblemFilters.exclude[IncompatibleMethTypeProblem]("org.apache.pekko.cluster.ddata.LmdbDurableStore.this")
+ProblemFilters.exclude[IncompatibleMethTypeProblem]("org.apache.pekko.cluster.ddata.ReplicatorSettings.apply")
+ProblemFilters.exclude[IncompatibleSignatureProblem]("org.apache.pekko.cluster.ddata.ReplicatorSettings.durableStoreProps")
+ProblemFilters.exclude[IncompatibleSignatureProblem]("org.apache.pekko.cluster.ddata.ReplicatorSettings.this")
diff --git a/distributed-data/src/main/resources/reference.conf b/distributed-data/src/main/resources/reference.conf
index f7a5c5b5ad6..e548f6c4a70 100644
--- a/distributed-data/src/main/resources/reference.conf
+++ b/distributed-data/src/main/resources/reference.conf
@@ -101,7 +101,7 @@ pekko.cluster.distributed-data {
# Fully qualified class name of the durable store actor. It must be a subclass
# of pekko.actor.Actor and handle the protocol defined in
# org.apache.pekko.cluster.ddata.DurableStore. The class must have a constructor with
- # com.typesafe.config.Config parameter.
+ # org.ekrich.config.Config parameter.
store-actor-class = org.apache.pekko.cluster.ddata.LmdbDurableStore
use-dispatcher = pekko.cluster.distributed-data.durable.pinned-store
diff --git a/distributed-data/src/main/scala/org/apache/pekko/cluster/ddata/DurableStore.scala b/distributed-data/src/main/scala/org/apache/pekko/cluster/ddata/DurableStore.scala
index efced43cdf5..c9086f1859f 100644
--- a/distributed-data/src/main/scala/org/apache/pekko/cluster/ddata/DurableStore.scala
+++ b/distributed-data/src/main/scala/org/apache/pekko/cluster/ddata/DurableStore.scala
@@ -21,7 +21,7 @@ import scala.concurrent.duration._
import scala.util.Try
import scala.util.control.NonFatal
-import com.typesafe.config.Config
+import org.ekrich.config.Config
import org.lmdbjava.Dbi
import org.lmdbjava.DbiFlags
import org.lmdbjava.Env
diff --git a/distributed-data/src/main/scala/org/apache/pekko/cluster/ddata/Replicator.scala b/distributed-data/src/main/scala/org/apache/pekko/cluster/ddata/Replicator.scala
index df9a774291c..b3483eefaf3 100644
--- a/distributed-data/src/main/scala/org/apache/pekko/cluster/ddata/Replicator.scala
+++ b/distributed-data/src/main/scala/org/apache/pekko/cluster/ddata/Replicator.scala
@@ -32,7 +32,7 @@ import scala.util.control.NoStackTrace
import scala.util.control.NonFatal
import scala.annotation.nowarn
-import com.typesafe.config.Config
+import org.ekrich.config.Config
import org.apache.pekko
import pekko.actor.Actor
diff --git a/distributed-data/src/multi-jvm/scala/org/apache/pekko/cluster/ddata/DurableDataSpec.scala b/distributed-data/src/multi-jvm/scala/org/apache/pekko/cluster/ddata/DurableDataSpec.scala
index 1bde6f2d8d6..4c0f3cfcb60 100644
--- a/distributed-data/src/multi-jvm/scala/org/apache/pekko/cluster/ddata/DurableDataSpec.scala
+++ b/distributed-data/src/multi-jvm/scala/org/apache/pekko/cluster/ddata/DurableDataSpec.scala
@@ -17,7 +17,7 @@ import scala.concurrent.Await
import scala.concurrent.duration._
import scala.util.control.NoStackTrace
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.scalatest.CancelAfterFailure
import org.apache.pekko
diff --git a/distributed-data/src/multi-jvm/scala/org/apache/pekko/cluster/ddata/DurablePruningSpec.scala b/distributed-data/src/multi-jvm/scala/org/apache/pekko/cluster/ddata/DurablePruningSpec.scala
index 9ceb5966320..af58af51efb 100644
--- a/distributed-data/src/multi-jvm/scala/org/apache/pekko/cluster/ddata/DurablePruningSpec.scala
+++ b/distributed-data/src/multi-jvm/scala/org/apache/pekko/cluster/ddata/DurablePruningSpec.scala
@@ -16,7 +16,7 @@ package org.apache.pekko.cluster.ddata
import scala.concurrent.Await
import scala.concurrent.duration._
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.apache.pekko
import pekko.actor.ActorRef
diff --git a/distributed-data/src/multi-jvm/scala/org/apache/pekko/cluster/ddata/JepsenInspiredInsertSpec.scala b/distributed-data/src/multi-jvm/scala/org/apache/pekko/cluster/ddata/JepsenInspiredInsertSpec.scala
index 6674c52df25..90183b5a902 100644
--- a/distributed-data/src/multi-jvm/scala/org/apache/pekko/cluster/ddata/JepsenInspiredInsertSpec.scala
+++ b/distributed-data/src/multi-jvm/scala/org/apache/pekko/cluster/ddata/JepsenInspiredInsertSpec.scala
@@ -17,7 +17,7 @@ import java.util.concurrent.ThreadLocalRandom
import scala.concurrent.duration._
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.apache.pekko
import pekko.cluster.Cluster
diff --git a/distributed-data/src/multi-jvm/scala/org/apache/pekko/cluster/ddata/PerformanceSpec.scala b/distributed-data/src/multi-jvm/scala/org/apache/pekko/cluster/ddata/PerformanceSpec.scala
index 8dd2c4d2ec2..fd38d211b38 100644
--- a/distributed-data/src/multi-jvm/scala/org/apache/pekko/cluster/ddata/PerformanceSpec.scala
+++ b/distributed-data/src/multi-jvm/scala/org/apache/pekko/cluster/ddata/PerformanceSpec.scala
@@ -16,7 +16,7 @@ package org.apache.pekko.cluster.ddata
import scala.concurrent.Await
import scala.concurrent.duration._
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.apache.pekko
import pekko.actor.Actor
diff --git a/distributed-data/src/multi-jvm/scala/org/apache/pekko/cluster/ddata/ReplicatorChaosSpec.scala b/distributed-data/src/multi-jvm/scala/org/apache/pekko/cluster/ddata/ReplicatorChaosSpec.scala
index c59c755d666..9b152d0c834 100644
--- a/distributed-data/src/multi-jvm/scala/org/apache/pekko/cluster/ddata/ReplicatorChaosSpec.scala
+++ b/distributed-data/src/multi-jvm/scala/org/apache/pekko/cluster/ddata/ReplicatorChaosSpec.scala
@@ -15,7 +15,7 @@ package org.apache.pekko.cluster.ddata
import scala.concurrent.duration._
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.apache.pekko
import pekko.cluster.Cluster
diff --git a/distributed-data/src/multi-jvm/scala/org/apache/pekko/cluster/ddata/ReplicatorDeltaSpec.scala b/distributed-data/src/multi-jvm/scala/org/apache/pekko/cluster/ddata/ReplicatorDeltaSpec.scala
index 6d076cbfd28..02da24441c7 100644
--- a/distributed-data/src/multi-jvm/scala/org/apache/pekko/cluster/ddata/ReplicatorDeltaSpec.scala
+++ b/distributed-data/src/multi-jvm/scala/org/apache/pekko/cluster/ddata/ReplicatorDeltaSpec.scala
@@ -17,7 +17,7 @@ import java.util.concurrent.ThreadLocalRandom
import scala.concurrent.duration._
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.apache.pekko
import pekko.cluster.Cluster
diff --git a/distributed-data/src/multi-jvm/scala/org/apache/pekko/cluster/ddata/ReplicatorGossipSpec.scala b/distributed-data/src/multi-jvm/scala/org/apache/pekko/cluster/ddata/ReplicatorGossipSpec.scala
index a2a9bf4d96b..5a583ace104 100644
--- a/distributed-data/src/multi-jvm/scala/org/apache/pekko/cluster/ddata/ReplicatorGossipSpec.scala
+++ b/distributed-data/src/multi-jvm/scala/org/apache/pekko/cluster/ddata/ReplicatorGossipSpec.scala
@@ -16,7 +16,7 @@ package org.apache.pekko.cluster.ddata
import scala.concurrent.duration._
import scala.util.Random
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.apache.pekko
import pekko.actor.Dropped
diff --git a/distributed-data/src/multi-jvm/scala/org/apache/pekko/cluster/ddata/ReplicatorMapDeltaSpec.scala b/distributed-data/src/multi-jvm/scala/org/apache/pekko/cluster/ddata/ReplicatorMapDeltaSpec.scala
index 993a4f181e2..52fb6f4b2c8 100644
--- a/distributed-data/src/multi-jvm/scala/org/apache/pekko/cluster/ddata/ReplicatorMapDeltaSpec.scala
+++ b/distributed-data/src/multi-jvm/scala/org/apache/pekko/cluster/ddata/ReplicatorMapDeltaSpec.scala
@@ -17,7 +17,7 @@ import java.util.concurrent.ThreadLocalRandom
import scala.concurrent.duration._
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.apache.pekko
import pekko.cluster.Cluster
diff --git a/distributed-data/src/multi-jvm/scala/org/apache/pekko/cluster/ddata/ReplicatorORSetDeltaSpec.scala b/distributed-data/src/multi-jvm/scala/org/apache/pekko/cluster/ddata/ReplicatorORSetDeltaSpec.scala
index 638feb968d2..fe0d9976a0e 100644
--- a/distributed-data/src/multi-jvm/scala/org/apache/pekko/cluster/ddata/ReplicatorORSetDeltaSpec.scala
+++ b/distributed-data/src/multi-jvm/scala/org/apache/pekko/cluster/ddata/ReplicatorORSetDeltaSpec.scala
@@ -15,7 +15,7 @@ package org.apache.pekko.cluster.ddata
import scala.concurrent.duration._
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.apache.pekko
import pekko.cluster.Cluster
diff --git a/distributed-data/src/multi-jvm/scala/org/apache/pekko/cluster/ddata/ReplicatorPruningSpec.scala b/distributed-data/src/multi-jvm/scala/org/apache/pekko/cluster/ddata/ReplicatorPruningSpec.scala
index a9445e04d83..cc18cb2d02a 100644
--- a/distributed-data/src/multi-jvm/scala/org/apache/pekko/cluster/ddata/ReplicatorPruningSpec.scala
+++ b/distributed-data/src/multi-jvm/scala/org/apache/pekko/cluster/ddata/ReplicatorPruningSpec.scala
@@ -15,7 +15,7 @@ package org.apache.pekko.cluster.ddata
import scala.concurrent.duration._
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.apache.pekko
import pekko.cluster.Cluster
diff --git a/distributed-data/src/multi-jvm/scala/org/apache/pekko/cluster/ddata/ReplicatorSpec.scala b/distributed-data/src/multi-jvm/scala/org/apache/pekko/cluster/ddata/ReplicatorSpec.scala
index 47cd9177c65..972f71f00eb 100644
--- a/distributed-data/src/multi-jvm/scala/org/apache/pekko/cluster/ddata/ReplicatorSpec.scala
+++ b/distributed-data/src/multi-jvm/scala/org/apache/pekko/cluster/ddata/ReplicatorSpec.scala
@@ -16,7 +16,7 @@ package org.apache.pekko.cluster.ddata
import scala.concurrent.Await
import scala.concurrent.duration._
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.apache.pekko
import pekko.cluster.Cluster
diff --git a/distributed-data/src/test/scala/org/apache/pekko/cluster/ddata/LocalConcurrencySpec.scala b/distributed-data/src/test/scala/org/apache/pekko/cluster/ddata/LocalConcurrencySpec.scala
index ceb966f5455..edbebc9d8f6 100644
--- a/distributed-data/src/test/scala/org/apache/pekko/cluster/ddata/LocalConcurrencySpec.scala
+++ b/distributed-data/src/test/scala/org/apache/pekko/cluster/ddata/LocalConcurrencySpec.scala
@@ -13,7 +13,7 @@
package org.apache.pekko.cluster.ddata
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.scalatest.BeforeAndAfterAll
import org.scalatest.matchers.should.Matchers
import org.scalatest.wordspec.AnyWordSpecLike
diff --git a/distributed-data/src/test/scala/org/apache/pekko/cluster/ddata/LotsOfDataBot.scala b/distributed-data/src/test/scala/org/apache/pekko/cluster/ddata/LotsOfDataBot.scala
index 723e5ed9143..d738bdc3dab 100644
--- a/distributed-data/src/test/scala/org/apache/pekko/cluster/ddata/LotsOfDataBot.scala
+++ b/distributed-data/src/test/scala/org/apache/pekko/cluster/ddata/LotsOfDataBot.scala
@@ -17,7 +17,7 @@ import java.util.concurrent.ThreadLocalRandom
import scala.concurrent.duration._
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.apache.pekko
import pekko.actor.Actor
diff --git a/distributed-data/src/test/scala/org/apache/pekko/cluster/ddata/ReplicatorSettingsSpec.scala b/distributed-data/src/test/scala/org/apache/pekko/cluster/ddata/ReplicatorSettingsSpec.scala
index e183e38b221..bea1a0e255f 100644
--- a/distributed-data/src/test/scala/org/apache/pekko/cluster/ddata/ReplicatorSettingsSpec.scala
+++ b/distributed-data/src/test/scala/org/apache/pekko/cluster/ddata/ReplicatorSettingsSpec.scala
@@ -13,7 +13,7 @@
package org.apache.pekko.cluster.ddata
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.scalatest.BeforeAndAfterAll
import org.scalatest.wordspec.AnyWordSpecLike
diff --git a/distributed-data/src/test/scala/org/apache/pekko/cluster/ddata/protobuf/ReplicatedDataSerializerSpec.scala b/distributed-data/src/test/scala/org/apache/pekko/cluster/ddata/protobuf/ReplicatedDataSerializerSpec.scala
index 66116ed1939..e3fbfda017f 100644
--- a/distributed-data/src/test/scala/org/apache/pekko/cluster/ddata/protobuf/ReplicatedDataSerializerSpec.scala
+++ b/distributed-data/src/test/scala/org/apache/pekko/cluster/ddata/protobuf/ReplicatedDataSerializerSpec.scala
@@ -13,7 +13,7 @@
package org.apache.pekko.cluster.ddata.protobuf
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.scalatest.BeforeAndAfterAll
import org.scalatest.matchers.should.Matchers
import org.scalatest.wordspec.AnyWordSpecLike
diff --git a/distributed-data/src/test/scala/org/apache/pekko/cluster/ddata/protobuf/ReplicatorMessageSerializerSpec.scala b/distributed-data/src/test/scala/org/apache/pekko/cluster/ddata/protobuf/ReplicatorMessageSerializerSpec.scala
index c1a0212e0dc..01289a6e9a0 100644
--- a/distributed-data/src/test/scala/org/apache/pekko/cluster/ddata/protobuf/ReplicatorMessageSerializerSpec.scala
+++ b/distributed-data/src/test/scala/org/apache/pekko/cluster/ddata/protobuf/ReplicatorMessageSerializerSpec.scala
@@ -15,7 +15,7 @@ package org.apache.pekko.cluster.ddata.protobuf
import scala.concurrent.duration._
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.scalatest.BeforeAndAfterAll
import org.scalatest.matchers.should.Matchers
import org.scalatest.wordspec.AnyWordSpecLike
diff --git a/docs/src/main/paradox/general/configuration.md b/docs/src/main/paradox/general/configuration.md
index 2a337e0c139..b7440dea9ea 100644
--- a/docs/src/main/paradox/general/configuration.md
+++ b/docs/src/main/paradox/general/configuration.md
@@ -153,14 +153,14 @@ Welcome to Scala 2.13 (Java HotSpot(TM) 64-Bit Server VM, Java 1.8.0).
Type in expressions to have them evaluated.
Type :help for more information.
-scala> import com.typesafe.config._
-import com.typesafe.config._
+scala> import org.ekrich.config._
+import org.ekrich.config._
scala> ConfigFactory.parseString("a.b=12")
-res0: com.typesafe.config.Config = Config(SimpleConfigObject({"a" : {"b" : 12}}))
+res0: org.ekrich.config.Config = Config(SimpleConfigObject({"a" : {"b" : 12}}))
scala> res0.root.render
-res1: java.lang.String =
+res1: String =
{
# String: 1
"a" : {
diff --git a/docs/src/main/paradox/persistence-journals.md b/docs/src/main/paradox/persistence-journals.md
index 12030c587b1..a540216b0eb 100644
--- a/docs/src/main/paradox/persistence-journals.md
+++ b/docs/src/main/paradox/persistence-journals.md
@@ -50,8 +50,8 @@ actors to achieve parallelism.
The journal plugin class must have a constructor with one of these signatures:
- * constructor with one `com.typesafe.config.Config` parameter and a `String` parameter for the config path
- * constructor with one `com.typesafe.config.Config` parameter
+ * constructor with one `org.ekrich.config.Config` parameter and a `String` parameter for the config path
+ * constructor with one `org.ekrich.config.Config` parameter
* constructor without parameters
The plugin section of the actor system's config will be passed in the config constructor parameter. The config path
@@ -82,8 +82,8 @@ actors to achieve parallelism.
The snapshot store plugin class must have a constructor with one of these signatures:
- * constructor with one `com.typesafe.config.Config` parameter and a `String` parameter for the config path
- * constructor with one `com.typesafe.config.Config` parameter
+ * constructor with one `org.ekrich.config.Config` parameter and a `String` parameter for the config path
+ * constructor with one `org.ekrich.config.Config` parameter
* constructor without parameters
The plugin section of the actor system's config will be passed in the config constructor parameter. The config path
diff --git a/docs/src/main/paradox/persistence-query.md b/docs/src/main/paradox/persistence-query.md
index e5eaca2bcc6..b501c0c4879 100644
--- a/docs/src/main/paradox/persistence-query.md
+++ b/docs/src/main/paradox/persistence-query.md
@@ -308,8 +308,8 @@ Java
The @apidoc[query.ReadJournalProvider] class must have a constructor with one of these signatures:
- * constructor with a @apidoc[actor.ExtendedActorSystem] parameter, a @javadoc[com.typesafe.config.Config](com.typesafe.config.Config) parameter, and a `String` parameter for the config path
- * constructor with a `ExtendedActorSystem` parameter, and a `com.typesafe.config.Config` parameter
+ * constructor with a @apidoc[actor.ExtendedActorSystem] parameter, a @scaladoc[org.ekrich.config.Config](org.ekrich.config.Config) parameter, and a `String` parameter for the config path
+ * constructor with a `ExtendedActorSystem` parameter, and a `org.ekrich.config.Config` parameter
* constructor with one `ExtendedActorSystem` parameter
* constructor without parameters
diff --git a/docs/src/main/paradox/persistence.md b/docs/src/main/paradox/persistence.md
index 7bc29a81a49..25cc32b6f34 100644
--- a/docs/src/main/paradox/persistence.md
+++ b/docs/src/main/paradox/persistence.md
@@ -899,8 +899,8 @@ plugin entries with a standard `class` property as well as settings which are sp
By default, a persistent actor will use the configuration loaded at @apidoc[actor.ActorSystem] creation time to create journal and snapshot store plugins.
-When the persistent actor overrides the @apidoc[journalPluginConfig](persistence.RuntimePluginConfig) {scala="#journalPluginConfig:com.typesafe.config.Config" java="#journalPluginConfig()"} and @apidoc[snapshotPluginConfig](persistence.RuntimePluginConfig) {scala="#snapshotPluginConfig:com.typesafe.config.Config" java="#snapshotPluginConfig()"} methods,
-the actor will use the declared @javadoc[Config](com.typesafe.config.Config) objects with a fallback on the default configuration.
+When the persistent actor overrides the @apidoc[journalPluginConfig](persistence.RuntimePluginConfig) {scala="#journalPluginConfig:org.ekrich.config.Config" java="#journalPluginConfig()"} and @apidoc[snapshotPluginConfig](persistence.RuntimePluginConfig) {scala="#snapshotPluginConfig:org.ekrich.config.Config" java="#snapshotPluginConfig()"} methods,
+the actor will use the declared @scaladoc[Config](org.ekrich.config.Config) objects with a fallback on the default configuration.
It allows a dynamic configuration of the journal and the snapshot store at runtime:
Scala
diff --git a/docs/src/main/paradox/routing.md b/docs/src/main/paradox/routing.md
index b421780094a..15505d34dbf 100644
--- a/docs/src/main/paradox/routing.md
+++ b/docs/src/main/paradox/routing.md
@@ -966,7 +966,7 @@ Scala
Java
: @@snip [CustomRouterDocTest.java](/docs/src/test/java/jdocs/routing/CustomRouterDocTest.java) { #usage-1 }
-Note that we added a constructor in `RedundancyGroup` that takes a @javadoc[Config](com.typesafe.config.Config) parameter.
+Note that we added a constructor in `RedundancyGroup` that takes a @scaladoc[Config](org.ekrich.config.Config) parameter.
That makes it possible to define it in configuration.
Scala
@@ -977,7 +977,7 @@ Java
Note the fully qualified class name in the `router` property. The router class must extend
`org.apache.pekko.routing.RouterConfig` (`Pool`, `Group` or `CustomRouterConfig`) and have
-constructor with one `com.typesafe.config.Config` parameter.
+constructor with one `org.ekrich.config.Config` parameter.
The deployment section of the configuration is passed to the constructor.
Scala
diff --git a/docs/src/main/paradox/typed/mailboxes.md b/docs/src/main/paradox/typed/mailboxes.md
index 5c73293ae5a..764b050a161 100644
--- a/docs/src/main/paradox/typed/mailboxes.md
+++ b/docs/src/main/paradox/typed/mailboxes.md
@@ -171,7 +171,7 @@ configuration, or the mailbox configuration.
@@@ note
Make sure to include a constructor which takes
-@apidoc[actor.ActorSystem.Settings](actor.ActorSystem.Settings) and [com.typesafe.config.Config](https://lightbend.github.io/config/latest/api/index.html?com/typesafe/config/Config.html)
+@apidoc[actor.ActorSystem.Settings](actor.ActorSystem.Settings) and [org.ekrich.config.Config](https://lightbend.github.io/config/latest/api/index.html?com/typesafe/config/Config.html)
arguments, as this constructor is invoked reflectively to construct your
mailbox type. The config passed in as second argument is that section from
the configuration which describes the dispatcher or mailbox setting using
diff --git a/docs/src/test/java/jdocs/actor/ActorDocTest.java b/docs/src/test/java/jdocs/actor/ActorDocTest.java
index ba822d6f18d..76153489f7a 100644
--- a/docs/src/test/java/jdocs/actor/ActorDocTest.java
+++ b/docs/src/test/java/jdocs/actor/ActorDocTest.java
@@ -15,8 +15,8 @@
import org.apache.pekko.actor.*;
import org.apache.pekko.testkit.javadsl.TestKit;
-import com.typesafe.config.Config;
-import com.typesafe.config.ConfigFactory;
+import org.ekrich.config.Config;
+import org.ekrich.config.ConfigFactory;
import jdocs.AbstractJavaTest;
import static jdocs.actor.Messages.Swap.Swap;
import static jdocs.actor.Messages.*;
diff --git a/docs/src/test/java/jdocs/actor/FaultHandlingDocSample.java b/docs/src/test/java/jdocs/actor/FaultHandlingDocSample.java
index f948f015d21..020e927788d 100644
--- a/docs/src/test/java/jdocs/actor/FaultHandlingDocSample.java
+++ b/docs/src/test/java/jdocs/actor/FaultHandlingDocSample.java
@@ -24,8 +24,6 @@
import static org.apache.pekko.actor.SupervisorStrategy.stop;
import static org.apache.pekko.pattern.Patterns.pipe;
-import com.typesafe.config.Config;
-import com.typesafe.config.ConfigFactory;
import java.time.Duration;
import java.util.ArrayList;
import java.util.HashMap;
@@ -35,6 +33,8 @@
import org.apache.pekko.event.LoggingReceive;
import org.apache.pekko.japi.pf.DeciderBuilder;
import org.apache.pekko.pattern.Patterns;
+import org.ekrich.config.Config;
+import org.ekrich.config.ConfigFactory;
// #imports
diff --git a/docs/src/test/java/jdocs/actor/FaultHandlingTest.java b/docs/src/test/java/jdocs/actor/FaultHandlingTest.java
index a250f0593cf..f82f1426d6b 100644
--- a/docs/src/test/java/jdocs/actor/FaultHandlingTest.java
+++ b/docs/src/test/java/jdocs/actor/FaultHandlingTest.java
@@ -16,8 +16,8 @@
import org.apache.pekko.actor.*;
import org.apache.pekko.testkit.javadsl.TestKit;
-import com.typesafe.config.Config;
-import com.typesafe.config.ConfigFactory;
+import org.ekrich.config.Config;
+import org.ekrich.config.ConfigFactory;
import jdocs.AbstractJavaTest;
import java.util.Optional;
import java.time.Duration;
diff --git a/docs/src/test/java/jdocs/cluster/ClusterDocTest.java b/docs/src/test/java/jdocs/cluster/ClusterDocTest.java
index 633b57fad30..8fec6e300e7 100644
--- a/docs/src/test/java/jdocs/cluster/ClusterDocTest.java
+++ b/docs/src/test/java/jdocs/cluster/ClusterDocTest.java
@@ -14,7 +14,7 @@
package jdocs.cluster;
import org.apache.pekko.testkit.javadsl.TestKit;
-import com.typesafe.config.ConfigFactory;
+import org.ekrich.config.ConfigFactory;
import java.util.LinkedList;
import java.util.List;
diff --git a/docs/src/test/java/jdocs/cluster/FactorialFrontendMain.java b/docs/src/test/java/jdocs/cluster/FactorialFrontendMain.java
index 19298faa752..97bda43bc81 100644
--- a/docs/src/test/java/jdocs/cluster/FactorialFrontendMain.java
+++ b/docs/src/test/java/jdocs/cluster/FactorialFrontendMain.java
@@ -13,12 +13,12 @@
package jdocs.cluster;
-import com.typesafe.config.Config;
-import com.typesafe.config.ConfigFactory;
import java.util.concurrent.TimeUnit;
import org.apache.pekko.actor.ActorSystem;
import org.apache.pekko.actor.Props;
import org.apache.pekko.cluster.Cluster;
+import org.ekrich.config.Config;
+import org.ekrich.config.ConfigFactory;
public class FactorialFrontendMain {
diff --git a/docs/src/test/java/jdocs/cluster/StatsSampleOneMasterClientMain.java b/docs/src/test/java/jdocs/cluster/StatsSampleOneMasterClientMain.java
index bce52866154..5594058027f 100644
--- a/docs/src/test/java/jdocs/cluster/StatsSampleOneMasterClientMain.java
+++ b/docs/src/test/java/jdocs/cluster/StatsSampleOneMasterClientMain.java
@@ -13,9 +13,9 @@
package jdocs.cluster;
-import com.typesafe.config.ConfigFactory;
import org.apache.pekko.actor.ActorSystem;
import org.apache.pekko.actor.Props;
+import org.ekrich.config.ConfigFactory;
public class StatsSampleOneMasterClientMain {
diff --git a/docs/src/test/java/jdocs/cluster/StatsSampleOneMasterMain.java b/docs/src/test/java/jdocs/cluster/StatsSampleOneMasterMain.java
index 276577e179c..6a76b160fa4 100644
--- a/docs/src/test/java/jdocs/cluster/StatsSampleOneMasterMain.java
+++ b/docs/src/test/java/jdocs/cluster/StatsSampleOneMasterMain.java
@@ -13,8 +13,6 @@
package jdocs.cluster;
-import com.typesafe.config.Config;
-import com.typesafe.config.ConfigFactory;
import org.apache.pekko.actor.ActorSystem;
import org.apache.pekko.actor.PoisonPill;
import org.apache.pekko.actor.Props;
@@ -22,6 +20,8 @@
import org.apache.pekko.cluster.singleton.ClusterSingletonManagerSettings;
import org.apache.pekko.cluster.singleton.ClusterSingletonProxy;
import org.apache.pekko.cluster.singleton.ClusterSingletonProxySettings;
+import org.ekrich.config.Config;
+import org.ekrich.config.ConfigFactory;
public class StatsSampleOneMasterMain {
diff --git a/docs/src/test/java/jdocs/config/ConfigDocTest.java b/docs/src/test/java/jdocs/config/ConfigDocTest.java
index 9459cca1d79..3ebfcb18881 100644
--- a/docs/src/test/java/jdocs/config/ConfigDocTest.java
+++ b/docs/src/test/java/jdocs/config/ConfigDocTest.java
@@ -17,8 +17,8 @@
import org.apache.pekko.actor.typed.ActorSystem;
import org.apache.pekko.actor.typed.Behavior;
import org.apache.pekko.actor.typed.javadsl.Behaviors;
-import com.typesafe.config.Config;
-import com.typesafe.config.ConfigFactory;
+import org.ekrich.config.Config;
+import org.ekrich.config.ConfigFactory;
// #imports
import org.apache.pekko.actor.testkit.typed.javadsl.ActorTestKit;
diff --git a/docs/src/test/java/jdocs/ddata/DistributedDataDocTest.java b/docs/src/test/java/jdocs/ddata/DistributedDataDocTest.java
index 8f0a3a0cb80..adf7d306dab 100644
--- a/docs/src/test/java/jdocs/ddata/DistributedDataDocTest.java
+++ b/docs/src/test/java/jdocs/ddata/DistributedDataDocTest.java
@@ -16,7 +16,6 @@
import static org.apache.pekko.cluster.ddata.Replicator.*;
import static org.junit.Assert.assertEquals;
-import com.typesafe.config.ConfigFactory;
import docs.ddata.DistributedDataDocSpec;
import java.math.BigInteger;
import java.time.Duration;
@@ -29,6 +28,7 @@
import org.apache.pekko.cluster.ddata.*;
import org.apache.pekko.japi.pf.ReceiveBuilder;
import org.apache.pekko.testkit.javadsl.TestKit;
+import org.ekrich.config.ConfigFactory;
import org.junit.AfterClass;
import org.junit.BeforeClass;
import org.junit.Test;
diff --git a/docs/src/test/java/jdocs/dispatcher/DispatcherDocTest.java b/docs/src/test/java/jdocs/dispatcher/DispatcherDocTest.java
index 2fc374690db..55240a274c5 100644
--- a/docs/src/test/java/jdocs/dispatcher/DispatcherDocTest.java
+++ b/docs/src/test/java/jdocs/dispatcher/DispatcherDocTest.java
@@ -17,7 +17,7 @@
import org.apache.pekko.dispatch.RequiresMessageQueue;
import org.apache.pekko.testkit.PekkoSpec;
import org.apache.pekko.testkit.javadsl.TestKit;
-import com.typesafe.config.ConfigFactory;
+import org.ekrich.config.ConfigFactory;
import docs.dispatcher.DispatcherDocSpec;
import jdocs.AbstractJavaTest;
import jdocs.actor.MyBoundedActor;
@@ -39,7 +39,7 @@
import org.apache.pekko.dispatch.PriorityGenerator;
import org.apache.pekko.dispatch.UnboundedStablePriorityMailbox;
import org.apache.pekko.testkit.PekkoJUnitActorSystemResource;
-import com.typesafe.config.Config;
+import org.ekrich.config.Config;
// #imports-prio-mailbox
diff --git a/docs/src/test/java/jdocs/dispatcher/MyUnboundedMailbox.java b/docs/src/test/java/jdocs/dispatcher/MyUnboundedMailbox.java
index f8f517e96d1..e7013a6dc94 100644
--- a/docs/src/test/java/jdocs/dispatcher/MyUnboundedMailbox.java
+++ b/docs/src/test/java/jdocs/dispatcher/MyUnboundedMailbox.java
@@ -14,7 +14,6 @@
package jdocs.dispatcher;
// #mailbox-implementation-example
-import com.typesafe.config.Config;
import java.util.Queue;
import java.util.concurrent.ConcurrentLinkedQueue;
import org.apache.pekko.actor.ActorRef;
@@ -23,6 +22,7 @@
import org.apache.pekko.dispatch.MailboxType;
import org.apache.pekko.dispatch.MessageQueue;
import org.apache.pekko.dispatch.ProducesMessageQueue;
+import org.ekrich.config.Config;
import scala.Option;
public class MyUnboundedMailbox
diff --git a/docs/src/test/java/jdocs/extension/SettingsExtensionDocTest.java b/docs/src/test/java/jdocs/extension/SettingsExtensionDocTest.java
index 16adbebe16d..f82dbb478be 100644
--- a/docs/src/test/java/jdocs/extension/SettingsExtensionDocTest.java
+++ b/docs/src/test/java/jdocs/extension/SettingsExtensionDocTest.java
@@ -19,7 +19,7 @@
import org.apache.pekko.actor.ExtensionIdProvider;
import org.apache.pekko.actor.ActorSystem;
import org.apache.pekko.actor.ExtendedActorSystem;
-import com.typesafe.config.Config;
+import org.ekrich.config.Config;
import java.util.concurrent.TimeUnit;
import java.time.Duration;
diff --git a/docs/src/test/java/jdocs/io/japi/EchoServer.java b/docs/src/test/java/jdocs/io/japi/EchoServer.java
index e5fb3347d64..f0fcae4ddae 100644
--- a/docs/src/test/java/jdocs/io/japi/EchoServer.java
+++ b/docs/src/test/java/jdocs/io/japi/EchoServer.java
@@ -13,13 +13,13 @@
package jdocs.io.japi;
-import com.typesafe.config.Config;
-import com.typesafe.config.ConfigFactory;
import java.util.concurrent.CountDownLatch;
import java.util.concurrent.TimeUnit;
import org.apache.pekko.actor.ActorRef;
import org.apache.pekko.actor.ActorSystem;
import org.apache.pekko.actor.Props;
+import org.ekrich.config.Config;
+import org.ekrich.config.ConfigFactory;
public class EchoServer {
diff --git a/docs/src/test/java/jdocs/persistence/LambdaPersistencePluginDocTest.java b/docs/src/test/java/jdocs/persistence/LambdaPersistencePluginDocTest.java
index c9b43d3b1fa..b7d5d2ba0fd 100644
--- a/docs/src/test/java/jdocs/persistence/LambdaPersistencePluginDocTest.java
+++ b/docs/src/test/java/jdocs/persistence/LambdaPersistencePluginDocTest.java
@@ -14,8 +14,6 @@
package jdocs.persistence;
// #plugin-imports
-import com.typesafe.config.Config;
-import com.typesafe.config.ConfigFactory;
import java.io.File;
import java.util.ArrayList;
import java.util.List;
@@ -32,6 +30,8 @@
import org.apache.pekko.persistence.journal.leveldb.SharedLeveldbStore;
import org.apache.pekko.persistence.snapshot.japi.*;
// #plugin-imports
+import org.ekrich.config.Config;
+import org.ekrich.config.ConfigFactory;
import org.iq80.leveldb.util.FileUtils;
import org.junit.runner.RunWith;
import org.scalatestplus.junit.JUnitRunner;
diff --git a/docs/src/test/java/jdocs/persistence/PersistenceMultiDocTest.java b/docs/src/test/java/jdocs/persistence/PersistenceMultiDocTest.java
index e56d71465df..0e2aca8e504 100644
--- a/docs/src/test/java/jdocs/persistence/PersistenceMultiDocTest.java
+++ b/docs/src/test/java/jdocs/persistence/PersistenceMultiDocTest.java
@@ -13,10 +13,10 @@
package jdocs.persistence;
-import com.typesafe.config.Config;
-import com.typesafe.config.ConfigFactory;
import org.apache.pekko.persistence.AbstractPersistentActor;
import org.apache.pekko.persistence.RuntimePluginConfig;
+import org.ekrich.config.Config;
+import org.ekrich.config.ConfigFactory;
public class PersistenceMultiDocTest {
diff --git a/docs/src/test/java/jdocs/persistence/PersistenceQueryDocTest.java b/docs/src/test/java/jdocs/persistence/PersistenceQueryDocTest.java
index 66daa9930fb..3df71d01e8c 100644
--- a/docs/src/test/java/jdocs/persistence/PersistenceQueryDocTest.java
+++ b/docs/src/test/java/jdocs/persistence/PersistenceQueryDocTest.java
@@ -13,7 +13,6 @@
package jdocs.persistence;
-import com.typesafe.config.Config;
import java.sql.Connection;
import java.time.Duration;
import java.util.ArrayList;
@@ -29,6 +28,7 @@
import org.apache.pekko.persistence.query.Sequence;
import org.apache.pekko.stream.javadsl.Sink;
import org.apache.pekko.stream.javadsl.Source;
+import org.ekrich.config.Config;
import org.reactivestreams.Subscriber;
public class PersistenceQueryDocTest {
diff --git a/docs/src/test/java/jdocs/persistence/testkit/Configuration.java b/docs/src/test/java/jdocs/persistence/testkit/Configuration.java
index 2b2c498e867..2e2ede1ebfe 100644
--- a/docs/src/test/java/jdocs/persistence/testkit/Configuration.java
+++ b/docs/src/test/java/jdocs/persistence/testkit/Configuration.java
@@ -13,14 +13,14 @@
package jdocs.persistence.testkit;
-import com.typesafe.config.Config;
-import com.typesafe.config.ConfigFactory;
import org.apache.pekko.actor.typed.ActorSystem;
import org.apache.pekko.actor.typed.Behavior;
import org.apache.pekko.persistence.testkit.PersistenceTestKitPlugin;
import org.apache.pekko.persistence.testkit.PersistenceTestKitSnapshotPlugin;
import org.apache.pekko.persistence.testkit.javadsl.PersistenceTestKit;
import org.apache.pekko.persistence.testkit.javadsl.SnapshotTestKit;
+import org.ekrich.config.Config;
+import org.ekrich.config.ConfigFactory;
public class Configuration {
diff --git a/docs/src/test/java/jdocs/persistence/testkit/PersistenceInitTest.java b/docs/src/test/java/jdocs/persistence/testkit/PersistenceInitTest.java
index 39728dadfab..89baa7e2935 100644
--- a/docs/src/test/java/jdocs/persistence/testkit/PersistenceInitTest.java
+++ b/docs/src/test/java/jdocs/persistence/testkit/PersistenceInitTest.java
@@ -15,7 +15,7 @@
import org.apache.pekko.actor.testkit.typed.javadsl.TestKitJunitResource;
-import com.typesafe.config.ConfigFactory;
+import org.ekrich.config.ConfigFactory;
import jdocs.AbstractJavaTest;
import org.junit.ClassRule;
import org.junit.Test;
diff --git a/docs/src/test/java/jdocs/persistence/testkit/PersistenceTestKitPolicySampleTest.java b/docs/src/test/java/jdocs/persistence/testkit/PersistenceTestKitPolicySampleTest.java
index aa4c883c098..428d7bb3339 100644
--- a/docs/src/test/java/jdocs/persistence/testkit/PersistenceTestKitPolicySampleTest.java
+++ b/docs/src/test/java/jdocs/persistence/testkit/PersistenceTestKitPolicySampleTest.java
@@ -13,7 +13,6 @@
package jdocs.persistence.testkit;
-import com.typesafe.config.ConfigFactory;
import jdocs.AbstractJavaTest;
import org.apache.pekko.actor.testkit.typed.javadsl.TestKitJunitResource;
import org.apache.pekko.actor.typed.ActorRef;
@@ -26,6 +25,7 @@
import org.apache.pekko.persistence.testkit.WriteEvents;
import org.apache.pekko.persistence.testkit.javadsl.PersistenceTestKit;
import org.apache.pekko.persistence.typed.PersistenceId;
+import org.ekrich.config.ConfigFactory;
import org.junit.Before;
import org.junit.ClassRule;
import org.junit.Test;
diff --git a/docs/src/test/java/jdocs/persistence/testkit/PersistenceTestKitSampleTest.java b/docs/src/test/java/jdocs/persistence/testkit/PersistenceTestKitSampleTest.java
index 1e13c51cb54..4358d48da45 100644
--- a/docs/src/test/java/jdocs/persistence/testkit/PersistenceTestKitSampleTest.java
+++ b/docs/src/test/java/jdocs/persistence/testkit/PersistenceTestKitSampleTest.java
@@ -14,7 +14,6 @@
package jdocs.persistence.testkit;
import com.fasterxml.jackson.annotation.JsonCreator;
-import com.typesafe.config.ConfigFactory;
import jdocs.AbstractJavaTest;
import org.apache.pekko.actor.testkit.typed.javadsl.TestKitJunitResource;
import org.apache.pekko.actor.typed.ActorRef;
@@ -27,6 +26,7 @@
import org.apache.pekko.persistence.typed.javadsl.EventHandler;
import org.apache.pekko.persistence.typed.javadsl.EventSourcedBehavior;
import org.apache.pekko.serialization.jackson.CborSerializable;
+import org.ekrich.config.ConfigFactory;
import org.junit.Before;
import org.junit.ClassRule;
import org.junit.Test;
diff --git a/docs/src/test/java/jdocs/remoting/RemoteDeploymentDocTest.java b/docs/src/test/java/jdocs/remoting/RemoteDeploymentDocTest.java
index 14469020c88..4ac8f04f707 100644
--- a/docs/src/test/java/jdocs/remoting/RemoteDeploymentDocTest.java
+++ b/docs/src/test/java/jdocs/remoting/RemoteDeploymentDocTest.java
@@ -19,7 +19,7 @@
import org.junit.ClassRule;
import org.junit.Test;
-import com.typesafe.config.ConfigFactory;
+import org.ekrich.config.ConfigFactory;
// #import
import org.apache.pekko.actor.ActorRef;
diff --git a/docs/src/test/java/jdocs/routing/CustomRouterDocTest.java b/docs/src/test/java/jdocs/routing/CustomRouterDocTest.java
index e2feb393b95..f158fd9db52 100644
--- a/docs/src/test/java/jdocs/routing/CustomRouterDocTest.java
+++ b/docs/src/test/java/jdocs/routing/CustomRouterDocTest.java
@@ -16,7 +16,7 @@
import static org.apache.pekko.japi.Util.immutableIndexedSeq;
import static org.junit.Assert.*;
-import com.typesafe.config.ConfigFactory;
+import org.ekrich.config.ConfigFactory;
import docs.routing.CustomRouterDocSpec;
import java.util.ArrayList;
import java.util.List;
diff --git a/docs/src/test/java/jdocs/routing/RedundancyGroup.java b/docs/src/test/java/jdocs/routing/RedundancyGroup.java
index 3395327f91c..8e6114d2fbb 100644
--- a/docs/src/test/java/jdocs/routing/RedundancyGroup.java
+++ b/docs/src/test/java/jdocs/routing/RedundancyGroup.java
@@ -16,12 +16,12 @@
// #group
import static jdocs.routing.CustomRouterDocTest.RedundancyRoutingLogic;
-import com.typesafe.config.Config;
import java.util.List;
import org.apache.pekko.actor.ActorSystem;
import org.apache.pekko.dispatch.Dispatchers;
import org.apache.pekko.routing.GroupBase;
import org.apache.pekko.routing.Router;
+import org.ekrich.config.Config;
public class RedundancyGroup extends GroupBase {
private final List paths;
diff --git a/docs/src/test/java/jdocs/routing/RouterDocTest.java b/docs/src/test/java/jdocs/routing/RouterDocTest.java
index 82b513cfc0e..b420d74511d 100644
--- a/docs/src/test/java/jdocs/routing/RouterDocTest.java
+++ b/docs/src/test/java/jdocs/routing/RouterDocTest.java
@@ -22,7 +22,7 @@
import static org.junit.Assert.*;
-import com.typesafe.config.ConfigFactory;
+import org.ekrich.config.ConfigFactory;
import java.io.Serializable;
import java.util.ArrayList;
diff --git a/docs/src/test/java/jdocs/stream/IntegrationDocTest.java b/docs/src/test/java/jdocs/stream/IntegrationDocTest.java
index f56e4a27ae3..efbf76a896f 100644
--- a/docs/src/test/java/jdocs/stream/IntegrationDocTest.java
+++ b/docs/src/test/java/jdocs/stream/IntegrationDocTest.java
@@ -18,8 +18,6 @@
import static junit.framework.TestCase.assertTrue;
import static org.apache.pekko.pattern.Patterns.ask;
-import com.typesafe.config.Config;
-import com.typesafe.config.ConfigFactory;
import java.time.Duration;
import java.util.Arrays;
import java.util.HashSet;
@@ -42,6 +40,8 @@
import org.apache.pekko.testkit.TestProbe;
import org.apache.pekko.testkit.javadsl.TestKit;
import org.apache.pekko.util.Timeout;
+import org.ekrich.config.Config;
+import org.ekrich.config.ConfigFactory;
import org.junit.AfterClass;
import org.junit.BeforeClass;
import org.junit.Test;
diff --git a/docs/src/test/java/jdocs/stream/javadsl/cookbook/RecipeLoggingElements.java b/docs/src/test/java/jdocs/stream/javadsl/cookbook/RecipeLoggingElements.java
index 23e1ebf46ea..57d62161e18 100644
--- a/docs/src/test/java/jdocs/stream/javadsl/cookbook/RecipeLoggingElements.java
+++ b/docs/src/test/java/jdocs/stream/javadsl/cookbook/RecipeLoggingElements.java
@@ -13,7 +13,6 @@
package jdocs.stream.javadsl.cookbook;
-import com.typesafe.config.ConfigFactory;
import java.util.Arrays;
import jdocs.stream.SilenceSystemOut;
import org.apache.pekko.NotUsed;
@@ -25,6 +24,7 @@
import org.apache.pekko.stream.javadsl.Source;
import org.apache.pekko.testkit.DebugFilter;
import org.apache.pekko.testkit.javadsl.TestKit;
+import org.ekrich.config.ConfigFactory;
import org.junit.AfterClass;
import org.junit.BeforeClass;
import org.junit.Test;
diff --git a/docs/src/test/java/jdocs/stream/javadsl/cookbook/RecipeSourceFromFunction.java b/docs/src/test/java/jdocs/stream/javadsl/cookbook/RecipeSourceFromFunction.java
index 3e285a5d0e9..e6f223ce2f2 100644
--- a/docs/src/test/java/jdocs/stream/javadsl/cookbook/RecipeSourceFromFunction.java
+++ b/docs/src/test/java/jdocs/stream/javadsl/cookbook/RecipeSourceFromFunction.java
@@ -13,7 +13,6 @@
package jdocs.stream.javadsl.cookbook;
-import com.typesafe.config.ConfigFactory;
import java.util.List;
import java.util.UUID;
import java.util.concurrent.TimeUnit;
@@ -22,6 +21,7 @@
import org.apache.pekko.stream.javadsl.Sink;
import org.apache.pekko.stream.javadsl.Source;
import org.apache.pekko.testkit.javadsl.TestKit;
+import org.ekrich.config.ConfigFactory;
import org.junit.AfterClass;
import org.junit.Assert;
import org.junit.BeforeClass;
diff --git a/docs/src/test/java/jdocs/testkit/ParentChildTest.java b/docs/src/test/java/jdocs/testkit/ParentChildTest.java
index b8209ebb396..31d75951dbd 100644
--- a/docs/src/test/java/jdocs/testkit/ParentChildTest.java
+++ b/docs/src/test/java/jdocs/testkit/ParentChildTest.java
@@ -13,7 +13,6 @@
package jdocs.testkit;
-import com.typesafe.config.ConfigFactory;
import docs.testkit.MockedChild;
import jdocs.AbstractJavaTest;
import org.apache.pekko.actor.*;
@@ -22,6 +21,7 @@
import org.apache.pekko.testkit.PekkoJUnitActorSystemResource;
import org.apache.pekko.testkit.TestProbe;
import org.apache.pekko.testkit.javadsl.TestKit;
+import org.ekrich.config.ConfigFactory;
import org.junit.ClassRule;
import org.junit.Test;
diff --git a/docs/src/test/java/jdocs/testkit/TestKitDocTest.java b/docs/src/test/java/jdocs/testkit/TestKitDocTest.java
index 225e6935562..4173560aeff 100644
--- a/docs/src/test/java/jdocs/testkit/TestKitDocTest.java
+++ b/docs/src/test/java/jdocs/testkit/TestKitDocTest.java
@@ -15,7 +15,6 @@
import static org.junit.Assert.*;
-import com.typesafe.config.ConfigFactory;
import java.time.Duration;
import java.util.List;
import java.util.concurrent.CompletableFuture;
@@ -40,6 +39,7 @@
import org.apache.pekko.testkit.TestProbe;
import org.apache.pekko.testkit.javadsl.EventFilter;
import org.apache.pekko.testkit.javadsl.TestKit;
+import org.ekrich.config.ConfigFactory;
import org.junit.Assert;
import org.junit.ClassRule;
import org.junit.Test;
diff --git a/docs/src/test/scala/docs/actor/FaultHandlingDocSample.scala b/docs/src/test/scala/docs/actor/FaultHandlingDocSample.scala
index e1da631b880..2147067a13e 100644
--- a/docs/src/test/scala/docs/actor/FaultHandlingDocSample.scala
+++ b/docs/src/test/scala/docs/actor/FaultHandlingDocSample.scala
@@ -22,7 +22,7 @@ import scala.concurrent.duration._
import pekko.util.Timeout
import pekko.event.LoggingReceive
import pekko.pattern.{ ask, pipe }
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
//#imports
/**
diff --git a/docs/src/test/scala/docs/actor/FaultHandlingDocSpec.scala b/docs/src/test/scala/docs/actor/FaultHandlingDocSpec.scala
index c99ca6f0058..8fa1a92747c 100644
--- a/docs/src/test/scala/docs/actor/FaultHandlingDocSpec.scala
+++ b/docs/src/test/scala/docs/actor/FaultHandlingDocSpec.scala
@@ -17,7 +17,7 @@ import org.apache.pekko.actor.{ ActorRef, ActorSystem, Props, Terminated }
import FaultHandlingDocSpec._
//#testkit
-import com.typesafe.config.{ Config, ConfigFactory }
+import org.ekrich.config.{ Config, ConfigFactory }
import org.scalatest.BeforeAndAfterAll
import org.scalatest.matchers.should.Matchers
import org.scalatest.wordspec.AnyWordSpecLike
diff --git a/docs/src/test/scala/docs/actor/typed/BlockingDispatcherSample.scala b/docs/src/test/scala/docs/actor/typed/BlockingDispatcherSample.scala
index 4f15827885b..5d03da7fb22 100644
--- a/docs/src/test/scala/docs/actor/typed/BlockingDispatcherSample.scala
+++ b/docs/src/test/scala/docs/actor/typed/BlockingDispatcherSample.scala
@@ -15,7 +15,7 @@ package docs.actor.typed
import org.apache.pekko.actor.typed._
import org.apache.pekko.actor.typed.scaladsl._
-import com.typesafe.config.{ Config, ConfigFactory }
+import org.ekrich.config.{ Config, ConfigFactory }
import scala.concurrent.{ ExecutionContext, Future }
diff --git a/docs/src/test/scala/docs/cluster/FactorialBackend.scala b/docs/src/test/scala/docs/cluster/FactorialBackend.scala
index 495a583ae7b..1f2963f8c85 100644
--- a/docs/src/test/scala/docs/cluster/FactorialBackend.scala
+++ b/docs/src/test/scala/docs/cluster/FactorialBackend.scala
@@ -15,7 +15,7 @@ package scala.docs.cluster
import scala.annotation.tailrec
import scala.concurrent.Future
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.apache.pekko.actor.Actor
import org.apache.pekko.actor.ActorLogging
import org.apache.pekko.actor.ActorSystem
diff --git a/docs/src/test/scala/docs/cluster/FactorialFrontend.scala b/docs/src/test/scala/docs/cluster/FactorialFrontend.scala
index c7d466800cd..255ebaed782 100644
--- a/docs/src/test/scala/docs/cluster/FactorialFrontend.scala
+++ b/docs/src/test/scala/docs/cluster/FactorialFrontend.scala
@@ -14,7 +14,7 @@
package scala.docs.cluster
import scala.concurrent.duration._
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.apache.pekko.actor.Actor
import org.apache.pekko.actor.ActorLogging
import org.apache.pekko.actor.ActorSystem
diff --git a/docs/src/test/scala/docs/cluster/TransformationBackend.scala b/docs/src/test/scala/docs/cluster/TransformationBackend.scala
index d86198da66a..7c2aa456074 100644
--- a/docs/src/test/scala/docs/cluster/TransformationBackend.scala
+++ b/docs/src/test/scala/docs/cluster/TransformationBackend.scala
@@ -24,7 +24,7 @@ import org.apache.pekko.cluster.ClusterEvent.CurrentClusterState
import org.apache.pekko.cluster.ClusterEvent.MemberUp
import org.apache.pekko.cluster.Member
import org.apache.pekko.cluster.MemberStatus
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
//#backend
class TransformationBackend extends Actor {
diff --git a/docs/src/test/scala/docs/cluster/TransformationFrontend.scala b/docs/src/test/scala/docs/cluster/TransformationFrontend.scala
index 244a1e9dccf..dea746536b1 100644
--- a/docs/src/test/scala/docs/cluster/TransformationFrontend.scala
+++ b/docs/src/test/scala/docs/cluster/TransformationFrontend.scala
@@ -22,7 +22,7 @@ import org.apache.pekko.actor.Props
import org.apache.pekko.actor.Terminated
import org.apache.pekko.pattern.ask
import org.apache.pekko.util.Timeout
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import java.util.concurrent.atomic.AtomicInteger
//#frontend
diff --git a/docs/src/test/scala/docs/config/ConfigDocSpec.scala b/docs/src/test/scala/docs/config/ConfigDocSpec.scala
index 985526f97d9..039f838b799 100644
--- a/docs/src/test/scala/docs/config/ConfigDocSpec.scala
+++ b/docs/src/test/scala/docs/config/ConfigDocSpec.scala
@@ -20,7 +20,7 @@ import org.scalatest.wordspec.AnyWordSpec
//#imports
import org.apache.pekko.actor.typed.ActorSystem
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
//#imports
class ConfigDocSpec extends AnyWordSpec with Matchers {
diff --git a/docs/src/test/scala/docs/coordination/LeaseDocSpec.scala b/docs/src/test/scala/docs/coordination/LeaseDocSpec.scala
index 7bf5266e8c7..3d2916b3ae4 100644
--- a/docs/src/test/scala/docs/coordination/LeaseDocSpec.scala
+++ b/docs/src/test/scala/docs/coordination/LeaseDocSpec.scala
@@ -15,7 +15,7 @@ package docs.coordination
import scala.concurrent.Future
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.apache.pekko.cluster.Cluster
import org.apache.pekko.coordination.lease.LeaseSettings
diff --git a/docs/src/test/scala/docs/discovery/DnsDiscoveryDocSpec.scala b/docs/src/test/scala/docs/discovery/DnsDiscoveryDocSpec.scala
index 25762306637..844bcc6f806 100644
--- a/docs/src/test/scala/docs/discovery/DnsDiscoveryDocSpec.scala
+++ b/docs/src/test/scala/docs/discovery/DnsDiscoveryDocSpec.scala
@@ -14,7 +14,7 @@
package docs.discovery
import org.apache.pekko.testkit.PekkoSpec
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import scala.concurrent.duration._
import scala.concurrent.Future
diff --git a/docs/src/test/scala/docs/dispatcher/DispatcherDocSpec.scala b/docs/src/test/scala/docs/dispatcher/DispatcherDocSpec.scala
index c3405decc5f..3edce12dfe9 100644
--- a/docs/src/test/scala/docs/dispatcher/DispatcherDocSpec.scala
+++ b/docs/src/test/scala/docs/dispatcher/DispatcherDocSpec.scala
@@ -254,7 +254,7 @@ object DispatcherDocSpec {
import org.apache.pekko
import pekko.dispatch.PriorityGenerator
import pekko.dispatch.UnboundedStablePriorityMailbox
- import com.typesafe.config.Config
+ import org.ekrich.config.Config
// We inherit, in this case, from UnboundedStablePriorityMailbox
// and seed it with the priority generator
diff --git a/docs/src/test/scala/docs/dispatcher/MyUnboundedMailbox.scala b/docs/src/test/scala/docs/dispatcher/MyUnboundedMailbox.scala
index 7b751956df2..7126a016c49 100644
--- a/docs/src/test/scala/docs/dispatcher/MyUnboundedMailbox.scala
+++ b/docs/src/test/scala/docs/dispatcher/MyUnboundedMailbox.scala
@@ -21,7 +21,7 @@ import pekko.dispatch.Envelope
import pekko.dispatch.MailboxType
import pekko.dispatch.MessageQueue
import pekko.dispatch.ProducesMessageQueue
-import com.typesafe.config.Config
+import org.ekrich.config.Config
import java.util.concurrent.ConcurrentLinkedQueue
import scala.Option
diff --git a/docs/src/test/scala/docs/extension/SettingsExtensionDocSpec.scala b/docs/src/test/scala/docs/extension/SettingsExtensionDocSpec.scala
index 105924f0f01..8f31760175f 100644
--- a/docs/src/test/scala/docs/extension/SettingsExtensionDocSpec.scala
+++ b/docs/src/test/scala/docs/extension/SettingsExtensionDocSpec.scala
@@ -22,7 +22,7 @@ import pekko.actor.ExtensionIdProvider
import pekko.actor.ExtendedActorSystem
import scala.concurrent.duration.Duration
-import com.typesafe.config.Config
+import org.ekrich.config.Config
import java.util.concurrent.TimeUnit
import pekko.actor.ClassicActorSystemProvider
diff --git a/docs/src/test/scala/docs/io/EchoServer.scala b/docs/src/test/scala/docs/io/EchoServer.scala
index f207c3f8176..c9a7ce91bda 100644
--- a/docs/src/test/scala/docs/io/EchoServer.scala
+++ b/docs/src/test/scala/docs/io/EchoServer.scala
@@ -15,7 +15,7 @@ package docs.io
import java.net.InetSocketAddress
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.apache.pekko.actor.{ Actor, ActorLogging, ActorRef, ActorSystem, Props, SupervisorStrategy }
import org.apache.pekko.io.{ IO, Tcp }
import org.apache.pekko.util.ByteString
diff --git a/docs/src/test/scala/docs/persistence/PersistenceMultiDocSpec.scala b/docs/src/test/scala/docs/persistence/PersistenceMultiDocSpec.scala
index 79e5cbccf75..715b629e303 100644
--- a/docs/src/test/scala/docs/persistence/PersistenceMultiDocSpec.scala
+++ b/docs/src/test/scala/docs/persistence/PersistenceMultiDocSpec.scala
@@ -12,7 +12,7 @@
*/
import org.apache.pekko.persistence.{ PersistentActor, RuntimePluginConfig }
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
object PersistenceMultiDocSpec {
diff --git a/docs/src/test/scala/docs/persistence/PersistencePluginDocSpec.scala b/docs/src/test/scala/docs/persistence/PersistencePluginDocSpec.scala
index b86a72e99d6..0a81d64a004 100644
--- a/docs/src/test/scala/docs/persistence/PersistencePluginDocSpec.scala
+++ b/docs/src/test/scala/docs/persistence/PersistencePluginDocSpec.scala
@@ -16,7 +16,7 @@ package docs.persistence
import scala.collection.immutable
import org.apache.pekko.actor.ActorSystem
import org.apache.pekko.testkit.TestKit
-import com.typesafe.config._
+import org.ekrich.config._
import org.scalatest.wordspec.AnyWordSpec
import scala.concurrent.Future
diff --git a/docs/src/test/scala/docs/persistence/PersistenceSchemaEvolutionDocSpec.scala b/docs/src/test/scala/docs/persistence/PersistenceSchemaEvolutionDocSpec.scala
index 3709de62e3f..d07c233cd17 100644
--- a/docs/src/test/scala/docs/persistence/PersistenceSchemaEvolutionDocSpec.scala
+++ b/docs/src/test/scala/docs/persistence/PersistenceSchemaEvolutionDocSpec.scala
@@ -20,7 +20,7 @@ import org.apache.pekko.actor.ActorSystem
import org.apache.pekko.persistence.journal.{ EventAdapter, EventSeq }
import org.apache.pekko.serialization.{ SerializationExtension, SerializerWithStringManifest }
import org.apache.pekko.testkit.TestKit
-import com.typesafe.config._
+import org.ekrich.config._
import org.scalatest.wordspec.AnyWordSpec
import spray.json.JsObject
import scala.concurrent.duration._
diff --git a/docs/src/test/scala/docs/persistence/PersistenceSerializerDocSpec.scala b/docs/src/test/scala/docs/persistence/PersistenceSerializerDocSpec.scala
index 819151b36b6..ac97d6b5d86 100644
--- a/docs/src/test/scala/docs/persistence/PersistenceSerializerDocSpec.scala
+++ b/docs/src/test/scala/docs/persistence/PersistenceSerializerDocSpec.scala
@@ -13,7 +13,7 @@
package docs.persistence
-import com.typesafe.config._
+import org.ekrich.config._
import scala.concurrent.duration._
import org.scalatest.wordspec.AnyWordSpec
diff --git a/docs/src/test/scala/docs/persistence/query/PersistenceQueryDocSpec.scala b/docs/src/test/scala/docs/persistence/query/PersistenceQueryDocSpec.scala
index 3940165dcba..9fa6e232e99 100644
--- a/docs/src/test/scala/docs/persistence/query/PersistenceQueryDocSpec.scala
+++ b/docs/src/test/scala/docs/persistence/query/PersistenceQueryDocSpec.scala
@@ -30,7 +30,7 @@ import scala.concurrent.duration._
import pekko.Done
import pekko.actor.typed.Behavior
import pekko.actor.typed.scaladsl.Behaviors
-import com.typesafe.config.Config
+import org.ekrich.config.Config
object PersistenceQueryDocSpec {
diff --git a/docs/src/test/scala/docs/persistence/testkit/Configuration.scala b/docs/src/test/scala/docs/persistence/testkit/Configuration.scala
index bd432f56363..204b3843736 100644
--- a/docs/src/test/scala/docs/persistence/testkit/Configuration.scala
+++ b/docs/src/test/scala/docs/persistence/testkit/Configuration.scala
@@ -16,7 +16,7 @@ package docs.persistence.testkit
import org.apache.pekko.actor.typed.ActorSystem
import org.apache.pekko.persistence.testkit.{ PersistenceTestKitPlugin, PersistenceTestKitSnapshotPlugin }
import org.apache.pekko.persistence.testkit.scaladsl.{ PersistenceTestKit, SnapshotTestKit }
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
object TestKitTypedConf {
diff --git a/docs/src/test/scala/docs/persistence/testkit/TestKitExamples.scala b/docs/src/test/scala/docs/persistence/testkit/TestKitExamples.scala
index 96bfaa2f973..62c8d5bfbbe 100644
--- a/docs/src/test/scala/docs/persistence/testkit/TestKitExamples.scala
+++ b/docs/src/test/scala/docs/persistence/testkit/TestKitExamples.scala
@@ -17,7 +17,7 @@ import org.apache.pekko.persistence.typed.PersistenceId
import org.apache.pekko.persistence.typed.scaladsl.Effect
import org.apache.pekko.persistence.typed.scaladsl.EventSourcedBehavior
import org.apache.pekko.serialization.jackson.CborSerializable
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import docs.persistence.testkit.PersistenceTestKitSampleSpec.{ Cmd, Evt, _ }
import org.scalatest.BeforeAndAfterEach
import org.scalatest.wordspec.AnyWordSpecLike
diff --git a/docs/src/test/scala/docs/routing/CustomRouterDocSpec.scala b/docs/src/test/scala/docs/routing/CustomRouterDocSpec.scala
index 815d75b7087..15965aaaf11 100644
--- a/docs/src/test/scala/docs/routing/CustomRouterDocSpec.scala
+++ b/docs/src/test/scala/docs/routing/CustomRouterDocSpec.scala
@@ -87,7 +87,7 @@ import pekko.dispatch.Dispatchers
import pekko.routing.Group
import pekko.routing.Router
import pekko.japi.Util.immutableSeq
-import com.typesafe.config.Config
+import org.ekrich.config.Config
final case class RedundancyGroup(routeePaths: immutable.Iterable[String], nbrCopies: Int) extends Group {
diff --git a/docs/src/test/scala/docs/serialization/SerializationDocSpec.scala b/docs/src/test/scala/docs/serialization/SerializationDocSpec.scala
index ab58efde98c..ac0b6e5f4ab 100644
--- a/docs/src/test/scala/docs/serialization/SerializationDocSpec.scala
+++ b/docs/src/test/scala/docs/serialization/SerializationDocSpec.scala
@@ -23,7 +23,7 @@ package docs.serialization {
// #imports
import org.apache.pekko.testkit._
- import com.typesafe.config.ConfigFactory
+ import org.ekrich.config.ConfigFactory
import org.apache.pekko.actor.ExtendedActorSystem
import java.nio.charset.StandardCharsets
diff --git a/docs/src/test/scala/docs/stream/IntegrationDocSpec.scala b/docs/src/test/scala/docs/stream/IntegrationDocSpec.scala
index 95b5a201f06..530c65da79c 100644
--- a/docs/src/test/scala/docs/stream/IntegrationDocSpec.scala
+++ b/docs/src/test/scala/docs/stream/IntegrationDocSpec.scala
@@ -24,7 +24,7 @@ import org.apache.pekko.stream._
import scala.concurrent.Future
import org.apache.pekko.testkit.TestProbe
import org.apache.pekko.actor.{ Actor, ActorLogging, ActorRef, Props }
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.apache.pekko.util.Timeout
import scala.concurrent.ExecutionContext
diff --git a/docs/src/test/scala/docs/testkit/TestKitUsageSpec.scala b/docs/src/test/scala/docs/testkit/TestKitUsageSpec.scala
index 432504fae7b..fcdcce0b334 100644
--- a/docs/src/test/scala/docs/testkit/TestKitUsageSpec.scala
+++ b/docs/src/test/scala/docs/testkit/TestKitUsageSpec.scala
@@ -20,7 +20,7 @@ import org.scalatest.BeforeAndAfterAll
import org.scalatest.wordspec.AnyWordSpecLike
import org.scalatest.matchers.should.Matchers
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.apache.pekko
import pekko.actor.Actor
diff --git a/docs/src/test/scala/docs/testkit/TestkitDocSpec.scala b/docs/src/test/scala/docs/testkit/TestkitDocSpec.scala
index 6cded4d74e6..78e9772375e 100644
--- a/docs/src/test/scala/docs/testkit/TestkitDocSpec.scala
+++ b/docs/src/test/scala/docs/testkit/TestkitDocSpec.scala
@@ -334,7 +334,7 @@ class TestKitDocSpec extends PekkoSpec with DefaultTimeout with ImplicitSender {
"demonstrate EventFilter" in {
// #event-filter
import org.apache.pekko.testkit.EventFilter
- import com.typesafe.config.ConfigFactory
+ import org.ekrich.config.ConfigFactory
implicit val system: ActorSystem = ActorSystem(
"testsystem",
diff --git a/multi-node-testkit/src/main/mima-filters/2.0.x.backwards.excludes/replace-lightbend-config-with-sconfig.excludes b/multi-node-testkit/src/main/mima-filters/2.0.x.backwards.excludes/replace-lightbend-config-with-sconfig.excludes
new file mode 100644
index 00000000000..2535cd5c0a0
--- /dev/null
+++ b/multi-node-testkit/src/main/mima-filters/2.0.x.backwards.excludes/replace-lightbend-config-with-sconfig.excludes
@@ -0,0 +1,30 @@
+# 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.
+
+# Replacing Lightbend Config (https://github.com/lightbend/config) with sconfig (https://github.com/ekrich/sconfig)
+ProblemFilters.exclude[IncompatibleMethTypeProblem]("org.apache.pekko.testkit.CallingThreadDispatcherConfigurator.this")
+ProblemFilters.exclude[IncompatibleMethTypeProblem]("org.apache.pekko.testkit.ExplicitlyTriggeredScheduler.this")
+ProblemFilters.exclude[IncompatibleResultTypeProblem]("org.apache.pekko.testkit.TestKitSettings.config")
+ProblemFilters.exclude[IncompatibleMethTypeProblem]("org.apache.pekko.testkit.TestKitSettings.this")
+ProblemFilters.exclude[IncompatibleResultTypeProblem]("org.apache.pekko.remote.testconductor.TestConductorExt#Settings.config")
+ProblemFilters.exclude[IncompatibleMethTypeProblem]("org.apache.pekko.remote.testkit.MultiNodeConfig.commonConfig")
+ProblemFilters.exclude[IncompatibleSignatureProblem]("org.apache.pekko.remote.testkit.MultiNodeConfig.nodeConfig")
+ProblemFilters.exclude[IncompatibleResultTypeProblem]("org.apache.pekko.remote.testkit.MultiNodeConfig.debugConfig")
+ProblemFilters.exclude[IncompatibleResultTypeProblem]("org.apache.pekko.remote.testkit.MultiNodeSpec.baseConfig")
+ProblemFilters.exclude[IncompatibleMethTypeProblem]("org.apache.pekko.remote.testkit.MultiNodeSpec.configureNextPortIfFixed")
+ProblemFilters.exclude[IncompatibleSignatureProblem]("org.apache.pekko.remote.testkit.MultiNodeSpec.this")
+ProblemFilters.exclude[IncompatibleResultTypeProblem]("org.apache.pekko.remote.testkit.MultiNodeSpec.nodeConfig")
diff --git a/multi-node-testkit/src/main/scala/org/apache/pekko/remote/testconductor/Extension.scala b/multi-node-testkit/src/main/scala/org/apache/pekko/remote/testconductor/Extension.scala
index cf64170b2e3..4956aa58124 100644
--- a/multi-node-testkit/src/main/scala/org/apache/pekko/remote/testconductor/Extension.scala
+++ b/multi-node-testkit/src/main/scala/org/apache/pekko/remote/testconductor/Extension.scala
@@ -13,7 +13,7 @@
package org.apache.pekko.remote.testconductor
-import com.typesafe.config.Config
+import org.ekrich.config.Config
import org.apache.pekko
import pekko.actor.{ ActorContext, ActorSystem, ExtendedActorSystem, Extension, ExtensionId, ExtensionIdProvider }
diff --git a/multi-node-testkit/src/main/scala/org/apache/pekko/remote/testkit/MultiNodeSpec.scala b/multi-node-testkit/src/main/scala/org/apache/pekko/remote/testkit/MultiNodeSpec.scala
index c344647c652..bdd74a3ffc0 100644
--- a/multi-node-testkit/src/main/scala/org/apache/pekko/remote/testkit/MultiNodeSpec.scala
+++ b/multi-node-testkit/src/main/scala/org/apache/pekko/remote/testkit/MultiNodeSpec.scala
@@ -20,7 +20,7 @@ import scala.concurrent.{ Await, Awaitable }
import scala.concurrent.duration._
import scala.util.control.NonFatal
-import com.typesafe.config.{ Config, ConfigFactory, ConfigObject }
+import org.ekrich.config.{ Config, ConfigFactory, ConfigObject }
import io.netty.channel.ChannelException
import language.implicitConversions
import org.apache.pekko
@@ -83,7 +83,7 @@ abstract class MultiNodeConfig {
pekko.remote.log-remote-lifecycle-events = on
""")
else
- ConfigFactory.empty
+ ConfigFactory.empty()
/**
* Construct a RoleName and return it, to be used as an identifier in the
@@ -120,7 +120,7 @@ abstract class MultiNodeConfig {
pekko.remote.classic.netty.tcp.applied-adapters = [trttl, gremlin]
pekko.remote.artery.advanced.test-mode = on
""")
- else ConfigFactory.empty
+ else ConfigFactory.empty()
val configs = _nodeConf
.get(myself)
diff --git a/osgi/src/main/mima-filters/2.0.x.backwards.excludes/replace-lightbend-config-with-sconfig.excludes b/osgi/src/main/mima-filters/2.0.x.backwards.excludes/replace-lightbend-config-with-sconfig.excludes
new file mode 100644
index 00000000000..5d5cb1dc2a4
--- /dev/null
+++ b/osgi/src/main/mima-filters/2.0.x.backwards.excludes/replace-lightbend-config-with-sconfig.excludes
@@ -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.
+
+# Replacing Lightbend Config (https://github.com/lightbend/config) with sconfig (https://github.com/ekrich/sconfig)
+ProblemFilters.exclude[IncompatibleResultTypeProblem]("org.apache.pekko.osgi.ActorSystemActivator.getActorSystemConfiguration")
+ProblemFilters.exclude[IncompatibleResultTypeProblem]("org.apache.pekko.osgi.OsgiActorSystemFactory.$default$3")
+ProblemFilters.exclude[IncompatibleMethTypeProblem]("org.apache.pekko.osgi.OsgiActorSystemFactory.apply")
+ProblemFilters.exclude[IncompatibleResultTypeProblem]("org.apache.pekko.osgi.OsgiActorSystemFactory.actorSystemConfig")
+ProblemFilters.exclude[IncompatibleMethTypeProblem]("org.apache.pekko.osgi.OsgiActorSystemFactory.this")
diff --git a/osgi/src/main/scala/org/apache/pekko/osgi/ActorSystemActivator.scala b/osgi/src/main/scala/org/apache/pekko/osgi/ActorSystemActivator.scala
index 12536c0326d..6e34d098820 100644
--- a/osgi/src/main/scala/org/apache/pekko/osgi/ActorSystemActivator.scala
+++ b/osgi/src/main/scala/org/apache/pekko/osgi/ActorSystemActivator.scala
@@ -15,7 +15,7 @@ package org.apache.pekko.osgi
import java.util.{ Dictionary, Properties }
-import com.typesafe.config.{ Config, ConfigFactory }
+import org.ekrich.config.{ Config, ConfigFactory }
import org.osgi.framework._
import org.osgi.service.log.LogService
@@ -138,8 +138,8 @@ abstract class ActorSystemActivator extends BundleActivator {
* the System properties.
*
* @param context the bundle context
- * @return the actor system specific configuration, ConfigFactory.empty by default
+ * @return the actor system specific configuration, ConfigFactory.empty() by default
*/
- def getActorSystemConfiguration(@unused context: BundleContext): Config = ConfigFactory.empty
+ def getActorSystemConfiguration(@unused context: BundleContext): Config = ConfigFactory.empty()
}
diff --git a/osgi/src/main/scala/org/apache/pekko/osgi/OsgiActorSystemFactory.scala b/osgi/src/main/scala/org/apache/pekko/osgi/OsgiActorSystemFactory.scala
index 5b5c319e876..f2d063bbb14 100644
--- a/osgi/src/main/scala/org/apache/pekko/osgi/OsgiActorSystemFactory.scala
+++ b/osgi/src/main/scala/org/apache/pekko/osgi/OsgiActorSystemFactory.scala
@@ -13,7 +13,7 @@
package org.apache.pekko.osgi
-import com.typesafe.config.{ Config, ConfigFactory }
+import org.ekrich.config.{ Config, ConfigFactory }
import org.osgi.framework.BundleContext
import org.apache.pekko
@@ -27,7 +27,7 @@ import pekko.util.unused
class OsgiActorSystemFactory(
val context: BundleContext,
val fallbackClassLoader: Option[ClassLoader],
- config: Config = ConfigFactory.empty) {
+ config: Config = ConfigFactory.empty()) {
/*
* Classloader that delegates to the bundle for which the factory is creating an ActorSystem
diff --git a/persistence-query/src/main/mima-filters/2.0.x.backwards.excludes/replace-lightbend-config-with-sconfig.excludes b/persistence-query/src/main/mima-filters/2.0.x.backwards.excludes/replace-lightbend-config-with-sconfig.excludes
new file mode 100644
index 00000000000..0dfecfd24ed
--- /dev/null
+++ b/persistence-query/src/main/mima-filters/2.0.x.backwards.excludes/replace-lightbend-config-with-sconfig.excludes
@@ -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.
+
+# Replacing Lightbend Config (https://github.com/lightbend/config) with sconfig (https://github.com/ekrich/sconfig)
+ProblemFilters.exclude[IncompatibleMethTypeProblem]("org.apache.pekko.persistence.query.PersistenceQuery.readJournalFor")
+ProblemFilters.exclude[IncompatibleMethTypeProblem]("org.apache.pekko.persistence.query.PersistenceQuery.getReadJournalFor")
+ProblemFilters.exclude[IncompatibleMethTypeProblem]("org.apache.pekko.persistence.query.journal.leveldb.LeveldbReadJournalProvider.this")
+ProblemFilters.exclude[IncompatibleMethTypeProblem]("org.apache.pekko.persistence.query.journal.leveldb.scaladsl.LeveldbReadJournal.this")
diff --git a/persistence-query/src/main/scala/org/apache/pekko/persistence/query/PersistenceQuery.scala b/persistence-query/src/main/scala/org/apache/pekko/persistence/query/PersistenceQuery.scala
index 02325bdd8a5..c68625613f0 100644
--- a/persistence-query/src/main/scala/org/apache/pekko/persistence/query/PersistenceQuery.scala
+++ b/persistence-query/src/main/scala/org/apache/pekko/persistence/query/PersistenceQuery.scala
@@ -15,7 +15,7 @@ package org.apache.pekko.persistence.query
import scala.reflect.ClassTag
-import com.typesafe.config.{ Config, ConfigFactory }
+import org.ekrich.config.{ Config, ConfigFactory }
import org.apache.pekko
import pekko.actor._
@@ -66,7 +66,7 @@ class PersistenceQuery(system: ExtendedActorSystem)
* read journal configuration entry.
*/
final def readJournalFor[T <: scaladsl.ReadJournal](readJournalPluginId: String): T =
- readJournalFor(readJournalPluginId, ConfigFactory.empty)
+ readJournalFor(readJournalPluginId, ConfigFactory.empty())
/**
* Java API: Returns the [[pekko.persistence.query.javadsl.ReadJournal]] specified by the given
diff --git a/persistence-query/src/main/scala/org/apache/pekko/persistence/query/journal/leveldb/LeveldbReadJournalProvider.scala b/persistence-query/src/main/scala/org/apache/pekko/persistence/query/journal/leveldb/LeveldbReadJournalProvider.scala
index 82bc6909804..e1af45ea49b 100644
--- a/persistence-query/src/main/scala/org/apache/pekko/persistence/query/journal/leveldb/LeveldbReadJournalProvider.scala
+++ b/persistence-query/src/main/scala/org/apache/pekko/persistence/query/journal/leveldb/LeveldbReadJournalProvider.scala
@@ -13,7 +13,7 @@
package org.apache.pekko.persistence.query.journal.leveldb
-import com.typesafe.config.Config
+import org.ekrich.config.Config
import org.apache.pekko
import pekko.actor.ExtendedActorSystem
import pekko.persistence.query.ReadJournalProvider
diff --git a/persistence-query/src/main/scala/org/apache/pekko/persistence/query/journal/leveldb/scaladsl/LeveldbReadJournal.scala b/persistence-query/src/main/scala/org/apache/pekko/persistence/query/journal/leveldb/scaladsl/LeveldbReadJournal.scala
index 9d1651a4b4a..a60d762067c 100644
--- a/persistence-query/src/main/scala/org/apache/pekko/persistence/query/journal/leveldb/scaladsl/LeveldbReadJournal.scala
+++ b/persistence-query/src/main/scala/org/apache/pekko/persistence/query/journal/leveldb/scaladsl/LeveldbReadJournal.scala
@@ -17,7 +17,7 @@ import java.net.URLEncoder
import scala.concurrent.duration._
-import com.typesafe.config.Config
+import org.ekrich.config.Config
import org.apache.pekko
import pekko.NotUsed
diff --git a/persistence-query/src/test/java/org/apache/pekko/persistence/query/DummyJavaReadJournalProvider.java b/persistence-query/src/test/java/org/apache/pekko/persistence/query/DummyJavaReadJournalProvider.java
index 4a4ade1e8a3..db7c63f055f 100644
--- a/persistence-query/src/test/java/org/apache/pekko/persistence/query/DummyJavaReadJournalProvider.java
+++ b/persistence-query/src/test/java/org/apache/pekko/persistence/query/DummyJavaReadJournalProvider.java
@@ -13,8 +13,8 @@
package org.apache.pekko.persistence.query;
-import com.typesafe.config.Config;
-import com.typesafe.config.ConfigFactory;
+import org.ekrich.config.Config;
+import org.ekrich.config.ConfigFactory;
public class DummyJavaReadJournalProvider implements ReadJournalProvider {
diff --git a/persistence-query/src/test/scala/org/apache/pekko/persistence/query/DummyReadJournal.scala b/persistence-query/src/test/scala/org/apache/pekko/persistence/query/DummyReadJournal.scala
index 0b7f3b6fe7c..a444435a7f8 100644
--- a/persistence-query/src/test/scala/org/apache/pekko/persistence/query/DummyReadJournal.scala
+++ b/persistence-query/src/test/scala/org/apache/pekko/persistence/query/DummyReadJournal.scala
@@ -13,7 +13,7 @@
package org.apache.pekko.persistence.query
-import com.typesafe.config.{ Config, ConfigFactory }
+import org.ekrich.config.{ Config, ConfigFactory }
import org.apache.pekko
import pekko.NotUsed
diff --git a/persistence-query/src/test/scala/org/apache/pekko/persistence/query/PersistenceQuerySpec.scala b/persistence-query/src/test/scala/org/apache/pekko/persistence/query/PersistenceQuerySpec.scala
index d4f3a3913a4..ae83bdbd67c 100644
--- a/persistence-query/src/test/scala/org/apache/pekko/persistence/query/PersistenceQuerySpec.scala
+++ b/persistence-query/src/test/scala/org/apache/pekko/persistence/query/PersistenceQuerySpec.scala
@@ -18,7 +18,7 @@ import java.util.concurrent.atomic.AtomicInteger
import scala.concurrent.Await
import scala.concurrent.duration._
-import com.typesafe.config.{ Config, ConfigFactory }
+import org.ekrich.config.{ Config, ConfigFactory }
import org.scalatest.BeforeAndAfterAll
import org.scalatest.matchers.should.Matchers
import org.scalatest.wordspec.AnyWordSpecLike
diff --git a/persistence-shared/src/test/scala/org/apache/pekko/persistence/journal/leveldb/PersistencePluginProxySpec.scala b/persistence-shared/src/test/scala/org/apache/pekko/persistence/journal/leveldb/PersistencePluginProxySpec.scala
index c3fc0651e67..901ce523ca3 100644
--- a/persistence-shared/src/test/scala/org/apache/pekko/persistence/journal/leveldb/PersistencePluginProxySpec.scala
+++ b/persistence-shared/src/test/scala/org/apache/pekko/persistence/journal/leveldb/PersistencePluginProxySpec.scala
@@ -13,7 +13,7 @@
package org.apache.pekko.persistence.journal.leveldb
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.apache.pekko
import pekko.actor._
diff --git a/persistence-shared/src/test/scala/org/apache/pekko/persistence/journal/leveldb/SharedLeveldbJournalSpec.scala b/persistence-shared/src/test/scala/org/apache/pekko/persistence/journal/leveldb/SharedLeveldbJournalSpec.scala
index 149eaed5be4..0ad74f771cd 100644
--- a/persistence-shared/src/test/scala/org/apache/pekko/persistence/journal/leveldb/SharedLeveldbJournalSpec.scala
+++ b/persistence-shared/src/test/scala/org/apache/pekko/persistence/journal/leveldb/SharedLeveldbJournalSpec.scala
@@ -14,7 +14,7 @@
package org.apache.pekko.persistence.journal.leveldb
import scala.annotation.nowarn
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.apache.pekko
import pekko.actor._
import pekko.persistence._
diff --git a/persistence-shared/src/test/scala/org/apache/pekko/persistence/serialization/SerializerSpec.scala b/persistence-shared/src/test/scala/org/apache/pekko/persistence/serialization/SerializerSpec.scala
index bbadb24f9d9..3d4dc63bd7e 100644
--- a/persistence-shared/src/test/scala/org/apache/pekko/persistence/serialization/SerializerSpec.scala
+++ b/persistence-shared/src/test/scala/org/apache/pekko/persistence/serialization/SerializerSpec.scala
@@ -19,7 +19,7 @@ import java.util.UUID
import scala.concurrent.Await
import scala.concurrent.duration.Duration
-import com.typesafe.config._
+import org.ekrich.config._
import org.apache.commons.codec.binary.Hex.{ decodeHex, encodeHex }
import org.apache.pekko
@@ -76,7 +76,7 @@ object SerializerSpecConfigs {
""")
def config(configs: String*): Config =
- configs.foldLeft(ConfigFactory.empty)((r, c) => r.withFallback(ConfigFactory.parseString(c)))
+ configs.foldLeft(ConfigFactory.empty())((r, c) => r.withFallback(ConfigFactory.parseString(c)))
}
diff --git a/persistence-tck/src/main/scala/org/apache/pekko/persistence/PluginSpec.scala b/persistence-tck/src/main/scala/org/apache/pekko/persistence/PluginSpec.scala
index 053c9ef28d2..f02b3010f1e 100644
--- a/persistence-tck/src/main/scala/org/apache/pekko/persistence/PluginSpec.scala
+++ b/persistence-tck/src/main/scala/org/apache/pekko/persistence/PluginSpec.scala
@@ -18,7 +18,7 @@ import java.util.concurrent.atomic.AtomicInteger
import scala.reflect.ClassTag
-import com.typesafe.config._
+import org.ekrich.config._
import org.scalatest._
import org.scalatest.matchers.should.Matchers
import org.scalatest.wordspec.AnyWordSpecLike
diff --git a/persistence-tck/src/main/scala/org/apache/pekko/persistence/japi/journal/JavaJournalPerfSpec.scala b/persistence-tck/src/main/scala/org/apache/pekko/persistence/japi/journal/JavaJournalPerfSpec.scala
index 1826a26699c..32c7ce7d7cc 100644
--- a/persistence-tck/src/main/scala/org/apache/pekko/persistence/japi/journal/JavaJournalPerfSpec.scala
+++ b/persistence-tck/src/main/scala/org/apache/pekko/persistence/japi/journal/JavaJournalPerfSpec.scala
@@ -13,7 +13,7 @@
package org.apache.pekko.persistence.japi.journal
-import com.typesafe.config.Config
+import org.ekrich.config.Config
import org.scalactic.source.Position
import org.scalatest.Informer
diff --git a/persistence-tck/src/main/scala/org/apache/pekko/persistence/japi/journal/JavaJournalSpec.scala b/persistence-tck/src/main/scala/org/apache/pekko/persistence/japi/journal/JavaJournalSpec.scala
index 35a0c7b02db..a84244d5dcb 100644
--- a/persistence-tck/src/main/scala/org/apache/pekko/persistence/japi/journal/JavaJournalSpec.scala
+++ b/persistence-tck/src/main/scala/org/apache/pekko/persistence/japi/journal/JavaJournalSpec.scala
@@ -15,7 +15,7 @@ package org.apache.pekko.persistence.japi.journal
import scala.collection.immutable
-import com.typesafe.config.Config
+import org.ekrich.config.Config
import org.apache.pekko
import pekko.persistence.CapabilityFlag
import pekko.persistence.journal.JournalSpec
diff --git a/persistence-tck/src/main/scala/org/apache/pekko/persistence/japi/snapshot/JavaSnapshotStoreSpec.scala b/persistence-tck/src/main/scala/org/apache/pekko/persistence/japi/snapshot/JavaSnapshotStoreSpec.scala
index 5ba0d1c1e8d..4063d340a5a 100644
--- a/persistence-tck/src/main/scala/org/apache/pekko/persistence/japi/snapshot/JavaSnapshotStoreSpec.scala
+++ b/persistence-tck/src/main/scala/org/apache/pekko/persistence/japi/snapshot/JavaSnapshotStoreSpec.scala
@@ -15,7 +15,7 @@ package org.apache.pekko.persistence.japi.snapshot
import scala.collection.immutable
-import com.typesafe.config.Config
+import org.ekrich.config.Config
import org.apache.pekko
import pekko.persistence.CapabilityFlag
import pekko.persistence.snapshot.SnapshotStoreSpec
diff --git a/persistence-tck/src/main/scala/org/apache/pekko/persistence/journal/JournalPerfSpec.scala b/persistence-tck/src/main/scala/org/apache/pekko/persistence/journal/JournalPerfSpec.scala
index e72b540ccb7..a8cdea0b6a6 100644
--- a/persistence-tck/src/main/scala/org/apache/pekko/persistence/journal/JournalPerfSpec.scala
+++ b/persistence-tck/src/main/scala/org/apache/pekko/persistence/journal/JournalPerfSpec.scala
@@ -18,8 +18,8 @@ import java.nio.charset.StandardCharsets
import scala.collection.immutable
import scala.concurrent.duration._
-import com.typesafe.config.Config
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.Config
+import org.ekrich.config.ConfigFactory
import org.apache.pekko
import pekko.actor.ActorLogging
diff --git a/persistence-tck/src/main/scala/org/apache/pekko/persistence/journal/JournalSpec.scala b/persistence-tck/src/main/scala/org/apache/pekko/persistence/journal/JournalSpec.scala
index dd6e216b317..97c4f0bea82 100644
--- a/persistence-tck/src/main/scala/org/apache/pekko/persistence/journal/JournalSpec.scala
+++ b/persistence-tck/src/main/scala/org/apache/pekko/persistence/journal/JournalSpec.scala
@@ -15,7 +15,7 @@ package org.apache.pekko.persistence.journal
import scala.concurrent.duration._
-import com.typesafe.config._
+import org.ekrich.config._
import org.apache.pekko
import pekko.actor._
diff --git a/persistence-tck/src/main/scala/org/apache/pekko/persistence/snapshot/SnapshotStoreSpec.scala b/persistence-tck/src/main/scala/org/apache/pekko/persistence/snapshot/SnapshotStoreSpec.scala
index 9f985ee505e..6277181fd0e 100644
--- a/persistence-tck/src/main/scala/org/apache/pekko/persistence/snapshot/SnapshotStoreSpec.scala
+++ b/persistence-tck/src/main/scala/org/apache/pekko/persistence/snapshot/SnapshotStoreSpec.scala
@@ -15,8 +15,8 @@ package org.apache.pekko.persistence.snapshot
import scala.collection.immutable.Seq
-import com.typesafe.config.Config
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.Config
+import org.ekrich.config.ConfigFactory
import org.apache.pekko
import pekko.actor._
diff --git a/persistence-tck/src/test/scala/org/apache/pekko/persistence/japi/JavaJournalSpecSpec.scala b/persistence-tck/src/test/scala/org/apache/pekko/persistence/japi/JavaJournalSpecSpec.scala
index 6917d3b9758..c6bb3c9b2c5 100644
--- a/persistence-tck/src/test/scala/org/apache/pekko/persistence/japi/JavaJournalSpecSpec.scala
+++ b/persistence-tck/src/test/scala/org/apache/pekko/persistence/japi/JavaJournalSpecSpec.scala
@@ -13,7 +13,7 @@
package org.apache.pekko.persistence.japi
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.scalatest.DoNotDiscover
import org.apache.pekko.persistence.japi.journal.JavaJournalSpec
diff --git a/persistence-tck/src/test/scala/org/apache/pekko/persistence/snapshot/local/LocalSnapshotStoreSpec.scala b/persistence-tck/src/test/scala/org/apache/pekko/persistence/snapshot/local/LocalSnapshotStoreSpec.scala
index c3e2b96dece..53d58564bb0 100644
--- a/persistence-tck/src/test/scala/org/apache/pekko/persistence/snapshot/local/LocalSnapshotStoreSpec.scala
+++ b/persistence-tck/src/test/scala/org/apache/pekko/persistence/snapshot/local/LocalSnapshotStoreSpec.scala
@@ -13,7 +13,7 @@
package org.apache.pekko.persistence.snapshot.local
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.apache.pekko
import pekko.persistence.CapabilityFlag
diff --git a/persistence-testkit/src/main/scala/org/apache/pekko/persistence/testkit/PersistenceTestKitPlugin.scala b/persistence-testkit/src/main/scala/org/apache/pekko/persistence/testkit/PersistenceTestKitPlugin.scala
index b7cd867871b..d23bcd729bd 100644
--- a/persistence-testkit/src/main/scala/org/apache/pekko/persistence/testkit/PersistenceTestKitPlugin.scala
+++ b/persistence-testkit/src/main/scala/org/apache/pekko/persistence/testkit/PersistenceTestKitPlugin.scala
@@ -19,7 +19,7 @@ import scala.collection.immutable
import scala.concurrent.Future
import scala.util.Try
-import com.typesafe.config.{ Config, ConfigFactory }
+import org.ekrich.config.{ Config, ConfigFactory }
import pekko.annotation.InternalApi
import pekko.persistence._
diff --git a/persistence-testkit/src/main/scala/org/apache/pekko/persistence/testkit/javadsl/EventSourcedBehaviorTestKit.scala b/persistence-testkit/src/main/scala/org/apache/pekko/persistence/testkit/javadsl/EventSourcedBehaviorTestKit.scala
index e42d3b68d7a..f39ceb697c8 100644
--- a/persistence-testkit/src/main/scala/org/apache/pekko/persistence/testkit/javadsl/EventSourcedBehaviorTestKit.scala
+++ b/persistence-testkit/src/main/scala/org/apache/pekko/persistence/testkit/javadsl/EventSourcedBehaviorTestKit.scala
@@ -18,7 +18,7 @@ import java.util.{ List => JList }
import java.util.function.{ Function => JFunction }
import scala.reflect.ClassTag
-import com.typesafe.config.Config
+import org.ekrich.config.Config
import org.apache.pekko
import pekko.actor.typed.ActorRef
import pekko.actor.typed.ActorSystem
diff --git a/persistence-testkit/src/main/scala/org/apache/pekko/persistence/testkit/query/PersistenceTestKitReadJournalProvider.scala b/persistence-testkit/src/main/scala/org/apache/pekko/persistence/testkit/query/PersistenceTestKitReadJournalProvider.scala
index 74a12af037f..92becc31a8c 100644
--- a/persistence-testkit/src/main/scala/org/apache/pekko/persistence/testkit/query/PersistenceTestKitReadJournalProvider.scala
+++ b/persistence-testkit/src/main/scala/org/apache/pekko/persistence/testkit/query/PersistenceTestKitReadJournalProvider.scala
@@ -15,7 +15,7 @@ package org.apache.pekko.persistence.testkit.query
import org.apache.pekko
import pekko.actor.ExtendedActorSystem
import pekko.persistence.query.ReadJournalProvider
-import com.typesafe.config.Config
+import org.ekrich.config.Config
class PersistenceTestKitReadJournalProvider(system: ExtendedActorSystem, config: Config, configPath: String)
extends ReadJournalProvider {
diff --git a/persistence-testkit/src/main/scala/org/apache/pekko/persistence/testkit/query/scaladsl/PersistenceTestKitReadJournal.scala b/persistence-testkit/src/main/scala/org/apache/pekko/persistence/testkit/query/scaladsl/PersistenceTestKitReadJournal.scala
index 92fb8f083e9..aca55ff9d8b 100644
--- a/persistence-testkit/src/main/scala/org/apache/pekko/persistence/testkit/query/scaladsl/PersistenceTestKitReadJournal.scala
+++ b/persistence-testkit/src/main/scala/org/apache/pekko/persistence/testkit/query/scaladsl/PersistenceTestKitReadJournal.scala
@@ -31,7 +31,7 @@ import pekko.persistence.testkit.internal.InMemStorageExtension
import pekko.persistence.testkit.query.internal.EventsByPersistenceIdStage
import pekko.stream.scaladsl.Source
import pekko.util.unused
-import com.typesafe.config.Config
+import org.ekrich.config.Config
import org.slf4j.LoggerFactory
import pekko.persistence.Persistence
import pekko.persistence.query.typed
diff --git a/persistence-testkit/src/main/scala/org/apache/pekko/persistence/testkit/scaladsl/EventSourcedBehaviorTestKit.scala b/persistence-testkit/src/main/scala/org/apache/pekko/persistence/testkit/scaladsl/EventSourcedBehaviorTestKit.scala
index 4e73dff87df..a4318f5925f 100644
--- a/persistence-testkit/src/main/scala/org/apache/pekko/persistence/testkit/scaladsl/EventSourcedBehaviorTestKit.scala
+++ b/persistence-testkit/src/main/scala/org/apache/pekko/persistence/testkit/scaladsl/EventSourcedBehaviorTestKit.scala
@@ -15,8 +15,8 @@ package org.apache.pekko.persistence.testkit.scaladsl
import scala.collection.immutable
import scala.reflect.ClassTag
-import com.typesafe.config.Config
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.Config
+import org.ekrich.config.ConfigFactory
import org.apache.pekko
import pekko.actor.testkit.typed.scaladsl.ActorTestKit
import pekko.actor.typed.ActorRef
diff --git a/persistence-testkit/src/main/scala/org/apache/pekko/persistence/testkit/scaladsl/PersistenceTestKit.scala b/persistence-testkit/src/main/scala/org/apache/pekko/persistence/testkit/scaladsl/PersistenceTestKit.scala
index 51aff3d7576..2b9b8728c6a 100644
--- a/persistence-testkit/src/main/scala/org/apache/pekko/persistence/testkit/scaladsl/PersistenceTestKit.scala
+++ b/persistence-testkit/src/main/scala/org/apache/pekko/persistence/testkit/scaladsl/PersistenceTestKit.scala
@@ -16,7 +16,7 @@ package org.apache.pekko.persistence.testkit.scaladsl
import scala.collection.immutable
import scala.concurrent.duration.FiniteDuration
import scala.util.Try
-import com.typesafe.config.Config
+import org.ekrich.config.Config
import org.apache.pekko
import pekko.actor.ActorSystem
import pekko.actor.ClassicActorSystemProvider
diff --git a/persistence-testkit/src/test/scala/org/apache/pekko/persistence/testkit/CommonUtils.scala b/persistence-testkit/src/test/scala/org/apache/pekko/persistence/testkit/CommonUtils.scala
index 7be70a96f35..1a734e80272 100644
--- a/persistence-testkit/src/test/scala/org/apache/pekko/persistence/testkit/CommonUtils.scala
+++ b/persistence-testkit/src/test/scala/org/apache/pekko/persistence/testkit/CommonUtils.scala
@@ -15,7 +15,7 @@ package org.apache.pekko.persistence.testkit
import java.util.UUID
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.scalatest.wordspec.AnyWordSpecLike
import org.apache.pekko
diff --git a/persistence-testkit/src/test/scala/org/apache/pekko/persistence/testkit/query/EventsByPersistenceIdSpec.scala b/persistence-testkit/src/test/scala/org/apache/pekko/persistence/testkit/query/EventsByPersistenceIdSpec.scala
index bf2eb166f35..9e86151efc1 100644
--- a/persistence-testkit/src/test/scala/org/apache/pekko/persistence/testkit/query/EventsByPersistenceIdSpec.scala
+++ b/persistence-testkit/src/test/scala/org/apache/pekko/persistence/testkit/query/EventsByPersistenceIdSpec.scala
@@ -23,7 +23,7 @@ import pekko.persistence.testkit.query.scaladsl.PersistenceTestKitReadJournal
import pekko.persistence.typed.PersistenceId
import pekko.persistence.typed.scaladsl.{ Effect, EventSourcedBehavior }
import pekko.stream.testkit.scaladsl.TestSink
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.scalatest.wordspec.AnyWordSpecLike
import scala.concurrent.duration._
diff --git a/persistence-testkit/src/test/scala/org/apache/pekko/persistence/testkit/query/EventsBySliceSpec.scala b/persistence-testkit/src/test/scala/org/apache/pekko/persistence/testkit/query/EventsBySliceSpec.scala
index 9141a9acfff..c09bfd97cf5 100644
--- a/persistence-testkit/src/test/scala/org/apache/pekko/persistence/testkit/query/EventsBySliceSpec.scala
+++ b/persistence-testkit/src/test/scala/org/apache/pekko/persistence/testkit/query/EventsBySliceSpec.scala
@@ -17,7 +17,7 @@
package org.apache.pekko.persistence.testkit.query
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.apache.pekko
import pekko.Done
import pekko.actor.testkit.typed.scaladsl.LogCapturing
diff --git a/persistence-testkit/src/test/scala/org/apache/pekko/persistence/testkit/query/EventsByTagSpec.scala b/persistence-testkit/src/test/scala/org/apache/pekko/persistence/testkit/query/EventsByTagSpec.scala
index 3eb63431c0c..32d14c273e6 100644
--- a/persistence-testkit/src/test/scala/org/apache/pekko/persistence/testkit/query/EventsByTagSpec.scala
+++ b/persistence-testkit/src/test/scala/org/apache/pekko/persistence/testkit/query/EventsByTagSpec.scala
@@ -17,7 +17,7 @@
package org.apache.pekko.persistence.testkit.query
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.apache.pekko
import pekko.Done
import pekko.actor.testkit.typed.scaladsl.LogCapturing
diff --git a/persistence-testkit/src/test/scala/org/apache/pekko/persistence/testkit/scaladsl/EventSourcedBehaviorNoSnapshotTestKitSpec.scala b/persistence-testkit/src/test/scala/org/apache/pekko/persistence/testkit/scaladsl/EventSourcedBehaviorNoSnapshotTestKitSpec.scala
index 716658a09ad..fd63184cab1 100644
--- a/persistence-testkit/src/test/scala/org/apache/pekko/persistence/testkit/scaladsl/EventSourcedBehaviorNoSnapshotTestKitSpec.scala
+++ b/persistence-testkit/src/test/scala/org/apache/pekko/persistence/testkit/scaladsl/EventSourcedBehaviorNoSnapshotTestKitSpec.scala
@@ -19,7 +19,7 @@ import pekko.actor.testkit.typed.scaladsl.ScalaTestWithActorTestKit
import pekko.persistence.testkit.PersistenceTestKitPlugin
import pekko.persistence.testkit.scaladsl.EventSourcedBehaviorTestKitSpec.TestCounter
import pekko.persistence.typed.PersistenceId
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.scalatest.wordspec.AnyWordSpecLike
class EventSourcedBehaviorNoSnapshotTestKitSpec
diff --git a/persistence-testkit/src/test/scala/org/apache/pekko/persistence/testkit/scaladsl/MultipleJournalsSpec.scala b/persistence-testkit/src/test/scala/org/apache/pekko/persistence/testkit/scaladsl/MultipleJournalsSpec.scala
index fad11915280..52717dfa730 100644
--- a/persistence-testkit/src/test/scala/org/apache/pekko/persistence/testkit/scaladsl/MultipleJournalsSpec.scala
+++ b/persistence-testkit/src/test/scala/org/apache/pekko/persistence/testkit/scaladsl/MultipleJournalsSpec.scala
@@ -26,7 +26,7 @@ import pekko.persistence.typed.PersistenceId
import pekko.persistence.typed.scaladsl.Effect
import pekko.persistence.typed.scaladsl.EventSourcedBehavior
import pekko.stream.scaladsl.Sink
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.scalatest.wordspec.AnyWordSpecLike
object MultipleJournalsSpec {
diff --git a/persistence-testkit/src/test/scala/org/apache/pekko/persistence/testkit/scaladsl/RuntimeJournalsSpec.scala b/persistence-testkit/src/test/scala/org/apache/pekko/persistence/testkit/scaladsl/RuntimeJournalsSpec.scala
index 644df55d07f..47cebf44688 100644
--- a/persistence-testkit/src/test/scala/org/apache/pekko/persistence/testkit/scaladsl/RuntimeJournalsSpec.scala
+++ b/persistence-testkit/src/test/scala/org/apache/pekko/persistence/testkit/scaladsl/RuntimeJournalsSpec.scala
@@ -17,7 +17,7 @@
package org.apache.pekko.persistence.testkit.scaladsl
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.apache.pekko
import pekko.Done
import pekko.actor.testkit.typed.scaladsl.LogCapturing
diff --git a/persistence-testkit/src/test/scala/org/apache/pekko/persistence/testkit/state/scaladsl/PersistenceTestKitDurableStateStoreSpec.scala b/persistence-testkit/src/test/scala/org/apache/pekko/persistence/testkit/state/scaladsl/PersistenceTestKitDurableStateStoreSpec.scala
index faf69d35536..1c4f291d13b 100644
--- a/persistence-testkit/src/test/scala/org/apache/pekko/persistence/testkit/state/scaladsl/PersistenceTestKitDurableStateStoreSpec.scala
+++ b/persistence-testkit/src/test/scala/org/apache/pekko/persistence/testkit/state/scaladsl/PersistenceTestKitDurableStateStoreSpec.scala
@@ -24,7 +24,7 @@ import pekko.persistence.testkit.PersistenceTestKitDurableStateStorePlugin
import pekko.stream.scaladsl.Sink
import pekko.stream.testkit.scaladsl.TestSink
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.scalatest.wordspec.AnyWordSpecLike
object PersistenceTestKitDurableStateStoreSpec {
diff --git a/persistence-typed-tests/src/test/java/org/apache/pekko/persistence/typed/ReplicatedEventSourcingTest.java b/persistence-typed-tests/src/test/java/org/apache/pekko/persistence/typed/ReplicatedEventSourcingTest.java
index eed41e9289a..7b0e070c6c7 100644
--- a/persistence-typed-tests/src/test/java/org/apache/pekko/persistence/typed/ReplicatedEventSourcingTest.java
+++ b/persistence-typed-tests/src/test/java/org/apache/pekko/persistence/typed/ReplicatedEventSourcingTest.java
@@ -16,7 +16,6 @@
import static org.apache.pekko.Done.done;
import static org.junit.Assert.assertEquals;
-import com.typesafe.config.ConfigFactory;
import java.util.*;
import org.apache.pekko.Done;
import org.apache.pekko.actor.testkit.typed.javadsl.LogCapturing;
@@ -27,6 +26,7 @@
import org.apache.pekko.persistence.testkit.PersistenceTestKitPlugin;
import org.apache.pekko.persistence.testkit.query.javadsl.PersistenceTestKitReadJournal;
import org.apache.pekko.persistence.typed.javadsl.*;
+import org.ekrich.config.ConfigFactory;
import org.junit.ClassRule;
import org.junit.Rule;
import org.junit.Test;
diff --git a/persistence-typed-tests/src/test/java/org/apache/pekko/persistence/typed/javadsl/EventSourcedActorFailureTest.java b/persistence-typed-tests/src/test/java/org/apache/pekko/persistence/typed/javadsl/EventSourcedActorFailureTest.java
index cfe79209f50..0acc7f1f10c 100644
--- a/persistence-typed-tests/src/test/java/org/apache/pekko/persistence/typed/javadsl/EventSourcedActorFailureTest.java
+++ b/persistence-typed-tests/src/test/java/org/apache/pekko/persistence/typed/javadsl/EventSourcedActorFailureTest.java
@@ -15,8 +15,6 @@
import static org.apache.pekko.persistence.typed.scaladsl.EventSourcedBehaviorFailureSpec.conf;
-import com.typesafe.config.Config;
-import com.typesafe.config.ConfigFactory;
import java.time.Duration;
import org.apache.pekko.actor.testkit.typed.TestException;
import org.apache.pekko.actor.testkit.typed.javadsl.LogCapturing;
@@ -28,6 +26,8 @@
import org.apache.pekko.persistence.typed.PersistenceId;
import org.apache.pekko.persistence.typed.RecoveryCompleted;
import org.apache.pekko.persistence.typed.RecoveryFailed;
+import org.ekrich.config.Config;
+import org.ekrich.config.ConfigFactory;
import org.junit.ClassRule;
import org.junit.Rule;
import org.junit.Test;
diff --git a/persistence-typed-tests/src/test/java/org/apache/pekko/persistence/typed/javadsl/EventSourcedBehaviorJavaDslTest.java b/persistence-typed-tests/src/test/java/org/apache/pekko/persistence/typed/javadsl/EventSourcedBehaviorJavaDslTest.java
index c8080e89461..0bfc9709d13 100644
--- a/persistence-typed-tests/src/test/java/org/apache/pekko/persistence/typed/javadsl/EventSourcedBehaviorJavaDslTest.java
+++ b/persistence-typed-tests/src/test/java/org/apache/pekko/persistence/typed/javadsl/EventSourcedBehaviorJavaDslTest.java
@@ -21,7 +21,6 @@
import com.fasterxml.jackson.annotation.JsonSubTypes;
import com.fasterxml.jackson.annotation.JsonTypeInfo;
import com.google.common.collect.Sets;
-import com.typesafe.config.ConfigFactory;
import java.time.Duration;
import java.util.*;
import org.apache.pekko.Done;
@@ -44,6 +43,7 @@
import org.apache.pekko.persistence.typed.*;
import org.apache.pekko.serialization.jackson.CborSerializable;
import org.apache.pekko.stream.javadsl.Sink;
+import org.ekrich.config.ConfigFactory;
import org.junit.ClassRule;
import org.junit.Rule;
import org.junit.Test;
diff --git a/persistence-typed-tests/src/test/scala/org/apache/pekko/persistence/typed/EventSourcedBehaviorLoggingSpec.scala b/persistence-typed-tests/src/test/scala/org/apache/pekko/persistence/typed/EventSourcedBehaviorLoggingSpec.scala
index 8e646e04ff3..0c9230c62e0 100644
--- a/persistence-typed-tests/src/test/scala/org/apache/pekko/persistence/typed/EventSourcedBehaviorLoggingSpec.scala
+++ b/persistence-typed-tests/src/test/scala/org/apache/pekko/persistence/typed/EventSourcedBehaviorLoggingSpec.scala
@@ -25,7 +25,7 @@ import pekko.persistence.typed.EventSourcedBehaviorLoggingSpec.ChattyEventSourci
import pekko.persistence.typed.scaladsl.Effect
import pekko.persistence.typed.scaladsl.EventSourcedBehavior
import pekko.serialization.jackson.CborSerializable
-import com.typesafe.config.{ Config, ConfigFactory }
+import org.ekrich.config.{ Config, ConfigFactory }
import org.scalatest.wordspec.AnyWordSpecLike
import pekko.Done
diff --git a/persistence-typed-tests/src/test/scala/org/apache/pekko/persistence/typed/MultiJournalReplicationSpec.scala b/persistence-typed-tests/src/test/scala/org/apache/pekko/persistence/typed/MultiJournalReplicationSpec.scala
index e0150b6bfa0..6b813784047 100644
--- a/persistence-typed-tests/src/test/scala/org/apache/pekko/persistence/typed/MultiJournalReplicationSpec.scala
+++ b/persistence-typed-tests/src/test/scala/org/apache/pekko/persistence/typed/MultiJournalReplicationSpec.scala
@@ -28,8 +28,8 @@ import pekko.persistence.typed.scaladsl.ReplicatedEventSourcing
import pekko.persistence.typed.scaladsl.Effect
import pekko.persistence.typed.scaladsl.EventSourcedBehavior
import pekko.stream.scaladsl.Sink
-import com.typesafe.config.Config
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.Config
+import org.ekrich.config.ConfigFactory
import org.scalatest.concurrent.Eventually
import org.scalatest.wordspec.AnyWordSpecLike
diff --git a/persistence-typed-tests/src/test/scala/org/apache/pekko/persistence/typed/scaladsl/EventSourcedBehaviorFailureSpec.scala b/persistence-typed-tests/src/test/scala/org/apache/pekko/persistence/typed/scaladsl/EventSourcedBehaviorFailureSpec.scala
index bba7de2f3ec..3bfadacbb6b 100644
--- a/persistence-typed-tests/src/test/scala/org/apache/pekko/persistence/typed/scaladsl/EventSourcedBehaviorFailureSpec.scala
+++ b/persistence-typed-tests/src/test/scala/org/apache/pekko/persistence/typed/scaladsl/EventSourcedBehaviorFailureSpec.scala
@@ -31,8 +31,8 @@ import pekko.persistence.typed.PersistenceId
import pekko.persistence.typed.RecoveryCompleted
import pekko.persistence.typed.RecoveryFailed
import pekko.persistence.typed.internal.JournalFailureException
-import com.typesafe.config.Config
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.Config
+import org.ekrich.config.ConfigFactory
import org.scalatest.wordspec.AnyWordSpecLike
import scala.collection.immutable
diff --git a/persistence-typed-tests/src/test/scala/org/apache/pekko/persistence/typed/scaladsl/EventSourcedBehaviorInterceptorSpec.scala b/persistence-typed-tests/src/test/scala/org/apache/pekko/persistence/typed/scaladsl/EventSourcedBehaviorInterceptorSpec.scala
index b97314721b1..2d547941d3b 100644
--- a/persistence-typed-tests/src/test/scala/org/apache/pekko/persistence/typed/scaladsl/EventSourcedBehaviorInterceptorSpec.scala
+++ b/persistence-typed-tests/src/test/scala/org/apache/pekko/persistence/typed/scaladsl/EventSourcedBehaviorInterceptorSpec.scala
@@ -22,8 +22,8 @@ import pekko.actor.typed.TypedActorContext
import pekko.actor.typed.scaladsl.Behaviors
import pekko.persistence.testkit.PersistenceTestKitPlugin
import pekko.persistence.typed.PersistenceId
-import com.typesafe.config.Config
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.Config
+import org.ekrich.config.ConfigFactory
import org.scalatest.wordspec.AnyWordSpecLike
import java.util.concurrent.atomic.AtomicInteger
diff --git a/persistence-typed-tests/src/test/scala/org/apache/pekko/persistence/typed/scaladsl/EventSourcedBehaviorRecoveryTimeoutSpec.scala b/persistence-typed-tests/src/test/scala/org/apache/pekko/persistence/typed/scaladsl/EventSourcedBehaviorRecoveryTimeoutSpec.scala
index 10a611d4cc4..872e95f421b 100644
--- a/persistence-typed-tests/src/test/scala/org/apache/pekko/persistence/typed/scaladsl/EventSourcedBehaviorRecoveryTimeoutSpec.scala
+++ b/persistence-typed-tests/src/test/scala/org/apache/pekko/persistence/typed/scaladsl/EventSourcedBehaviorRecoveryTimeoutSpec.scala
@@ -23,8 +23,8 @@ import pekko.persistence.journal.SteppingInmemJournal
import pekko.persistence.typed.PersistenceId
import pekko.persistence.typed.RecoveryFailed
import pekko.persistence.typed.internal.JournalFailureException
-import com.typesafe.config.Config
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.Config
+import org.ekrich.config.ConfigFactory
import org.scalatest.wordspec.AnyWordSpecLike
import java.util.concurrent.atomic.AtomicInteger
diff --git a/persistence-typed-tests/src/test/scala/org/apache/pekko/persistence/typed/scaladsl/EventSourcedBehaviorSignalSpec.scala b/persistence-typed-tests/src/test/scala/org/apache/pekko/persistence/typed/scaladsl/EventSourcedBehaviorSignalSpec.scala
index d5176e5fd00..c8768be6d74 100644
--- a/persistence-typed-tests/src/test/scala/org/apache/pekko/persistence/typed/scaladsl/EventSourcedBehaviorSignalSpec.scala
+++ b/persistence-typed-tests/src/test/scala/org/apache/pekko/persistence/typed/scaladsl/EventSourcedBehaviorSignalSpec.scala
@@ -29,8 +29,8 @@ import pekko.persistence.typed.JournalPersistRejected
import pekko.persistence.typed.PersistenceId
import pekko.persistence.typed.RecoveryCompleted
import pekko.serialization.jackson.CborSerializable
-import com.typesafe.config.Config
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.Config
+import org.ekrich.config.ConfigFactory
import org.scalatest.wordspec.AnyWordSpecLike
import scala.collection.immutable
diff --git a/persistence-typed-tests/src/test/scala/org/apache/pekko/persistence/typed/scaladsl/EventSourcedBehaviorSpec.scala b/persistence-typed-tests/src/test/scala/org/apache/pekko/persistence/typed/scaladsl/EventSourcedBehaviorSpec.scala
index a03fb972842..04ee994f7c4 100644
--- a/persistence-typed-tests/src/test/scala/org/apache/pekko/persistence/typed/scaladsl/EventSourcedBehaviorSpec.scala
+++ b/persistence-typed-tests/src/test/scala/org/apache/pekko/persistence/typed/scaladsl/EventSourcedBehaviorSpec.scala
@@ -44,8 +44,8 @@ import pekko.persistence.{ SnapshotMetadata => ClassicSnapshotMetadata }
import pekko.persistence.{ SnapshotSelectionCriteria => ClassicSnapshotSelectionCriteria }
import pekko.serialization.jackson.CborSerializable
import pekko.stream.scaladsl.Sink
-import com.typesafe.config.Config
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.Config
+import org.ekrich.config.ConfigFactory
import org.scalatest.wordspec.AnyWordSpecLike
import java.util.UUID
diff --git a/persistence-typed-tests/src/test/scala/org/apache/pekko/persistence/typed/scaladsl/EventSourcedBehaviorStashSpec.scala b/persistence-typed-tests/src/test/scala/org/apache/pekko/persistence/typed/scaladsl/EventSourcedBehaviorStashSpec.scala
index 16883b014d5..d759527b7b7 100644
--- a/persistence-typed-tests/src/test/scala/org/apache/pekko/persistence/typed/scaladsl/EventSourcedBehaviorStashSpec.scala
+++ b/persistence-typed-tests/src/test/scala/org/apache/pekko/persistence/typed/scaladsl/EventSourcedBehaviorStashSpec.scala
@@ -30,8 +30,8 @@ import pekko.actor.typed.scaladsl.Behaviors
import pekko.actor.typed.scaladsl.adapter._
import pekko.persistence.typed.PersistenceId
import pekko.persistence.typed.RecoveryCompleted
-import com.typesafe.config.Config
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.Config
+import org.ekrich.config.ConfigFactory
import org.scalatest.wordspec.AnyWordSpecLike
import java.util.concurrent.CountDownLatch
diff --git a/persistence-typed-tests/src/test/scala/org/apache/pekko/persistence/typed/scaladsl/EventSourcedEventAdapterSpec.scala b/persistence-typed-tests/src/test/scala/org/apache/pekko/persistence/typed/scaladsl/EventSourcedEventAdapterSpec.scala
index 0c8ec10a50c..cac8df0a256 100644
--- a/persistence-typed-tests/src/test/scala/org/apache/pekko/persistence/typed/scaladsl/EventSourcedEventAdapterSpec.scala
+++ b/persistence-typed-tests/src/test/scala/org/apache/pekko/persistence/typed/scaladsl/EventSourcedEventAdapterSpec.scala
@@ -30,7 +30,7 @@ import pekko.persistence.typed.PersistenceId
import pekko.serialization.jackson.CborSerializable
import pekko.stream.scaladsl.Sink
import pekko.testkit.JavaSerializable
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.scalatest.wordspec.AnyWordSpecLike
import java.util.concurrent.atomic.AtomicInteger
diff --git a/persistence-typed-tests/src/test/scala/org/apache/pekko/persistence/typed/scaladsl/EventSourcedSequenceNumberSpec.scala b/persistence-typed-tests/src/test/scala/org/apache/pekko/persistence/typed/scaladsl/EventSourcedSequenceNumberSpec.scala
index 47262847532..b86f9414cfa 100644
--- a/persistence-typed-tests/src/test/scala/org/apache/pekko/persistence/typed/scaladsl/EventSourcedSequenceNumberSpec.scala
+++ b/persistence-typed-tests/src/test/scala/org/apache/pekko/persistence/typed/scaladsl/EventSourcedSequenceNumberSpec.scala
@@ -22,7 +22,7 @@ import pekko.actor.typed.ActorRef
import pekko.actor.typed.Behavior
import pekko.persistence.typed.PersistenceId
import pekko.persistence.typed.RecoveryCompleted
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.scalatest.wordspec.AnyWordSpecLike
object EventSourcedSequenceNumberSpec {
diff --git a/persistence-typed-tests/src/test/scala/org/apache/pekko/persistence/typed/scaladsl/EventSourcedStashOverflowSpec.scala b/persistence-typed-tests/src/test/scala/org/apache/pekko/persistence/typed/scaladsl/EventSourcedStashOverflowSpec.scala
index 34f15089e65..bf505890345 100644
--- a/persistence-typed-tests/src/test/scala/org/apache/pekko/persistence/typed/scaladsl/EventSourcedStashOverflowSpec.scala
+++ b/persistence-typed-tests/src/test/scala/org/apache/pekko/persistence/typed/scaladsl/EventSourcedStashOverflowSpec.scala
@@ -22,7 +22,7 @@ import pekko.actor.typed.Behavior
import pekko.actor.typed.scaladsl.adapter._
import pekko.persistence.journal.SteppingInmemJournal
import pekko.persistence.typed.PersistenceId
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.scalatest.wordspec.AnyWordSpecLike
import scala.concurrent.duration._
diff --git a/persistence-typed-tests/src/test/scala/org/apache/pekko/persistence/typed/scaladsl/NullEmptyStateSpec.scala b/persistence-typed-tests/src/test/scala/org/apache/pekko/persistence/typed/scaladsl/NullEmptyStateSpec.scala
index 4696f272a5e..ba1941f5038 100644
--- a/persistence-typed-tests/src/test/scala/org/apache/pekko/persistence/typed/scaladsl/NullEmptyStateSpec.scala
+++ b/persistence-typed-tests/src/test/scala/org/apache/pekko/persistence/typed/scaladsl/NullEmptyStateSpec.scala
@@ -20,7 +20,7 @@ import pekko.actor.typed.ActorRef
import pekko.actor.typed.Behavior
import pekko.persistence.typed.PersistenceId
import pekko.persistence.typed.RecoveryCompleted
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.scalatest.wordspec.AnyWordSpecLike
object NullEmptyStateSpec {
diff --git a/persistence-typed-tests/src/test/scala/org/apache/pekko/persistence/typed/scaladsl/PerformanceSpec.scala b/persistence-typed-tests/src/test/scala/org/apache/pekko/persistence/typed/scaladsl/PerformanceSpec.scala
index a8b181576fb..d2f310f7b6c 100644
--- a/persistence-typed-tests/src/test/scala/org/apache/pekko/persistence/typed/scaladsl/PerformanceSpec.scala
+++ b/persistence-typed-tests/src/test/scala/org/apache/pekko/persistence/typed/scaladsl/PerformanceSpec.scala
@@ -26,7 +26,7 @@ import pekko.persistence.testkit.PersistenceTestKitSnapshotPlugin
import pekko.persistence.typed.PersistenceId
import pekko.persistence.typed.RecoveryCompleted
import pekko.persistence.typed.scaladsl.EventSourcedBehavior.CommandHandler
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.scalatest.wordspec.AnyWordSpecLike
import java.util.UUID
diff --git a/persistence-typed-tests/src/test/scala/org/apache/pekko/persistence/typed/scaladsl/PrimitiveStateSpec.scala b/persistence-typed-tests/src/test/scala/org/apache/pekko/persistence/typed/scaladsl/PrimitiveStateSpec.scala
index 7f76ce277f5..eab24fec32c 100644
--- a/persistence-typed-tests/src/test/scala/org/apache/pekko/persistence/typed/scaladsl/PrimitiveStateSpec.scala
+++ b/persistence-typed-tests/src/test/scala/org/apache/pekko/persistence/typed/scaladsl/PrimitiveStateSpec.scala
@@ -19,7 +19,7 @@ import pekko.actor.typed.ActorRef
import pekko.actor.typed.Behavior
import pekko.persistence.typed.PersistenceId
import pekko.persistence.typed.RecoveryCompleted
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.scalatest.wordspec.AnyWordSpecLike
object PrimitiveStateSpec {
diff --git a/persistence-typed-tests/src/test/scala/org/apache/pekko/persistence/typed/scaladsl/SnapshotMutableStateSpec.scala b/persistence-typed-tests/src/test/scala/org/apache/pekko/persistence/typed/scaladsl/SnapshotMutableStateSpec.scala
index e152a2721d9..18380072d03 100644
--- a/persistence-typed-tests/src/test/scala/org/apache/pekko/persistence/typed/scaladsl/SnapshotMutableStateSpec.scala
+++ b/persistence-typed-tests/src/test/scala/org/apache/pekko/persistence/typed/scaladsl/SnapshotMutableStateSpec.scala
@@ -22,8 +22,8 @@ import pekko.persistence.typed.PersistenceId
import pekko.persistence.typed.SnapshotCompleted
import pekko.persistence.typed.SnapshotFailed
import pekko.serialization.jackson.CborSerializable
-import com.typesafe.config.Config
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.Config
+import org.ekrich.config.ConfigFactory
import org.scalatest.wordspec.AnyWordSpecLike
import java.util.concurrent.atomic.AtomicInteger
diff --git a/persistence-typed-tests/src/test/scala/org/apache/pekko/persistence/typed/scaladsl/SnapshotRecoveryWithEmptyJournalSpec.scala b/persistence-typed-tests/src/test/scala/org/apache/pekko/persistence/typed/scaladsl/SnapshotRecoveryWithEmptyJournalSpec.scala
index 6773be9edc4..4528c5f201b 100644
--- a/persistence-typed-tests/src/test/scala/org/apache/pekko/persistence/typed/scaladsl/SnapshotRecoveryWithEmptyJournalSpec.scala
+++ b/persistence-typed-tests/src/test/scala/org/apache/pekko/persistence/typed/scaladsl/SnapshotRecoveryWithEmptyJournalSpec.scala
@@ -24,8 +24,8 @@ import pekko.persistence.testkit.PersistenceTestKitPlugin
import pekko.persistence.typed.PersistenceId
import pekko.serialization.Serialization
import pekko.serialization.SerializationExtension
-import com.typesafe.config.Config
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.Config
+import org.ekrich.config.ConfigFactory
import org.apache.commons.io.FileUtils
import org.scalatest.wordspec.AnyWordSpecLike
diff --git a/persistence-typed-tests/src/test/scala/org/apache/pekko/persistence/typed/state/scaladsl/DurableStateBehaviorInterceptorSpec.scala b/persistence-typed-tests/src/test/scala/org/apache/pekko/persistence/typed/state/scaladsl/DurableStateBehaviorInterceptorSpec.scala
index 603f84bc785..abc28607cc0 100644
--- a/persistence-typed-tests/src/test/scala/org/apache/pekko/persistence/typed/state/scaladsl/DurableStateBehaviorInterceptorSpec.scala
+++ b/persistence-typed-tests/src/test/scala/org/apache/pekko/persistence/typed/state/scaladsl/DurableStateBehaviorInterceptorSpec.scala
@@ -21,8 +21,8 @@ import pekko.actor.typed.BehaviorInterceptor
import pekko.actor.typed.TypedActorContext
import pekko.actor.typed.scaladsl.Behaviors
import pekko.persistence.typed.PersistenceId
-import com.typesafe.config.Config
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.Config
+import org.ekrich.config.ConfigFactory
import org.scalatest.wordspec.AnyWordSpecLike
import java.util.concurrent.atomic.AtomicInteger
diff --git a/persistence-typed-tests/src/test/scala/org/apache/pekko/persistence/typed/state/scaladsl/DurableStateBehaviorReplySpec.scala b/persistence-typed-tests/src/test/scala/org/apache/pekko/persistence/typed/state/scaladsl/DurableStateBehaviorReplySpec.scala
index b8c9b0cfad7..444c8b9a7c3 100644
--- a/persistence-typed-tests/src/test/scala/org/apache/pekko/persistence/typed/state/scaladsl/DurableStateBehaviorReplySpec.scala
+++ b/persistence-typed-tests/src/test/scala/org/apache/pekko/persistence/typed/state/scaladsl/DurableStateBehaviorReplySpec.scala
@@ -15,8 +15,8 @@ package org.apache.pekko.persistence.typed.state.scaladsl
import java.util.concurrent.atomic.AtomicInteger
-import com.typesafe.config.Config
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.Config
+import org.ekrich.config.ConfigFactory
import org.scalatest.wordspec.AnyWordSpecLike
import org.apache.pekko
diff --git a/persistence-typed-tests/src/test/scala/org/apache/pekko/persistence/typed/state/scaladsl/DurableStateBehaviorStashOverflowSpec.scala b/persistence-typed-tests/src/test/scala/org/apache/pekko/persistence/typed/state/scaladsl/DurableStateBehaviorStashOverflowSpec.scala
index ada975be5bb..caec0b4df26 100644
--- a/persistence-typed-tests/src/test/scala/org/apache/pekko/persistence/typed/state/scaladsl/DurableStateBehaviorStashOverflowSpec.scala
+++ b/persistence-typed-tests/src/test/scala/org/apache/pekko/persistence/typed/state/scaladsl/DurableStateBehaviorStashOverflowSpec.scala
@@ -23,7 +23,7 @@ import pekko.persistence.state.DurableStateStoreProvider
import pekko.persistence.state.scaladsl.{ DurableStateStore, DurableStateUpdateStore, GetObjectResult }
import pekko.persistence.state.javadsl.{ DurableStateStore => JDurableStateStore }
import pekko.persistence.typed.PersistenceId
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.scalatest.wordspec.AnyWordSpecLike
import scala.concurrent.{ Future, Promise }
diff --git a/persistence-typed-tests/src/test/scala/org/apache/pekko/persistence/typed/state/scaladsl/DurableStateBehaviorTimersSpec.scala b/persistence-typed-tests/src/test/scala/org/apache/pekko/persistence/typed/state/scaladsl/DurableStateBehaviorTimersSpec.scala
index ddbd3bfb526..0635bc4fdf8 100644
--- a/persistence-typed-tests/src/test/scala/org/apache/pekko/persistence/typed/state/scaladsl/DurableStateBehaviorTimersSpec.scala
+++ b/persistence-typed-tests/src/test/scala/org/apache/pekko/persistence/typed/state/scaladsl/DurableStateBehaviorTimersSpec.scala
@@ -20,8 +20,8 @@ import pekko.actor.typed.Behavior
import pekko.actor.typed.scaladsl.Behaviors
import pekko.persistence.typed.PersistenceId
import org.scalatest.wordspec.AnyWordSpecLike
-import com.typesafe.config.Config
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.Config
+import org.ekrich.config.ConfigFactory
import java.util.concurrent.atomic.AtomicInteger
import scala.concurrent.duration._
diff --git a/persistence-typed-tests/src/test/scala/org/apache/pekko/persistence/typed/state/scaladsl/DurableStateRevisionSpec.scala b/persistence-typed-tests/src/test/scala/org/apache/pekko/persistence/typed/state/scaladsl/DurableStateRevisionSpec.scala
index b396e4537f4..01d0b022c42 100644
--- a/persistence-typed-tests/src/test/scala/org/apache/pekko/persistence/typed/state/scaladsl/DurableStateRevisionSpec.scala
+++ b/persistence-typed-tests/src/test/scala/org/apache/pekko/persistence/typed/state/scaladsl/DurableStateRevisionSpec.scala
@@ -13,8 +13,8 @@
package org.apache.pekko.persistence.typed.state.scaladsl
-import com.typesafe.config.Config
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.Config
+import org.ekrich.config.ConfigFactory
import org.scalatest.wordspec.AnyWordSpecLike
import org.apache.pekko
diff --git a/persistence-typed-tests/src/test/scala/org/apache/pekko/persistence/typed/state/scaladsl/NullEmptyStateSpec.scala b/persistence-typed-tests/src/test/scala/org/apache/pekko/persistence/typed/state/scaladsl/NullEmptyStateSpec.scala
index 1a61bc71ef3..1b5df01dc82 100644
--- a/persistence-typed-tests/src/test/scala/org/apache/pekko/persistence/typed/state/scaladsl/NullEmptyStateSpec.scala
+++ b/persistence-typed-tests/src/test/scala/org/apache/pekko/persistence/typed/state/scaladsl/NullEmptyStateSpec.scala
@@ -19,8 +19,8 @@ import pekko.actor.testkit.typed.scaladsl._
import pekko.actor.typed.ActorRef
import pekko.actor.typed.Behavior
import pekko.persistence.typed.PersistenceId
-import com.typesafe.config.Config
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.Config
+import org.ekrich.config.ConfigFactory
import org.scalatest.wordspec.AnyWordSpecLike
import pekko.persistence.testkit.PersistenceTestKitDurableStateStorePlugin
diff --git a/persistence-typed-tests/src/test/scala/org/apache/pekko/persistence/typed/state/scaladsl/PrimitiveStateSpec.scala b/persistence-typed-tests/src/test/scala/org/apache/pekko/persistence/typed/state/scaladsl/PrimitiveStateSpec.scala
index d8024102245..2d02ec19c8d 100644
--- a/persistence-typed-tests/src/test/scala/org/apache/pekko/persistence/typed/state/scaladsl/PrimitiveStateSpec.scala
+++ b/persistence-typed-tests/src/test/scala/org/apache/pekko/persistence/typed/state/scaladsl/PrimitiveStateSpec.scala
@@ -18,8 +18,8 @@ import pekko.actor.testkit.typed.scaladsl._
import pekko.actor.typed.ActorRef
import pekko.actor.typed.Behavior
import pekko.persistence.typed.PersistenceId
-import com.typesafe.config.Config
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.Config
+import org.ekrich.config.ConfigFactory
import org.scalatest.wordspec.AnyWordSpecLike
import pekko.persistence.testkit.PersistenceTestKitDurableStateStorePlugin
diff --git a/persistence-typed/src/main/mima-filters/2.0.x.backwards.excludes/replace-lightbend-config-with-sconfig.excludes b/persistence-typed/src/main/mima-filters/2.0.x.backwards.excludes/replace-lightbend-config-with-sconfig.excludes
new file mode 100644
index 00000000000..85039cfd011
--- /dev/null
+++ b/persistence-typed/src/main/mima-filters/2.0.x.backwards.excludes/replace-lightbend-config-with-sconfig.excludes
@@ -0,0 +1,20 @@
+# 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.
+
+# Replacing Lightbend Config (https://github.com/lightbend/config) with sconfig (https://github.com/ekrich/sconfig)
+ProblemFilters.exclude[IncompatibleMethTypeProblem]("org.apache.pekko.persistence.typed.delivery.EventSourcedProducerQueue#Settings.apply")
+ProblemFilters.exclude[IncompatibleMethTypeProblem]("org.apache.pekko.persistence.typed.delivery.EventSourcedProducerQueue#Settings.create")
diff --git a/persistence-typed/src/main/scala/org/apache/pekko/persistence/typed/delivery/EventSourcedProducerQueue.scala b/persistence-typed/src/main/scala/org/apache/pekko/persistence/typed/delivery/EventSourcedProducerQueue.scala
index 8af725db33c..4f408d7a1b3 100644
--- a/persistence-typed/src/main/scala/org/apache/pekko/persistence/typed/delivery/EventSourcedProducerQueue.scala
+++ b/persistence-typed/src/main/scala/org/apache/pekko/persistence/typed/delivery/EventSourcedProducerQueue.scala
@@ -17,7 +17,7 @@ import java.time.{ Duration => JavaDuration }
import scala.concurrent.duration._
-import com.typesafe.config.Config
+import org.ekrich.config.Config
import org.apache.pekko
import pekko.actor.typed.ActorSystem
diff --git a/persistence-typed/src/main/scala/org/apache/pekko/persistence/typed/internal/BehaviorSetup.scala b/persistence-typed/src/main/scala/org/apache/pekko/persistence/typed/internal/BehaviorSetup.scala
index 101c04e5898..a732171b4c8 100644
--- a/persistence-typed/src/main/scala/org/apache/pekko/persistence/typed/internal/BehaviorSetup.scala
+++ b/persistence-typed/src/main/scala/org/apache/pekko/persistence/typed/internal/BehaviorSetup.scala
@@ -16,7 +16,7 @@ package org.apache.pekko.persistence.typed.internal
import scala.concurrent.ExecutionContext
import scala.concurrent.duration.FiniteDuration
import scala.util.control.NonFatal
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.apache.pekko
import pekko.util.Helpers.ConfigOps
import pekko.actor.Cancellable
@@ -77,9 +77,9 @@ private[pekko] final class BehaviorSetup[C, E, S](
val persistence: Persistence = Persistence(context.system.toClassic)
val journal: ClassicActorRef = persistence
- .journalFor(settings.journalPluginId, settings.journalPluginConfig.getOrElse(ConfigFactory.empty))
+ .journalFor(settings.journalPluginId, settings.journalPluginConfig.getOrElse(ConfigFactory.empty()))
val snapshotStore: ClassicActorRef = persistence
- .snapshotStoreFor(settings.snapshotPluginId, settings.snapshotPluginConfig.getOrElse(ConfigFactory.empty))
+ .snapshotStoreFor(settings.snapshotPluginId, settings.snapshotPluginConfig.getOrElse(ConfigFactory.empty()))
val isSnapshotOptional: Boolean =
Persistence(context.system.classicSystem).configFor(snapshotStore).getBoolean("snapshot-is-optional")
@@ -112,7 +112,7 @@ private[pekko] final class BehaviorSetup[C, E, S](
private var recoveryTimer: OptionVal[Cancellable] = OptionVal.None
val recoveryEventTimeout: FiniteDuration = persistence
- .journalConfigFor(settings.journalPluginId, settings.journalPluginConfig.getOrElse(ConfigFactory.empty))
+ .journalConfigFor(settings.journalPluginId, settings.journalPluginConfig.getOrElse(ConfigFactory.empty()))
.getMillisDuration("recovery-event-timeout")
def startRecoveryTimer(snapshot: Boolean): Unit = {
diff --git a/persistence-typed/src/main/scala/org/apache/pekko/persistence/typed/internal/EventSourcedBehaviorImpl.scala b/persistence-typed/src/main/scala/org/apache/pekko/persistence/typed/internal/EventSourcedBehaviorImpl.scala
index 938fe5187b9..1633303e393 100644
--- a/persistence-typed/src/main/scala/org/apache/pekko/persistence/typed/internal/EventSourcedBehaviorImpl.scala
+++ b/persistence-typed/src/main/scala/org/apache/pekko/persistence/typed/internal/EventSourcedBehaviorImpl.scala
@@ -17,7 +17,7 @@ import java.util.Optional
import java.util.UUID
import java.util.concurrent.atomic.AtomicInteger
-import com.typesafe.config.Config
+import org.ekrich.config.Config
import org.apache.pekko
import pekko.actor.typed
import pekko.actor.typed.ActorRef
diff --git a/persistence-typed/src/main/scala/org/apache/pekko/persistence/typed/internal/EventSourcedSettings.scala b/persistence-typed/src/main/scala/org/apache/pekko/persistence/typed/internal/EventSourcedSettings.scala
index 6ab4dcf661f..ec7cb6e0c0d 100644
--- a/persistence-typed/src/main/scala/org/apache/pekko/persistence/typed/internal/EventSourcedSettings.scala
+++ b/persistence-typed/src/main/scala/org/apache/pekko/persistence/typed/internal/EventSourcedSettings.scala
@@ -13,7 +13,7 @@
package org.apache.pekko.persistence.typed.internal
-import com.typesafe.config.Config
+import org.ekrich.config.Config
import org.apache.pekko
import pekko.actor.typed.ActorSystem
diff --git a/persistence-typed/src/main/scala/org/apache/pekko/persistence/typed/javadsl/EventSourcedBehavior.scala b/persistence-typed/src/main/scala/org/apache/pekko/persistence/typed/javadsl/EventSourcedBehavior.scala
index d342589d989..a0282009c0d 100644
--- a/persistence-typed/src/main/scala/org/apache/pekko/persistence/typed/javadsl/EventSourcedBehavior.scala
+++ b/persistence-typed/src/main/scala/org/apache/pekko/persistence/typed/javadsl/EventSourcedBehavior.scala
@@ -16,7 +16,7 @@ package org.apache.pekko.persistence.typed.javadsl
import java.util.Collections
import java.util.Optional
-import com.typesafe.config.Config
+import org.ekrich.config.Config
import org.apache.pekko
import pekko.actor.typed
import pekko.actor.typed.BackoffSupervisorStrategy
diff --git a/persistence-typed/src/main/scala/org/apache/pekko/persistence/typed/scaladsl/EventSourcedBehavior.scala b/persistence-typed/src/main/scala/org/apache/pekko/persistence/typed/scaladsl/EventSourcedBehavior.scala
index 03ba7714d1b..ba3b62ba83e 100644
--- a/persistence-typed/src/main/scala/org/apache/pekko/persistence/typed/scaladsl/EventSourcedBehavior.scala
+++ b/persistence-typed/src/main/scala/org/apache/pekko/persistence/typed/scaladsl/EventSourcedBehavior.scala
@@ -13,7 +13,7 @@
package org.apache.pekko.persistence.typed.scaladsl
-import com.typesafe.config.Config
+import org.ekrich.config.Config
import org.apache.pekko
import pekko.actor.typed.BackoffSupervisorStrategy
import pekko.actor.typed.Behavior
diff --git a/persistence-typed/src/main/scala/org/apache/pekko/persistence/typed/state/internal/DurableStateSettings.scala b/persistence-typed/src/main/scala/org/apache/pekko/persistence/typed/state/internal/DurableStateSettings.scala
index 4d1d4727949..213c59e9aae 100644
--- a/persistence-typed/src/main/scala/org/apache/pekko/persistence/typed/state/internal/DurableStateSettings.scala
+++ b/persistence-typed/src/main/scala/org/apache/pekko/persistence/typed/state/internal/DurableStateSettings.scala
@@ -18,7 +18,7 @@ import java.util.concurrent.TimeUnit
import scala.concurrent.duration.FiniteDuration
import scala.concurrent.duration._
-import com.typesafe.config.Config
+import org.ekrich.config.Config
import org.apache.pekko
import pekko.actor.typed.ActorSystem
diff --git a/persistence-typed/src/test/java/org/apache/pekko/persistence/typed/javadsl/LoggerSourceTest.java b/persistence-typed/src/test/java/org/apache/pekko/persistence/typed/javadsl/LoggerSourceTest.java
index 85a62042d55..904a8674a6a 100644
--- a/persistence-typed/src/test/java/org/apache/pekko/persistence/typed/javadsl/LoggerSourceTest.java
+++ b/persistence-typed/src/test/java/org/apache/pekko/persistence/typed/javadsl/LoggerSourceTest.java
@@ -13,8 +13,6 @@
package org.apache.pekko.persistence.typed.javadsl;
-import com.typesafe.config.Config;
-import com.typesafe.config.ConfigFactory;
import java.util.HashMap;
import java.util.Map;
import java.util.concurrent.atomic.AtomicInteger;
@@ -28,6 +26,8 @@
import org.apache.pekko.actor.typed.javadsl.Behaviors;
import org.apache.pekko.persistence.typed.PersistenceId;
import org.apache.pekko.persistence.typed.RecoveryCompleted;
+import org.ekrich.config.Config;
+import org.ekrich.config.ConfigFactory;
import org.junit.ClassRule;
import org.junit.Rule;
import org.junit.Test;
diff --git a/persistence-typed/src/test/java/org/apache/pekko/persistence/typed/javadsl/NullEmptyStateTest.java b/persistence-typed/src/test/java/org/apache/pekko/persistence/typed/javadsl/NullEmptyStateTest.java
index 6e3fffdab10..8a82bb1eadc 100644
--- a/persistence-typed/src/test/java/org/apache/pekko/persistence/typed/javadsl/NullEmptyStateTest.java
+++ b/persistence-typed/src/test/java/org/apache/pekko/persistence/typed/javadsl/NullEmptyStateTest.java
@@ -13,8 +13,6 @@
package org.apache.pekko.persistence.typed.javadsl;
-import com.typesafe.config.Config;
-import com.typesafe.config.ConfigFactory;
import org.apache.pekko.actor.testkit.typed.javadsl.LogCapturing;
import org.apache.pekko.actor.testkit.typed.javadsl.TestKitJunitResource;
import org.apache.pekko.actor.testkit.typed.javadsl.TestProbe;
@@ -23,6 +21,8 @@
import org.apache.pekko.actor.typed.javadsl.Behaviors;
import org.apache.pekko.persistence.typed.PersistenceId;
import org.apache.pekko.persistence.typed.RecoveryCompleted;
+import org.ekrich.config.Config;
+import org.ekrich.config.ConfigFactory;
import org.junit.ClassRule;
import org.junit.Rule;
import org.junit.Test;
diff --git a/persistence-typed/src/test/java/org/apache/pekko/persistence/typed/javadsl/PrimitiveStateTest.java b/persistence-typed/src/test/java/org/apache/pekko/persistence/typed/javadsl/PrimitiveStateTest.java
index a496878f18f..543f2b9e21c 100644
--- a/persistence-typed/src/test/java/org/apache/pekko/persistence/typed/javadsl/PrimitiveStateTest.java
+++ b/persistence-typed/src/test/java/org/apache/pekko/persistence/typed/javadsl/PrimitiveStateTest.java
@@ -13,8 +13,6 @@
package org.apache.pekko.persistence.typed.javadsl;
-import com.typesafe.config.Config;
-import com.typesafe.config.ConfigFactory;
import org.apache.pekko.actor.testkit.typed.javadsl.LogCapturing;
import org.apache.pekko.actor.testkit.typed.javadsl.TestKitJunitResource;
import org.apache.pekko.actor.testkit.typed.javadsl.TestProbe;
@@ -23,6 +21,8 @@
import org.apache.pekko.actor.typed.javadsl.Behaviors;
import org.apache.pekko.persistence.typed.PersistenceId;
import org.apache.pekko.persistence.typed.RecoveryCompleted;
+import org.ekrich.config.Config;
+import org.ekrich.config.ConfigFactory;
import org.junit.ClassRule;
import org.junit.Rule;
import org.junit.Test;
diff --git a/persistence-typed/src/test/scala/docs/org/apache/pekko/persistence/typed/PersistentFsmToTypedMigrationSpec.scala b/persistence-typed/src/test/scala/docs/org/apache/pekko/persistence/typed/PersistentFsmToTypedMigrationSpec.scala
index 3a6e8443796..6b3799bece4 100644
--- a/persistence-typed/src/test/scala/docs/org/apache/pekko/persistence/typed/PersistentFsmToTypedMigrationSpec.scala
+++ b/persistence-typed/src/test/scala/docs/org/apache/pekko/persistence/typed/PersistentFsmToTypedMigrationSpec.scala
@@ -39,7 +39,7 @@ import pekko.persistence.typed.EventSeq
import pekko.persistence.typed.PersistenceId
import pekko.persistence.typed.RecoveryCompleted
import pekko.persistence.typed.SnapshotAdapter
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.scalatest.wordspec.AnyWordSpec
import org.scalatest.concurrent.ScalaFutures
import scala.concurrent.duration._
diff --git a/persistence-typed/src/test/scala/org/apache/pekko/persistence/typed/ClusterSingletonPersistenceSpec.scala b/persistence-typed/src/test/scala/org/apache/pekko/persistence/typed/ClusterSingletonPersistenceSpec.scala
index fde922f0857..bed21fb9749 100644
--- a/persistence-typed/src/test/scala/org/apache/pekko/persistence/typed/ClusterSingletonPersistenceSpec.scala
+++ b/persistence-typed/src/test/scala/org/apache/pekko/persistence/typed/ClusterSingletonPersistenceSpec.scala
@@ -13,7 +13,7 @@
package org.apache.pekko.persistence.typed
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.scalatest.wordspec.AnyWordSpecLike
import org.apache.pekko
diff --git a/persistence-typed/src/test/scala/org/apache/pekko/persistence/typed/StashingWhenSnapshottingSpec.scala b/persistence-typed/src/test/scala/org/apache/pekko/persistence/typed/StashingWhenSnapshottingSpec.scala
index 165213a1595..edeaf27d648 100644
--- a/persistence-typed/src/test/scala/org/apache/pekko/persistence/typed/StashingWhenSnapshottingSpec.scala
+++ b/persistence-typed/src/test/scala/org/apache/pekko/persistence/typed/StashingWhenSnapshottingSpec.scala
@@ -19,7 +19,7 @@ import scala.concurrent.Future
import scala.concurrent.Promise
import scala.util.Success
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.scalatest.wordspec.AnyWordSpecLike
import org.apache.pekko
diff --git a/persistence-typed/src/test/scala/org/apache/pekko/persistence/typed/delivery/EventSourcedProducerQueueSpec.scala b/persistence-typed/src/test/scala/org/apache/pekko/persistence/typed/delivery/EventSourcedProducerQueueSpec.scala
index 02dca35216f..bb98d261ec9 100644
--- a/persistence-typed/src/test/scala/org/apache/pekko/persistence/typed/delivery/EventSourcedProducerQueueSpec.scala
+++ b/persistence-typed/src/test/scala/org/apache/pekko/persistence/typed/delivery/EventSourcedProducerQueueSpec.scala
@@ -18,8 +18,8 @@ import java.util.concurrent.atomic.AtomicInteger
import scala.concurrent.duration._
-import com.typesafe.config.Config
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.Config
+import org.ekrich.config.ConfigFactory
import org.scalatest.wordspec.AnyWordSpecLike
import org.apache.pekko
diff --git a/persistence-typed/src/test/scala/org/apache/pekko/persistence/typed/delivery/ReliableDeliveryWithEventSourcedProducerQueueSpec.scala b/persistence-typed/src/test/scala/org/apache/pekko/persistence/typed/delivery/ReliableDeliveryWithEventSourcedProducerQueueSpec.scala
index 221a2d537e9..35c699a8b06 100644
--- a/persistence-typed/src/test/scala/org/apache/pekko/persistence/typed/delivery/ReliableDeliveryWithEventSourcedProducerQueueSpec.scala
+++ b/persistence-typed/src/test/scala/org/apache/pekko/persistence/typed/delivery/ReliableDeliveryWithEventSourcedProducerQueueSpec.scala
@@ -15,8 +15,8 @@ package org.apache.pekko.persistence.typed.delivery
import java.util.UUID
-import com.typesafe.config.Config
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.Config
+import org.ekrich.config.ConfigFactory
import org.scalatest.wordspec.AnyWordSpecLike
import org.apache.pekko
diff --git a/persistence-typed/src/test/scala/org/apache/pekko/persistence/typed/delivery/WorkPullingWithEventSourcedProducerQueueSpec.scala b/persistence-typed/src/test/scala/org/apache/pekko/persistence/typed/delivery/WorkPullingWithEventSourcedProducerQueueSpec.scala
index cc4de0f1a49..5dd0a7a2708 100644
--- a/persistence-typed/src/test/scala/org/apache/pekko/persistence/typed/delivery/WorkPullingWithEventSourcedProducerQueueSpec.scala
+++ b/persistence-typed/src/test/scala/org/apache/pekko/persistence/typed/delivery/WorkPullingWithEventSourcedProducerQueueSpec.scala
@@ -17,8 +17,8 @@ import scala.concurrent.duration._
import java.util.UUID
import java.util.concurrent.atomic.AtomicInteger
-import com.typesafe.config.Config
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.Config
+import org.ekrich.config.ConfigFactory
import org.scalatest.wordspec.AnyWordSpecLike
import org.apache.pekko
diff --git a/persistence-typed/src/test/scala/org/apache/pekko/persistence/typed/scaladsl/SnapshotIsOptionalSpec.scala b/persistence-typed/src/test/scala/org/apache/pekko/persistence/typed/scaladsl/SnapshotIsOptionalSpec.scala
index 69d9a0d432c..df136374919 100644
--- a/persistence-typed/src/test/scala/org/apache/pekko/persistence/typed/scaladsl/SnapshotIsOptionalSpec.scala
+++ b/persistence-typed/src/test/scala/org/apache/pekko/persistence/typed/scaladsl/SnapshotIsOptionalSpec.scala
@@ -17,8 +17,8 @@ import java.util.UUID
import java.util.concurrent.atomic.AtomicInteger
import com.fasterxml.jackson.annotation.JsonCreator
-import com.typesafe.config.Config
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.Config
+import org.ekrich.config.ConfigFactory
import org.scalatest.wordspec.AnyWordSpecLike
import org.apache.pekko
diff --git a/persistence/src/main/mima-filters/2.0.x.backwards.excludes/replace-lightbend-config-with-sconfig.excludes b/persistence/src/main/mima-filters/2.0.x.backwards.excludes/replace-lightbend-config-with-sconfig.excludes
new file mode 100644
index 00000000000..a637c93a7d4
--- /dev/null
+++ b/persistence/src/main/mima-filters/2.0.x.backwards.excludes/replace-lightbend-config-with-sconfig.excludes
@@ -0,0 +1,34 @@
+# 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.
+
+# Replacing Lightbend Config (https://github.com/lightbend/config) with sconfig (https://github.com/ekrich/sconfig)
+ProblemFilters.exclude[IncompatibleMethTypeProblem]("org.apache.pekko.persistence.DiscardConfigurator.create")
+ProblemFilters.exclude[IncompatibleMethTypeProblem]("org.apache.pekko.persistence.Persistence.adaptersFor")
+ProblemFilters.exclude[IncompatibleMethTypeProblem]("org.apache.pekko.persistence.Persistence.verifyPluginConfigExists")
+ProblemFilters.exclude[IncompatibleMethTypeProblem]("org.apache.pekko.persistence.Persistence#PluginHolderExtensionId.this")
+ProblemFilters.exclude[IncompatibleMethTypeProblem]("org.apache.pekko.persistence.PersistenceSettings.this")
+ProblemFilters.exclude[IncompatibleResultTypeProblem]("org.apache.pekko.persistence.RuntimePluginConfig.journalPluginConfig")
+ProblemFilters.exclude[IncompatibleResultTypeProblem]("org.apache.pekko.persistence.RuntimePluginConfig.snapshotPluginConfig")
+ProblemFilters.exclude[ReversedMissingMethodProblem]("org.apache.pekko.persistence.RuntimePluginConfig.journalPluginConfig")
+ProblemFilters.exclude[ReversedMissingMethodProblem]("org.apache.pekko.persistence.RuntimePluginConfig.snapshotPluginConfig")
+ProblemFilters.exclude[IncompatibleMethTypeProblem]("org.apache.pekko.persistence.StashOverflowStrategyConfigurator.create")
+ProblemFilters.exclude[ReversedMissingMethodProblem]("org.apache.pekko.persistence.StashOverflowStrategyConfigurator.create")
+ProblemFilters.exclude[IncompatibleMethTypeProblem]("org.apache.pekko.persistence.ThrowExceptionConfigurator.create")
+ProblemFilters.exclude[IncompatibleMethTypeProblem]("org.apache.pekko.persistence.journal.PersistencePluginProxy.this")
+ProblemFilters.exclude[IncompatibleResultTypeProblem]("org.apache.pekko.persistence.journal.leveldb.SharedLeveldbStore.config")
+ProblemFilters.exclude[IncompatibleResultTypeProblem]("org.apache.pekko.persistence.journal.leveldb.SharedLeveldbStore.prepareConfig")
+ProblemFilters.exclude[IncompatibleMethTypeProblem]("org.apache.pekko.persistence.journal.leveldb.SharedLeveldbStore.this")
diff --git a/persistence/src/main/resources/reference.conf b/persistence/src/main/resources/reference.conf
index e3f36942679..da2f23ed91e 100644
--- a/persistence/src/main/resources/reference.conf
+++ b/persistence/src/main/resources/reference.conf
@@ -102,7 +102,7 @@ pekko.persistence {
# Fully qualified class name providing journal plugin api implementation.
# It is mandatory to specify this property.
# The class must have a constructor without parameters or constructor with
- # one `com.typesafe.config.Config` parameter.
+ # one `org.ekrich.config.Config` parameter.
class = ""
# Dispatcher for the plugin actor.
@@ -175,7 +175,7 @@ pekko.persistence {
# implementation. It is mandatory to specify this property if
# snapshot store is enabled.
# The class must have a constructor without parameters or constructor with
- # one `com.typesafe.config.Config` parameter.
+ # one `org.ekrich.config.Config` parameter.
class = ""
# Dispatcher for the plugin actor.
diff --git a/persistence/src/main/scala/org/apache/pekko/persistence/Eventsourced.scala b/persistence/src/main/scala/org/apache/pekko/persistence/Eventsourced.scala
index eea04cff761..814fd154406 100644
--- a/persistence/src/main/scala/org/apache/pekko/persistence/Eventsourced.scala
+++ b/persistence/src/main/scala/org/apache/pekko/persistence/Eventsourced.scala
@@ -21,7 +21,7 @@ import scala.concurrent.duration.FiniteDuration
import scala.util.control.NonFatal
import scala.annotation.nowarn
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.apache.pekko
import pekko.actor.{ Actor, ActorCell, DeadLetter, StashOverflowException }
@@ -76,7 +76,7 @@ private[persistence] trait Eventsourced
private[persistence] lazy val journal = {
val journalPluginConfig = this match {
case c: RuntimePluginConfig => c.journalPluginConfig
- case _ => ConfigFactory.empty
+ case _ => ConfigFactory.empty()
}
extension.journalFor(journalPluginId, journalPluginConfig)
}
@@ -84,7 +84,7 @@ private[persistence] trait Eventsourced
private[persistence] lazy val snapshotStore = {
val snapshotPluginConfig = this match {
case c: RuntimePluginConfig => c.snapshotPluginConfig
- case _ => ConfigFactory.empty
+ case _ => ConfigFactory.empty()
}
extension.snapshotStoreFor(snapshotPluginId, snapshotPluginConfig)
}
@@ -98,7 +98,7 @@ private[persistence] trait Eventsourced
private val maxMessageBatchSize = {
val journalPluginConfig = this match {
case c: RuntimePluginConfig => c.journalPluginConfig
- case _ => ConfigFactory.empty
+ case _ => ConfigFactory.empty()
}
extension.journalConfigFor(journalPluginId, journalPluginConfig).getInt("max-message-batch-size")
}
@@ -243,7 +243,7 @@ private[persistence] trait Eventsourced
val timeout = {
val journalPluginConfig = this match {
case c: RuntimePluginConfig => c.journalPluginConfig
- case _ => ConfigFactory.empty
+ case _ => ConfigFactory.empty()
}
extension.journalConfigFor(journalPluginId, journalPluginConfig).getMillisDuration("recovery-event-timeout")
}
diff --git a/persistence/src/main/scala/org/apache/pekko/persistence/Persistence.scala b/persistence/src/main/scala/org/apache/pekko/persistence/Persistence.scala
index e9e04d08989..8bf8fdd99c0 100644
--- a/persistence/src/main/scala/org/apache/pekko/persistence/Persistence.scala
+++ b/persistence/src/main/scala/org/apache/pekko/persistence/Persistence.scala
@@ -21,7 +21,7 @@ import scala.collection.immutable
import scala.concurrent.duration._
import scala.util.control.NonFatal
-import com.typesafe.config.{ Config, ConfigFactory }
+import org.ekrich.config.{ Config, ConfigFactory }
import org.apache.pekko
import pekko.actor._
@@ -128,9 +128,9 @@ trait RuntimePluginConfig {
/**
* Additional configuration of the journal plugin servicing this persistent actor.
- * When empty, the whole configuration of the journal plugin will be taken from the [[com.typesafe.config.Config]] loaded into the
+ * When empty, the whole configuration of the journal plugin will be taken from the [[org.ekrich.config.Config]] loaded into the
* [[pekko.actor.ActorSystem]].
- * When configured, the journal plugin configuration will be taken from this [[com.typesafe.config.Config]] merged with the [[com.typesafe.config.Config]]
+ * When configured, the journal plugin configuration will be taken from this [[org.ekrich.config.Config]] merged with the [[org.ekrich.config.Config]]
* loaded into the [[pekko.actor.ActorSystem]].
*
* @return an additional configuration used to configure the journal plugin.
@@ -139,9 +139,9 @@ trait RuntimePluginConfig {
/**
* Additional configuration of the snapshot plugin servicing this persistent actor.
- * When empty, the whole configuration of the snapshot plugin will be taken from the [[com.typesafe.config.Config]] loaded into the
+ * When empty, the whole configuration of the snapshot plugin will be taken from the [[org.ekrich.config.Config]] loaded into the
* [[pekko.actor.ActorSystem]].
- * When configured, the snapshot plugin configuration will be taken from this [[com.typesafe.config.Config]] merged with the [[com.typesafe.config.Config]]
+ * When configured, the snapshot plugin configuration will be taken from this [[org.ekrich.config.Config]] merged with the [[org.ekrich.config.Config]]
* loaded into the [[pekko.actor.ActorSystem]].
*
* @return an additional configuration used to configure the snapshot plugin.
@@ -230,7 +230,7 @@ class Persistence(val system: ExtendedActorSystem) extends Extension {
private lazy val defaultJournalPluginId = {
val configPath = config.getString("journal.plugin")
verifyPluginConfigIsDefined(configPath, "Default journal")
- verifyJournalPluginConfigExists(ConfigFactory.empty, configPath)
+ verifyJournalPluginConfigExists(ConfigFactory.empty(), configPath)
configPath
}
@@ -245,7 +245,7 @@ class Persistence(val system: ExtendedActorSystem) extends Extension {
"For details see 'reference.conf'")
NoSnapshotStorePluginId
} else {
- verifySnapshotPluginConfigExists(ConfigFactory.empty, configPath)
+ verifySnapshotPluginConfigExists(ConfigFactory.empty(), configPath)
configPath
}
}
@@ -299,7 +299,7 @@ class Persistence(val system: ExtendedActorSystem) extends Extension {
* adapter for each class, otherwise the most specific adapter matching a given class will be returned.
*/
final def adaptersFor(journalPluginId: String): EventAdapters = {
- adaptersFor(journalPluginId: String, ConfigFactory.empty)
+ adaptersFor(journalPluginId: String, ConfigFactory.empty())
}
/**
@@ -336,7 +336,7 @@ class Persistence(val system: ExtendedActorSystem) extends Extension {
*/
private[pekko] final def journalConfigFor(
journalPluginId: String,
- journalPluginConfig: Config = ConfigFactory.empty): Config = {
+ journalPluginConfig: Config = ConfigFactory.empty()): Config = {
val configPath = if (isEmpty(journalPluginId)) defaultJournalPluginId else journalPluginId
verifyJournalPluginConfigExists(journalPluginConfig, configPath)
pluginHolderFor(configPath, JournalFallbackConfigPath, journalPluginConfig).config
@@ -364,7 +364,7 @@ class Persistence(val system: ExtendedActorSystem) extends Extension {
@InternalStableApi
private[pekko] final def journalFor(
journalPluginId: String,
- journalPluginConfig: Config = ConfigFactory.empty): ActorRef = {
+ journalPluginConfig: Config = ConfigFactory.empty()): ActorRef = {
val configPath = if (isEmpty(journalPluginId)) defaultJournalPluginId else journalPluginId
verifyJournalPluginConfigExists(journalPluginConfig, configPath)
pluginHolderFor(configPath, JournalFallbackConfigPath, journalPluginConfig).actor
@@ -381,7 +381,7 @@ class Persistence(val system: ExtendedActorSystem) extends Extension {
@InternalStableApi
private[pekko] final def snapshotStoreFor(
snapshotPluginId: String,
- snapshotPluginConfig: Config = ConfigFactory.empty): ActorRef = {
+ snapshotPluginConfig: Config = ConfigFactory.empty()): ActorRef = {
val configPath = if (isEmpty(snapshotPluginId)) defaultSnapshotPluginId else snapshotPluginId
verifySnapshotPluginConfigExists(snapshotPluginConfig, configPath)
pluginHolderFor(configPath, SnapshotStoreFallbackConfigPath, snapshotPluginConfig).actor
@@ -439,7 +439,7 @@ class Persistence(val system: ExtendedActorSystem) extends Extension {
private class PluginHolderExtensionId(configPath: String, fallbackPath: String, additionalConfig: Config)
extends ExtensionId[PluginHolder] {
- def this(configPath: String, fallbackPath: String) = this(configPath, fallbackPath, ConfigFactory.empty)
+ def this(configPath: String, fallbackPath: String) = this(configPath, fallbackPath, ConfigFactory.empty())
override def createExtension(system: ExtendedActorSystem): PluginHolder = {
val mergedConfig = additionalConfig.withFallback(system.settings.config)
diff --git a/persistence/src/main/scala/org/apache/pekko/persistence/PersistencePlugin.scala b/persistence/src/main/scala/org/apache/pekko/persistence/PersistencePlugin.scala
index 46d5412398a..c1f0d33c871 100644
--- a/persistence/src/main/scala/org/apache/pekko/persistence/PersistencePlugin.scala
+++ b/persistence/src/main/scala/org/apache/pekko/persistence/PersistencePlugin.scala
@@ -19,7 +19,7 @@ import scala.annotation.tailrec
import scala.reflect.ClassTag
import scala.util.Failure
-import com.typesafe.config.Config
+import org.ekrich.config.Config
import org.apache.pekko
import pekko.actor.{ ExtendedActorSystem, Extension, ExtensionId }
diff --git a/persistence/src/main/scala/org/apache/pekko/persistence/PersistentActor.scala b/persistence/src/main/scala/org/apache/pekko/persistence/PersistentActor.scala
index df69333fe9b..fbdb6877297 100644
--- a/persistence/src/main/scala/org/apache/pekko/persistence/PersistentActor.scala
+++ b/persistence/src/main/scala/org/apache/pekko/persistence/PersistentActor.scala
@@ -18,7 +18,7 @@ import java.lang.{ Iterable => JIterable }
import scala.collection.immutable
import scala.util.control.NoStackTrace
-import com.typesafe.config.Config
+import org.ekrich.config.Config
import org.apache.pekko
import pekko.actor._
diff --git a/persistence/src/main/scala/org/apache/pekko/persistence/fsm/PersistentFSM.scala b/persistence/src/main/scala/org/apache/pekko/persistence/fsm/PersistentFSM.scala
index f0af99c83dc..3740ee7fd71 100644
--- a/persistence/src/main/scala/org/apache/pekko/persistence/fsm/PersistentFSM.scala
+++ b/persistence/src/main/scala/org/apache/pekko/persistence/fsm/PersistentFSM.scala
@@ -20,7 +20,7 @@ import scala.concurrent.duration._
import scala.reflect.ClassTag
import scala.annotation.nowarn
-import com.typesafe.config.Config
+import org.ekrich.config.Config
import org.apache.pekko
import pekko.actor._
diff --git a/persistence/src/main/scala/org/apache/pekko/persistence/journal/EventAdapters.scala b/persistence/src/main/scala/org/apache/pekko/persistence/journal/EventAdapters.scala
index 2ad060a6947..862bb7d98fe 100644
--- a/persistence/src/main/scala/org/apache/pekko/persistence/journal/EventAdapters.scala
+++ b/persistence/src/main/scala/org/apache/pekko/persistence/journal/EventAdapters.scala
@@ -21,7 +21,7 @@ import scala.collection.mutable.ArrayBuffer
import scala.reflect.ClassTag
import scala.util.Try
-import com.typesafe.config.Config
+import org.ekrich.config.Config
import org.apache.pekko
import pekko.actor.ExtendedActorSystem
diff --git a/persistence/src/main/scala/org/apache/pekko/persistence/journal/PersistencePluginProxy.scala b/persistence/src/main/scala/org/apache/pekko/persistence/journal/PersistencePluginProxy.scala
index 3878ed869cf..1fde32e1f78 100644
--- a/persistence/src/main/scala/org/apache/pekko/persistence/journal/PersistencePluginProxy.scala
+++ b/persistence/src/main/scala/org/apache/pekko/persistence/journal/PersistencePluginProxy.scala
@@ -18,7 +18,7 @@ import java.util.concurrent.TimeoutException
import scala.concurrent.duration._
-import com.typesafe.config.Config
+import org.ekrich.config.Config
import org.apache.pekko
import pekko.actor._
diff --git a/persistence/src/main/scala/org/apache/pekko/persistence/journal/inmem/InmemJournal.scala b/persistence/src/main/scala/org/apache/pekko/persistence/journal/inmem/InmemJournal.scala
index ec0c5352d5d..010bd22a9e0 100644
--- a/persistence/src/main/scala/org/apache/pekko/persistence/journal/inmem/InmemJournal.scala
+++ b/persistence/src/main/scala/org/apache/pekko/persistence/journal/inmem/InmemJournal.scala
@@ -20,8 +20,8 @@ import scala.collection.immutable
import scala.concurrent.Future
import scala.util.Try
import scala.util.control.NonFatal
-import com.typesafe.config.Config
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.Config
+import org.ekrich.config.ConfigFactory
import pekko.annotation.ApiMayChange
import pekko.annotation.InternalApi
import pekko.event.Logging
diff --git a/persistence/src/main/scala/org/apache/pekko/persistence/journal/leveldb/LeveldbJournal.scala b/persistence/src/main/scala/org/apache/pekko/persistence/journal/leveldb/LeveldbJournal.scala
index 2021f111209..1fbbef67061 100644
--- a/persistence/src/main/scala/org/apache/pekko/persistence/journal/leveldb/LeveldbJournal.scala
+++ b/persistence/src/main/scala/org/apache/pekko/persistence/journal/leveldb/LeveldbJournal.scala
@@ -15,8 +15,8 @@ package org.apache.pekko.persistence.journal.leveldb
import scala.concurrent.Future
-import com.typesafe.config.Config
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.Config
+import org.ekrich.config.ConfigFactory
import org.apache.pekko
import pekko.actor._
diff --git a/persistence/src/main/scala/org/apache/pekko/persistence/journal/leveldb/LeveldbStore.scala b/persistence/src/main/scala/org/apache/pekko/persistence/journal/leveldb/LeveldbStore.scala
index 79fda7ff3c0..84e1f59d89f 100644
--- a/persistence/src/main/scala/org/apache/pekko/persistence/journal/leveldb/LeveldbStore.scala
+++ b/persistence/src/main/scala/org/apache/pekko/persistence/journal/leveldb/LeveldbStore.scala
@@ -21,7 +21,7 @@ import scala.concurrent.Future
import scala.util._
import scala.util.control.NonFatal
-import com.typesafe.config.{ Config, ConfigFactory, ConfigObject }
+import org.ekrich.config.{ Config, ConfigFactory, ConfigObject }
import org.iq80.leveldb._
import org.apache.pekko
@@ -36,7 +36,7 @@ private[persistence] object LeveldbStore {
val emptyConfig = ConfigFactory.empty()
def toCompactionIntervalMap(obj: ConfigObject): Map[String, Long] = {
- obj.unwrapped().asScala.map(entry => (entry._1, java.lang.Long.parseLong(entry._2.toString))).toMap
+ obj.unwrapped.asScala.map(entry => (entry._1, java.lang.Long.parseLong(entry._2.toString))).toMap
}
}
diff --git a/persistence/src/main/scala/org/apache/pekko/persistence/journal/leveldb/SharedLeveldbStore.scala b/persistence/src/main/scala/org/apache/pekko/persistence/journal/leveldb/SharedLeveldbStore.scala
index 4d62c4d2d4f..66a0f7e2a37 100644
--- a/persistence/src/main/scala/org/apache/pekko/persistence/journal/leveldb/SharedLeveldbStore.scala
+++ b/persistence/src/main/scala/org/apache/pekko/persistence/journal/leveldb/SharedLeveldbStore.scala
@@ -19,7 +19,7 @@ import scala.util.Success
import scala.util.Try
import scala.util.control.NonFatal
-import com.typesafe.config.Config
+import org.ekrich.config.Config
import org.apache.pekko
import pekko.pattern.pipe
diff --git a/persistence/src/main/scala/org/apache/pekko/persistence/snapshot/local/LocalSnapshotStore.scala b/persistence/src/main/scala/org/apache/pekko/persistence/snapshot/local/LocalSnapshotStore.scala
index ffd45cdb56b..1a74e23b8f2 100644
--- a/persistence/src/main/scala/org/apache/pekko/persistence/snapshot/local/LocalSnapshotStore.scala
+++ b/persistence/src/main/scala/org/apache/pekko/persistence/snapshot/local/LocalSnapshotStore.scala
@@ -22,7 +22,7 @@ import scala.collection.immutable
import scala.concurrent.Future
import scala.util._
-import com.typesafe.config.Config
+import org.ekrich.config.Config
import org.apache.pekko
import pekko.actor.ActorLogging
diff --git a/persistence/src/main/scala/org/apache/pekko/persistence/state/DurableStateStoreRegistry.scala b/persistence/src/main/scala/org/apache/pekko/persistence/state/DurableStateStoreRegistry.scala
index 7d8558e0c32..80e9766ba24 100644
--- a/persistence/src/main/scala/org/apache/pekko/persistence/state/DurableStateStoreRegistry.scala
+++ b/persistence/src/main/scala/org/apache/pekko/persistence/state/DurableStateStoreRegistry.scala
@@ -15,7 +15,7 @@ package org.apache.pekko.persistence.state
import scala.reflect.ClassTag
-import com.typesafe.config.Config
+import org.ekrich.config.Config
import org.apache.pekko
import pekko.actor.ActorSystem
diff --git a/persistence/src/test/scala/org/apache/pekko/persistence/AtLeastOnceDeliveryFailureSpec.scala b/persistence/src/test/scala/org/apache/pekko/persistence/AtLeastOnceDeliveryFailureSpec.scala
index 4471fe1db9a..ce66d032a33 100644
--- a/persistence/src/test/scala/org/apache/pekko/persistence/AtLeastOnceDeliveryFailureSpec.scala
+++ b/persistence/src/test/scala/org/apache/pekko/persistence/AtLeastOnceDeliveryFailureSpec.scala
@@ -17,7 +17,7 @@ import java.util.concurrent.ThreadLocalRandom
import scala.concurrent.duration._
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.apache.pekko
import pekko.actor._
diff --git a/persistence/src/test/scala/org/apache/pekko/persistence/EndToEndEventAdapterSpec.scala b/persistence/src/test/scala/org/apache/pekko/persistence/EndToEndEventAdapterSpec.scala
index 0babafe0526..8b1d76bac3f 100644
--- a/persistence/src/test/scala/org/apache/pekko/persistence/EndToEndEventAdapterSpec.scala
+++ b/persistence/src/test/scala/org/apache/pekko/persistence/EndToEndEventAdapterSpec.scala
@@ -18,7 +18,7 @@ import java.io.File
import scala.concurrent.Await
import scala.concurrent.duration._
-import com.typesafe.config.{ Config, ConfigFactory }
+import org.ekrich.config.{ Config, ConfigFactory }
import org.apache.commons.io.FileUtils
import org.scalatest.BeforeAndAfterAll
import org.scalatest.matchers.should.Matchers
diff --git a/persistence/src/test/scala/org/apache/pekko/persistence/EventAdapterSpec.scala b/persistence/src/test/scala/org/apache/pekko/persistence/EventAdapterSpec.scala
index 100463f7fdf..b3d019e5fc8 100644
--- a/persistence/src/test/scala/org/apache/pekko/persistence/EventAdapterSpec.scala
+++ b/persistence/src/test/scala/org/apache/pekko/persistence/EventAdapterSpec.scala
@@ -15,7 +15,7 @@ package org.apache.pekko.persistence
import scala.collection.immutable
-import com.typesafe.config.{ Config, ConfigFactory }
+import org.ekrich.config.{ Config, ConfigFactory }
import org.apache.pekko
import pekko.actor._
diff --git a/persistence/src/test/scala/org/apache/pekko/persistence/LoadPluginSpec.scala b/persistence/src/test/scala/org/apache/pekko/persistence/LoadPluginSpec.scala
index dc5e2132dfc..524957fbaff 100644
--- a/persistence/src/test/scala/org/apache/pekko/persistence/LoadPluginSpec.scala
+++ b/persistence/src/test/scala/org/apache/pekko/persistence/LoadPluginSpec.scala
@@ -13,7 +13,7 @@
package org.apache.pekko.persistence
-import com.typesafe.config.Config
+import org.ekrich.config.Config
import org.apache.pekko
import pekko.actor.Actor
diff --git a/persistence/src/test/scala/org/apache/pekko/persistence/ManyRecoveriesSpec.scala b/persistence/src/test/scala/org/apache/pekko/persistence/ManyRecoveriesSpec.scala
index 856c80a57aa..00877de886a 100644
--- a/persistence/src/test/scala/org/apache/pekko/persistence/ManyRecoveriesSpec.scala
+++ b/persistence/src/test/scala/org/apache/pekko/persistence/ManyRecoveriesSpec.scala
@@ -16,7 +16,7 @@ package org.apache.pekko.persistence
import scala.concurrent.Await
import scala.concurrent.duration._
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.apache.pekko
import pekko.actor._
diff --git a/persistence/src/test/scala/org/apache/pekko/persistence/OptionalSnapshotStoreSpec.scala b/persistence/src/test/scala/org/apache/pekko/persistence/OptionalSnapshotStoreSpec.scala
index 577a1a2b656..2e680f8b51a 100644
--- a/persistence/src/test/scala/org/apache/pekko/persistence/OptionalSnapshotStoreSpec.scala
+++ b/persistence/src/test/scala/org/apache/pekko/persistence/OptionalSnapshotStoreSpec.scala
@@ -13,7 +13,7 @@
package org.apache.pekko.persistence
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.apache.pekko
import pekko.actor.{ Actor, Props }
diff --git a/persistence/src/test/scala/org/apache/pekko/persistence/PerformanceSpec.scala b/persistence/src/test/scala/org/apache/pekko/persistence/PerformanceSpec.scala
index f75ce5fc286..9e24127d53d 100644
--- a/persistence/src/test/scala/org/apache/pekko/persistence/PerformanceSpec.scala
+++ b/persistence/src/test/scala/org/apache/pekko/persistence/PerformanceSpec.scala
@@ -15,7 +15,7 @@ package org.apache.pekko.persistence
import scala.concurrent.duration._
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.apache.pekko
import pekko.actor._
diff --git a/persistence/src/test/scala/org/apache/pekko/persistence/PersistenceSpec.scala b/persistence/src/test/scala/org/apache/pekko/persistence/PersistenceSpec.scala
index 67c5f4437d3..51c8e5df830 100644
--- a/persistence/src/test/scala/org/apache/pekko/persistence/PersistenceSpec.scala
+++ b/persistence/src/test/scala/org/apache/pekko/persistence/PersistenceSpec.scala
@@ -20,7 +20,7 @@ import scala.collection.immutable
import scala.reflect.ClassTag
import scala.util.control.NoStackTrace
-import com.typesafe.config.{ Config, ConfigFactory }
+import org.ekrich.config.{ Config, ConfigFactory }
import org.apache.commons.io.FileUtils
import org.scalatest.BeforeAndAfterEach
import org.scalatest.matchers.{ MatchResult, Matcher }
diff --git a/persistence/src/test/scala/org/apache/pekko/persistence/PersistentActorBoundedStashingSpec.scala b/persistence/src/test/scala/org/apache/pekko/persistence/PersistentActorBoundedStashingSpec.scala
index f09d5dd430b..1c274df5128 100644
--- a/persistence/src/test/scala/org/apache/pekko/persistence/PersistentActorBoundedStashingSpec.scala
+++ b/persistence/src/test/scala/org/apache/pekko/persistence/PersistentActorBoundedStashingSpec.scala
@@ -15,7 +15,7 @@ package org.apache.pekko.persistence
import scala.concurrent.duration._
-import com.typesafe.config.Config
+import org.ekrich.config.Config
import org.scalatest.BeforeAndAfterEach
import org.apache.pekko
diff --git a/persistence/src/test/scala/org/apache/pekko/persistence/PersistentActorJournalProtocolSpec.scala b/persistence/src/test/scala/org/apache/pekko/persistence/PersistentActorJournalProtocolSpec.scala
index 71f25e9554b..6eb6717d49b 100644
--- a/persistence/src/test/scala/org/apache/pekko/persistence/PersistentActorJournalProtocolSpec.scala
+++ b/persistence/src/test/scala/org/apache/pekko/persistence/PersistentActorJournalProtocolSpec.scala
@@ -15,7 +15,7 @@ package org.apache.pekko.persistence
import scala.concurrent.duration._
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.apache.pekko
import pekko.actor._
diff --git a/persistence/src/test/scala/org/apache/pekko/persistence/PersistentActorRecoveryTimeoutSpec.scala b/persistence/src/test/scala/org/apache/pekko/persistence/PersistentActorRecoveryTimeoutSpec.scala
index a16934b678c..297c710a873 100644
--- a/persistence/src/test/scala/org/apache/pekko/persistence/PersistentActorRecoveryTimeoutSpec.scala
+++ b/persistence/src/test/scala/org/apache/pekko/persistence/PersistentActorRecoveryTimeoutSpec.scala
@@ -15,7 +15,7 @@ package org.apache.pekko.persistence
import scala.concurrent.duration._
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.apache.pekko
import pekko.actor.{ Actor, ActorLogging, ActorRef, Props }
diff --git a/persistence/src/test/scala/org/apache/pekko/persistence/PersistentActorSpec.scala b/persistence/src/test/scala/org/apache/pekko/persistence/PersistentActorSpec.scala
index 00ee94c3367..7e8fcf4ecc8 100644
--- a/persistence/src/test/scala/org/apache/pekko/persistence/PersistentActorSpec.scala
+++ b/persistence/src/test/scala/org/apache/pekko/persistence/PersistentActorSpec.scala
@@ -22,7 +22,7 @@ import scala.util.Random
import scala.util.control.NoStackTrace
import scala.annotation.nowarn
-import com.typesafe.config.{ Config, ConfigFactory }
+import org.ekrich.config.{ Config, ConfigFactory }
import org.apache.pekko
import pekko.actor._
import pekko.persistence.PersistentActorSpec._
diff --git a/persistence/src/test/scala/org/apache/pekko/persistence/PersistentActorStashingSpec.scala b/persistence/src/test/scala/org/apache/pekko/persistence/PersistentActorStashingSpec.scala
index a6be948f2ba..c39777e1c29 100644
--- a/persistence/src/test/scala/org/apache/pekko/persistence/PersistentActorStashingSpec.scala
+++ b/persistence/src/test/scala/org/apache/pekko/persistence/PersistentActorStashingSpec.scala
@@ -16,7 +16,7 @@ package org.apache.pekko.persistence
import scala.concurrent.duration._
import scala.reflect.ClassTag
-import com.typesafe.config.Config
+import org.ekrich.config.Config
import org.apache.pekko
import pekko.actor.{ Actor, ActorRef, OneForOneStrategy, Props }
diff --git a/persistence/src/test/scala/org/apache/pekko/persistence/RecoveryPermitterSpec.scala b/persistence/src/test/scala/org/apache/pekko/persistence/RecoveryPermitterSpec.scala
index 7515afc3acf..1c0c6201b7b 100644
--- a/persistence/src/test/scala/org/apache/pekko/persistence/RecoveryPermitterSpec.scala
+++ b/persistence/src/test/scala/org/apache/pekko/persistence/RecoveryPermitterSpec.scala
@@ -16,7 +16,7 @@ package org.apache.pekko.persistence
import scala.concurrent.duration._
import scala.util.control.NoStackTrace
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.apache.pekko
import pekko.actor._
diff --git a/persistence/src/test/scala/org/apache/pekko/persistence/SnapshotFailureRobustnessSpec.scala b/persistence/src/test/scala/org/apache/pekko/persistence/SnapshotFailureRobustnessSpec.scala
index 5bd3f60b296..29d69c74a2f 100644
--- a/persistence/src/test/scala/org/apache/pekko/persistence/SnapshotFailureRobustnessSpec.scala
+++ b/persistence/src/test/scala/org/apache/pekko/persistence/SnapshotFailureRobustnessSpec.scala
@@ -20,7 +20,7 @@ import java.util.UUID
import scala.concurrent.Future
import scala.concurrent.duration._
-import com.typesafe.config.Config
+import org.ekrich.config.Config
import org.apache.pekko
import pekko.actor.{ ActorRef, Props }
diff --git a/persistence/src/test/scala/org/apache/pekko/persistence/TimerPersistentActorSpec.scala b/persistence/src/test/scala/org/apache/pekko/persistence/TimerPersistentActorSpec.scala
index f52fa18c210..e5168a2bbd9 100644
--- a/persistence/src/test/scala/org/apache/pekko/persistence/TimerPersistentActorSpec.scala
+++ b/persistence/src/test/scala/org/apache/pekko/persistence/TimerPersistentActorSpec.scala
@@ -16,7 +16,7 @@ package org.apache.pekko.persistence
import scala.concurrent.duration._
import scala.runtime.BoxedUnit
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.apache.pekko
import pekko.actor._
diff --git a/persistence/src/test/scala/org/apache/pekko/persistence/fsm/PersistentFSMSpec.scala b/persistence/src/test/scala/org/apache/pekko/persistence/fsm/PersistentFSMSpec.scala
index 0ee3f0cba7c..624d53fe292 100644
--- a/persistence/src/test/scala/org/apache/pekko/persistence/fsm/PersistentFSMSpec.scala
+++ b/persistence/src/test/scala/org/apache/pekko/persistence/fsm/PersistentFSMSpec.scala
@@ -19,7 +19,7 @@ import scala.concurrent.duration._
import scala.reflect.ClassTag
import scala.annotation.nowarn
-import com.typesafe.config.{ Config, ConfigFactory }
+import org.ekrich.config.{ Config, ConfigFactory }
import org.apache.commons.io.FileUtils
import org.apache.pekko
diff --git a/persistence/src/test/scala/org/apache/pekko/persistence/journal/InmemEventAdaptersSpec.scala b/persistence/src/test/scala/org/apache/pekko/persistence/journal/InmemEventAdaptersSpec.scala
index 174eea4d508..213fe6a9591 100644
--- a/persistence/src/test/scala/org/apache/pekko/persistence/journal/InmemEventAdaptersSpec.scala
+++ b/persistence/src/test/scala/org/apache/pekko/persistence/journal/InmemEventAdaptersSpec.scala
@@ -13,7 +13,7 @@
package org.apache.pekko.persistence.journal
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.apache.pekko
import pekko.actor.ExtendedActorSystem
import pekko.testkit.PekkoSpec
diff --git a/persistence/src/test/scala/org/apache/pekko/persistence/journal/SteppingInmemJournal.scala b/persistence/src/test/scala/org/apache/pekko/persistence/journal/SteppingInmemJournal.scala
index 75d6fd1ddd8..0a8b37b088e 100644
--- a/persistence/src/test/scala/org/apache/pekko/persistence/journal/SteppingInmemJournal.scala
+++ b/persistence/src/test/scala/org/apache/pekko/persistence/journal/SteppingInmemJournal.scala
@@ -18,7 +18,7 @@ import scala.concurrent.{ Await, Future, Promise }
import scala.concurrent.duration._
import scala.util.Try
-import com.typesafe.config.{ Config, ConfigFactory }
+import org.ekrich.config.{ Config, ConfigFactory }
import org.apache.pekko
import pekko.actor.{ ActorRef, ActorSystem }
diff --git a/persistence/src/test/scala/org/apache/pekko/persistence/journal/leveldb/JournalCompactionSpec.scala b/persistence/src/test/scala/org/apache/pekko/persistence/journal/leveldb/JournalCompactionSpec.scala
index 65f6529dd04..347eb1d97e1 100644
--- a/persistence/src/test/scala/org/apache/pekko/persistence/journal/leveldb/JournalCompactionSpec.scala
+++ b/persistence/src/test/scala/org/apache/pekko/persistence/journal/leveldb/JournalCompactionSpec.scala
@@ -17,7 +17,7 @@ import java.io.File
import scala.util.Random
-import com.typesafe.config.Config
+import org.ekrich.config.Config
import org.apache.commons.io.FileUtils
import org.apache.pekko
diff --git a/persistence/src/test/scala/org/apache/pekko/persistence/serialization/SnapshotSerializerMigrationAkkaSpec.scala b/persistence/src/test/scala/org/apache/pekko/persistence/serialization/SnapshotSerializerMigrationAkkaSpec.scala
index 952df9ed9c0..fb22340929d 100644
--- a/persistence/src/test/scala/org/apache/pekko/persistence/serialization/SnapshotSerializerMigrationAkkaSpec.scala
+++ b/persistence/src/test/scala/org/apache/pekko/persistence/serialization/SnapshotSerializerMigrationAkkaSpec.scala
@@ -17,7 +17,7 @@
package org.apache.pekko.persistence.serialization
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.apache.pekko
import pekko.actor.ActorSystem
import pekko.persistence.fsm.PersistentFSM.PersistentFSMSnapshot
diff --git a/project/Dependencies.scala b/project/Dependencies.scala
index 14d13caf021..6e3836f9bd4 100644
--- a/project/Dependencies.scala
+++ b/project/Dependencies.scala
@@ -60,7 +60,7 @@ object Dependencies {
object Compile {
// Compile
- val config = "com.typesafe" % "config" % "1.4.5"
+ val sConfig = "org.ekrich" %% "sconfig" % "1.11.0"
val `netty-transport` = "io.netty" % "netty-transport" % nettyVersion
val `netty-handler` = "io.netty" % "netty-handler" % nettyVersion
@@ -213,7 +213,7 @@ object Dependencies {
case Some((2, n)) if n == 12 =>
List("org.scala-lang.modules" %% "scala-java8-compat" % java8CompatVersion.value)
case _ => List.empty
- }) ++ Seq(config)
+ }) ++ Seq(sConfig)
val actorTyped = l ++= Seq(slf4jApi)
diff --git a/project/Doc.scala b/project/Doc.scala
index bd1f02303e7..ca394e2d7f1 100644
--- a/project/Doc.scala
+++ b/project/Doc.scala
@@ -154,6 +154,8 @@ object UnidocRoot extends AutoPlugin {
ScalaUnidoc / unidocProjectFilter := unidocRootProjectFilter(unidocRootIgnoreProjects.value),
JavaUnidoc / unidocProjectFilter := unidocRootProjectFilter(unidocRootIgnoreProjects.value),
Compile / doc / apiMappings ++= {
+ val sBinaryVersion = scalaBinaryVersion.value
+
val entries: Seq[Attributed[File]] =
(LocalProject("slf4j") / Compile / fullClasspath).value ++
(LocalProject("persistence") / Compile / fullClasspath).value ++
@@ -172,7 +174,8 @@ object UnidocRoot extends AutoPlugin {
val mappings: Seq[(File, URL)] = {
mappingsFor("org.slf4j", List("slf4j-api"), "https://www.javadoc.io/doc/org.slf4j/slf4j-api/%s/") ++
- mappingsFor("com.typesafe", List("config"), "https://www.javadoc.io/doc/com.typesafe/config/%s/") ++
+ mappingsFor("org.ekrich", List("sconfig"),
+ s"https://www.javadoc.io/doc/org.ekrich/sconfig_$sBinaryVersion/%s/") ++
mappingsFor("io.aeron", List("aeron-client", "aeron-driver"),
"https://www.javadoc.io/doc/io.aeron/aeron-all/%s/") ++
mappingsFor("org.reactivestreams", List("reactive-streams"),
diff --git a/project/PekkoBuild.scala b/project/PekkoBuild.scala
index acc4b31e988..b20d71d9bd8 100644
--- a/project/PekkoBuild.scala
+++ b/project/PekkoBuild.scala
@@ -163,7 +163,7 @@ object PekkoBuild {
"""|import language.postfixOps
|import org.apache.pekko.actor._
|import scala.concurrent._
- |import com.typesafe.config.ConfigFactory
+ |import org.ekrich.config.ConfigFactory
|import scala.concurrent.duration._
|import org.apache.pekko.util.Timeout
|var config = ConfigFactory.parseString("pekko.stdout-loglevel=INFO,pekko.loglevel=DEBUG,pinned{type=PinnedDispatcher,executor=thread-pool-executor,throughput=1000}")
diff --git a/project/ProjectFileIgnoreSupport.scala b/project/ProjectFileIgnoreSupport.scala
index fa055c94fb0..af4c083a7e4 100644
--- a/project/ProjectFileIgnoreSupport.scala
+++ b/project/ProjectFileIgnoreSupport.scala
@@ -13,7 +13,7 @@
import java.io.File
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import sbt.ConsoleLogger
class ProjectFileIgnoreSupport(ignoreConfigFile: File, descriptor: String) {
@@ -32,14 +32,14 @@ class ProjectFileIgnoreSupport(ignoreConfigFile: File, descriptor: String) {
private lazy val ignoredFiles: Set[String] = {
import scala.collection.JavaConverters._
- stdoutLogger.debug(s"Loading ignored-files from $ignoreConfigFile:[${ignoreConfig.origin().url().toURI.getPath}]")
+ stdoutLogger.debug(s"Loading ignored-files from $ignoreConfigFile:[${ignoreConfig.origin.url.toURI.getPath}]")
ignoreConfig.getStringList("ignored-files").asScala.toSet
}
private lazy val ignoredPackages: Set[String] = {
import scala.collection.JavaConverters._
stdoutLogger.debug(
- s"Loading ignored-packages from $ignoreConfigFile:[${ignoreConfig.origin().url().toURI.getPath}]")
+ s"Loading ignored-packages from $ignoreConfigFile:[${ignoreConfig.origin.url.toURI.getPath}]")
ignoreConfig.getStringList("ignored-packages").asScala.toSet
}
diff --git a/project/plugins.sbt b/project/plugins.sbt
index b4045cce2c6..b57571864ee 100644
--- a/project/plugins.sbt
+++ b/project/plugins.sbt
@@ -37,3 +37,6 @@ addSbtPlugin("com.lightbend.paradox" % "sbt-paradox-theme" % "0.10.7")
addSbtPlugin("com.lightbend.paradox" % "sbt-paradox" % "0.10.7")
addSbtPlugin("com.gradle" % "sbt-develocity" % "1.3.1")
+
+// Used for ProjectFileIgnoreSupport
+libraryDependencies += "org.ekrich" %% "sconfig" % "1.11.0"
diff --git a/remote-tests/src/multi-jvm/scala/org/apache/pekko/remote/AttemptSysMsgRedeliverySpec.scala b/remote-tests/src/multi-jvm/scala/org/apache/pekko/remote/AttemptSysMsgRedeliverySpec.scala
index 33b69666b02..db8b2f3dba8 100644
--- a/remote-tests/src/multi-jvm/scala/org/apache/pekko/remote/AttemptSysMsgRedeliverySpec.scala
+++ b/remote-tests/src/multi-jvm/scala/org/apache/pekko/remote/AttemptSysMsgRedeliverySpec.scala
@@ -15,7 +15,7 @@ package org.apache.pekko.remote
import scala.concurrent.duration._
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import testkit.MultiNodeConfig
import org.apache.pekko
diff --git a/remote-tests/src/multi-jvm/scala/org/apache/pekko/remote/LookupRemoteActorSpec.scala b/remote-tests/src/multi-jvm/scala/org/apache/pekko/remote/LookupRemoteActorSpec.scala
index 599d92e3600..1ae3f0edae8 100644
--- a/remote-tests/src/multi-jvm/scala/org/apache/pekko/remote/LookupRemoteActorSpec.scala
+++ b/remote-tests/src/multi-jvm/scala/org/apache/pekko/remote/LookupRemoteActorSpec.scala
@@ -13,7 +13,7 @@
package org.apache.pekko.remote
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import testkit.MultiNodeConfig
import org.apache.pekko
diff --git a/remote-tests/src/multi-jvm/scala/org/apache/pekko/remote/NewRemoteActorSpec.scala b/remote-tests/src/multi-jvm/scala/org/apache/pekko/remote/NewRemoteActorSpec.scala
index f6bdb7ea5b2..5ebb2aa117f 100644
--- a/remote-tests/src/multi-jvm/scala/org/apache/pekko/remote/NewRemoteActorSpec.scala
+++ b/remote-tests/src/multi-jvm/scala/org/apache/pekko/remote/NewRemoteActorSpec.scala
@@ -15,7 +15,7 @@ package org.apache.pekko.remote
import scala.concurrent.duration._
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import testkit.MultiNodeConfig
import org.apache.pekko
diff --git a/remote-tests/src/multi-jvm/scala/org/apache/pekko/remote/PiercingShouldKeepQuarantineSpec.scala b/remote-tests/src/multi-jvm/scala/org/apache/pekko/remote/PiercingShouldKeepQuarantineSpec.scala
index 7d72676f984..1ca5ed96409 100644
--- a/remote-tests/src/multi-jvm/scala/org/apache/pekko/remote/PiercingShouldKeepQuarantineSpec.scala
+++ b/remote-tests/src/multi-jvm/scala/org/apache/pekko/remote/PiercingShouldKeepQuarantineSpec.scala
@@ -15,7 +15,7 @@ package org.apache.pekko.remote
import scala.concurrent.duration._
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.apache.pekko
import pekko.actor._
diff --git a/remote-tests/src/multi-jvm/scala/org/apache/pekko/remote/RemoteDeliverySpec.scala b/remote-tests/src/multi-jvm/scala/org/apache/pekko/remote/RemoteDeliverySpec.scala
index 8833f161155..45fc0f1ca6d 100644
--- a/remote-tests/src/multi-jvm/scala/org/apache/pekko/remote/RemoteDeliverySpec.scala
+++ b/remote-tests/src/multi-jvm/scala/org/apache/pekko/remote/RemoteDeliverySpec.scala
@@ -15,7 +15,7 @@ package org.apache.pekko.remote
import scala.concurrent.duration._
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.apache.pekko
import pekko.actor.Actor
diff --git a/remote-tests/src/multi-jvm/scala/org/apache/pekko/remote/RemoteDeploymentDeathWatchSpec.scala b/remote-tests/src/multi-jvm/scala/org/apache/pekko/remote/RemoteDeploymentDeathWatchSpec.scala
index 5d1a4dcc4c7..b706e7e84d4 100644
--- a/remote-tests/src/multi-jvm/scala/org/apache/pekko/remote/RemoteDeploymentDeathWatchSpec.scala
+++ b/remote-tests/src/multi-jvm/scala/org/apache/pekko/remote/RemoteDeploymentDeathWatchSpec.scala
@@ -18,7 +18,7 @@ import java.util.concurrent.TimeoutException
import scala.concurrent.Await
import scala.concurrent.duration._
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.apache.pekko
import pekko.actor.Actor
diff --git a/remote-tests/src/multi-jvm/scala/org/apache/pekko/remote/RemoteFeaturesSpec.scala b/remote-tests/src/multi-jvm/scala/org/apache/pekko/remote/RemoteFeaturesSpec.scala
index 8b7c1b9262e..7d630e161c1 100644
--- a/remote-tests/src/multi-jvm/scala/org/apache/pekko/remote/RemoteFeaturesSpec.scala
+++ b/remote-tests/src/multi-jvm/scala/org/apache/pekko/remote/RemoteFeaturesSpec.scala
@@ -15,7 +15,7 @@ package org.apache.pekko.remote
import scala.concurrent.duration._
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.apache.pekko
import pekko.actor.ActorIdentity
diff --git a/remote-tests/src/multi-jvm/scala/org/apache/pekko/remote/RemoteNodeDeathWatchSpec.scala b/remote-tests/src/multi-jvm/scala/org/apache/pekko/remote/RemoteNodeDeathWatchSpec.scala
index 73bea9484b7..dd4e00c5529 100644
--- a/remote-tests/src/multi-jvm/scala/org/apache/pekko/remote/RemoteNodeDeathWatchSpec.scala
+++ b/remote-tests/src/multi-jvm/scala/org/apache/pekko/remote/RemoteNodeDeathWatchSpec.scala
@@ -15,7 +15,7 @@ package org.apache.pekko.remote
import scala.concurrent.duration._
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.apache.pekko
import pekko.actor.Actor
diff --git a/remote-tests/src/multi-jvm/scala/org/apache/pekko/remote/RemoteNodeRestartDeathWatchSpec.scala b/remote-tests/src/multi-jvm/scala/org/apache/pekko/remote/RemoteNodeRestartDeathWatchSpec.scala
index c556ed8df62..412b5996d61 100644
--- a/remote-tests/src/multi-jvm/scala/org/apache/pekko/remote/RemoteNodeRestartDeathWatchSpec.scala
+++ b/remote-tests/src/multi-jvm/scala/org/apache/pekko/remote/RemoteNodeRestartDeathWatchSpec.scala
@@ -16,7 +16,7 @@ package org.apache.pekko.remote
import scala.concurrent.Await
import scala.concurrent.duration._
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.apache.pekko
import pekko.actor.Actor
diff --git a/remote-tests/src/multi-jvm/scala/org/apache/pekko/remote/RemoteQuarantinePiercingSpec.scala b/remote-tests/src/multi-jvm/scala/org/apache/pekko/remote/RemoteQuarantinePiercingSpec.scala
index a33b8f9e1aa..10ca7d35447 100644
--- a/remote-tests/src/multi-jvm/scala/org/apache/pekko/remote/RemoteQuarantinePiercingSpec.scala
+++ b/remote-tests/src/multi-jvm/scala/org/apache/pekko/remote/RemoteQuarantinePiercingSpec.scala
@@ -16,7 +16,7 @@ package org.apache.pekko.remote
import scala.concurrent.Await
import scala.concurrent.duration._
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.apache.pekko
import pekko.actor._
diff --git a/remote-tests/src/multi-jvm/scala/org/apache/pekko/remote/RemoteReDeploymentSpec.scala b/remote-tests/src/multi-jvm/scala/org/apache/pekko/remote/RemoteReDeploymentSpec.scala
index e08b6535dc7..a25fa9f6b7d 100644
--- a/remote-tests/src/multi-jvm/scala/org/apache/pekko/remote/RemoteReDeploymentSpec.scala
+++ b/remote-tests/src/multi-jvm/scala/org/apache/pekko/remote/RemoteReDeploymentSpec.scala
@@ -16,7 +16,7 @@ package org.apache.pekko.remote
import scala.concurrent.Await
import scala.concurrent.duration._
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.apache.pekko
import pekko.actor.Actor
diff --git a/remote-tests/src/multi-jvm/scala/org/apache/pekko/remote/RemotingMultiNodeSpec.scala b/remote-tests/src/multi-jvm/scala/org/apache/pekko/remote/RemotingMultiNodeSpec.scala
index 7d4fb84fc8b..4819c4b73a5 100644
--- a/remote-tests/src/multi-jvm/scala/org/apache/pekko/remote/RemotingMultiNodeSpec.scala
+++ b/remote-tests/src/multi-jvm/scala/org/apache/pekko/remote/RemotingMultiNodeSpec.scala
@@ -13,7 +13,7 @@
package org.apache.pekko.remote
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.scalatest.Suite
import org.apache.pekko
diff --git a/remote-tests/src/multi-jvm/scala/org/apache/pekko/remote/TransportFailSpec.scala b/remote-tests/src/multi-jvm/scala/org/apache/pekko/remote/TransportFailSpec.scala
index ba383730ec6..639332e2f6a 100644
--- a/remote-tests/src/multi-jvm/scala/org/apache/pekko/remote/TransportFailSpec.scala
+++ b/remote-tests/src/multi-jvm/scala/org/apache/pekko/remote/TransportFailSpec.scala
@@ -18,8 +18,8 @@ import java.util.concurrent.atomic.AtomicBoolean
import scala.concurrent.duration._
import scala.annotation.nowarn
-import com.typesafe.config.Config
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.Config
+import org.ekrich.config.ConfigFactory
import org.apache.pekko
import pekko.actor.Actor
diff --git a/remote-tests/src/multi-jvm/scala/org/apache/pekko/remote/artery/DirectMemorySpec.scala b/remote-tests/src/multi-jvm/scala/org/apache/pekko/remote/artery/DirectMemorySpec.scala
index c4d7cba6f2f..fe726e85d95 100644
--- a/remote-tests/src/multi-jvm/scala/org/apache/pekko/remote/artery/DirectMemorySpec.scala
+++ b/remote-tests/src/multi-jvm/scala/org/apache/pekko/remote/artery/DirectMemorySpec.scala
@@ -15,7 +15,7 @@ package org.apache.pekko.remote.artery
import scala.concurrent.duration._
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.apache.pekko
import pekko.actor.{ Actor, ActorPath, ActorRef, Props }
diff --git a/remote-tests/src/multi-jvm/scala/org/apache/pekko/remote/artery/FanInThrougputSpec.scala b/remote-tests/src/multi-jvm/scala/org/apache/pekko/remote/artery/FanInThrougputSpec.scala
index 77bd679993b..15d56a7509a 100644
--- a/remote-tests/src/multi-jvm/scala/org/apache/pekko/remote/artery/FanInThrougputSpec.scala
+++ b/remote-tests/src/multi-jvm/scala/org/apache/pekko/remote/artery/FanInThrougputSpec.scala
@@ -17,7 +17,7 @@ import java.util.concurrent.Executors
import scala.concurrent.duration._
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.apache.pekko
import pekko.actor._
diff --git a/remote-tests/src/multi-jvm/scala/org/apache/pekko/remote/artery/FanOutThrougputSpec.scala b/remote-tests/src/multi-jvm/scala/org/apache/pekko/remote/artery/FanOutThrougputSpec.scala
index a272a1dedf8..01ef88f0e06 100644
--- a/remote-tests/src/multi-jvm/scala/org/apache/pekko/remote/artery/FanOutThrougputSpec.scala
+++ b/remote-tests/src/multi-jvm/scala/org/apache/pekko/remote/artery/FanOutThrougputSpec.scala
@@ -17,7 +17,7 @@ import java.util.concurrent.Executors
import scala.concurrent.duration._
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.apache.pekko
import pekko.actor._
diff --git a/remote-tests/src/multi-jvm/scala/org/apache/pekko/remote/artery/HandshakeRestartReceiverSpec.scala b/remote-tests/src/multi-jvm/scala/org/apache/pekko/remote/artery/HandshakeRestartReceiverSpec.scala
index 747e7c2ad37..3c27613eb4f 100644
--- a/remote-tests/src/multi-jvm/scala/org/apache/pekko/remote/artery/HandshakeRestartReceiverSpec.scala
+++ b/remote-tests/src/multi-jvm/scala/org/apache/pekko/remote/artery/HandshakeRestartReceiverSpec.scala
@@ -18,7 +18,7 @@ import scala.concurrent.Future
import scala.concurrent.Promise
import scala.concurrent.duration._
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.apache.pekko
import pekko.actor._
diff --git a/remote-tests/src/multi-jvm/scala/org/apache/pekko/remote/artery/LatencySpec.scala b/remote-tests/src/multi-jvm/scala/org/apache/pekko/remote/artery/LatencySpec.scala
index ba0ac9c2e01..bf38eb61107 100644
--- a/remote-tests/src/multi-jvm/scala/org/apache/pekko/remote/artery/LatencySpec.scala
+++ b/remote-tests/src/multi-jvm/scala/org/apache/pekko/remote/artery/LatencySpec.scala
@@ -20,7 +20,7 @@ import java.util.concurrent.locks.LockSupport
import scala.concurrent.duration._
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.HdrHistogram.Histogram
import org.apache.pekko
diff --git a/remote-tests/src/multi-jvm/scala/org/apache/pekko/remote/artery/MaxThroughputSpec.scala b/remote-tests/src/multi-jvm/scala/org/apache/pekko/remote/artery/MaxThroughputSpec.scala
index 0ee81052da7..235bf0c401a 100644
--- a/remote-tests/src/multi-jvm/scala/org/apache/pekko/remote/artery/MaxThroughputSpec.scala
+++ b/remote-tests/src/multi-jvm/scala/org/apache/pekko/remote/artery/MaxThroughputSpec.scala
@@ -21,7 +21,7 @@ import java.util.concurrent.TimeUnit.NANOSECONDS
import scala.concurrent.duration._
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.apache.pekko
import pekko.actor._
import pekko.remote.{ RARP, RemoteActorRefProvider, RemotingMultiNodeSpec }
diff --git a/remote-tests/src/multi-jvm/scala/org/apache/pekko/remote/artery/RemoteRestartedQuarantinedSpec.scala b/remote-tests/src/multi-jvm/scala/org/apache/pekko/remote/artery/RemoteRestartedQuarantinedSpec.scala
index dffea04a02a..ee216933eae 100644
--- a/remote-tests/src/multi-jvm/scala/org/apache/pekko/remote/artery/RemoteRestartedQuarantinedSpec.scala
+++ b/remote-tests/src/multi-jvm/scala/org/apache/pekko/remote/artery/RemoteRestartedQuarantinedSpec.scala
@@ -16,7 +16,7 @@ package org.apache.pekko.remote.artery
import scala.concurrent.Await
import scala.concurrent.duration._
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.apache.pekko
import pekko.actor.{ ActorIdentity, Identify, _ }
diff --git a/remote-tests/src/multi-jvm/scala/org/apache/pekko/remote/artery/SurviveInboundStreamRestartWithCompressionInFlightSpec.scala b/remote-tests/src/multi-jvm/scala/org/apache/pekko/remote/artery/SurviveInboundStreamRestartWithCompressionInFlightSpec.scala
index b6afb048485..1fb9bd8ad96 100644
--- a/remote-tests/src/multi-jvm/scala/org/apache/pekko/remote/artery/SurviveInboundStreamRestartWithCompressionInFlightSpec.scala
+++ b/remote-tests/src/multi-jvm/scala/org/apache/pekko/remote/artery/SurviveInboundStreamRestartWithCompressionInFlightSpec.scala
@@ -15,7 +15,7 @@ package org.apache.pekko.remote.artery
import scala.util.control.NoStackTrace
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.scalatest.concurrent.ScalaFutures
import org.apache.pekko
diff --git a/remote-tests/src/multi-jvm/scala/org/apache/pekko/remote/artery/SurviveNetworkPartitionSpec.scala b/remote-tests/src/multi-jvm/scala/org/apache/pekko/remote/artery/SurviveNetworkPartitionSpec.scala
index 1bc6643f610..2e526f44548 100644
--- a/remote-tests/src/multi-jvm/scala/org/apache/pekko/remote/artery/SurviveNetworkPartitionSpec.scala
+++ b/remote-tests/src/multi-jvm/scala/org/apache/pekko/remote/artery/SurviveNetworkPartitionSpec.scala
@@ -16,7 +16,7 @@ package org.apache.pekko.remote.artery
import scala.concurrent.duration._
import scala.annotation.nowarn
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.apache.pekko
import pekko.actor._
diff --git a/remote-tests/src/multi-jvm/scala/org/apache/pekko/remote/artery/aeron/AeronStreamConcistencySpec.scala b/remote-tests/src/multi-jvm/scala/org/apache/pekko/remote/artery/aeron/AeronStreamConcistencySpec.scala
index 768c7447f1a..038a4b9b35b 100644
--- a/remote-tests/src/multi-jvm/scala/org/apache/pekko/remote/artery/aeron/AeronStreamConcistencySpec.scala
+++ b/remote-tests/src/multi-jvm/scala/org/apache/pekko/remote/artery/aeron/AeronStreamConcistencySpec.scala
@@ -21,7 +21,7 @@ import java.util.concurrent.atomic.AtomicInteger
import scala.concurrent.Await
import scala.concurrent.duration._
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import io.aeron.Aeron
import org.agrona.IoUtil
diff --git a/remote-tests/src/multi-jvm/scala/org/apache/pekko/remote/artery/aeron/AeronStreamLatencySpec.scala b/remote-tests/src/multi-jvm/scala/org/apache/pekko/remote/artery/aeron/AeronStreamLatencySpec.scala
index 4ac3632387d..f6c254a57dc 100644
--- a/remote-tests/src/multi-jvm/scala/org/apache/pekko/remote/artery/aeron/AeronStreamLatencySpec.scala
+++ b/remote-tests/src/multi-jvm/scala/org/apache/pekko/remote/artery/aeron/AeronStreamLatencySpec.scala
@@ -26,7 +26,7 @@ import java.util.concurrent.locks.LockSupport
import scala.concurrent.duration._
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import io.aeron.Aeron
import io.aeron.CncFileDescriptor
import org.HdrHistogram.Histogram
diff --git a/remote-tests/src/multi-jvm/scala/org/apache/pekko/remote/artery/aeron/AeronStreamMaxThroughputSpec.scala b/remote-tests/src/multi-jvm/scala/org/apache/pekko/remote/artery/aeron/AeronStreamMaxThroughputSpec.scala
index 1af66cfa3c4..70d26848f86 100644
--- a/remote-tests/src/multi-jvm/scala/org/apache/pekko/remote/artery/aeron/AeronStreamMaxThroughputSpec.scala
+++ b/remote-tests/src/multi-jvm/scala/org/apache/pekko/remote/artery/aeron/AeronStreamMaxThroughputSpec.scala
@@ -22,7 +22,7 @@ import scala.collection.AbstractIterator
import scala.concurrent.Await
import scala.concurrent.duration._
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import io.aeron.Aeron
import io.aeron.CncFileDescriptor
import org.agrona.IoUtil
diff --git a/remote-tests/src/multi-jvm/scala/org/apache/pekko/remote/classic/RemoteGatePiercingSpec.scala b/remote-tests/src/multi-jvm/scala/org/apache/pekko/remote/classic/RemoteGatePiercingSpec.scala
index c015ed19b6f..135a30163c1 100644
--- a/remote-tests/src/multi-jvm/scala/org/apache/pekko/remote/classic/RemoteGatePiercingSpec.scala
+++ b/remote-tests/src/multi-jvm/scala/org/apache/pekko/remote/classic/RemoteGatePiercingSpec.scala
@@ -17,7 +17,7 @@ import scala.concurrent.Await
import scala.concurrent.duration._
import scala.annotation.nowarn
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.apache.pekko
import pekko.actor.{ ActorIdentity, Identify, _ }
diff --git a/remote-tests/src/multi-jvm/scala/org/apache/pekko/remote/classic/RemoteNodeRestartGateSpec.scala b/remote-tests/src/multi-jvm/scala/org/apache/pekko/remote/classic/RemoteNodeRestartGateSpec.scala
index bbd4f747984..9d6f4d74c72 100644
--- a/remote-tests/src/multi-jvm/scala/org/apache/pekko/remote/classic/RemoteNodeRestartGateSpec.scala
+++ b/remote-tests/src/multi-jvm/scala/org/apache/pekko/remote/classic/RemoteNodeRestartGateSpec.scala
@@ -17,7 +17,7 @@ import scala.concurrent.Await
import scala.concurrent.duration._
import scala.annotation.nowarn
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.apache.pekko
import pekko.actor.{ ActorIdentity, Identify, _ }
diff --git a/remote-tests/src/multi-jvm/scala/org/apache/pekko/remote/classic/RemoteNodeShutdownAndComesBackSpec.scala b/remote-tests/src/multi-jvm/scala/org/apache/pekko/remote/classic/RemoteNodeShutdownAndComesBackSpec.scala
index 04a69451249..f8bfbf755d0 100644
--- a/remote-tests/src/multi-jvm/scala/org/apache/pekko/remote/classic/RemoteNodeShutdownAndComesBackSpec.scala
+++ b/remote-tests/src/multi-jvm/scala/org/apache/pekko/remote/classic/RemoteNodeShutdownAndComesBackSpec.scala
@@ -16,7 +16,7 @@ package org.apache.pekko.remote.classic
import scala.concurrent.Await
import scala.concurrent.duration._
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.apache.pekko
import pekko.actor.{ ActorIdentity, Identify, _ }
diff --git a/remote-tests/src/multi-jvm/scala/org/apache/pekko/remote/classic/Ticket15109Spec.scala b/remote-tests/src/multi-jvm/scala/org/apache/pekko/remote/classic/Ticket15109Spec.scala
index b38695b0f38..624ec9ecbfd 100644
--- a/remote-tests/src/multi-jvm/scala/org/apache/pekko/remote/classic/Ticket15109Spec.scala
+++ b/remote-tests/src/multi-jvm/scala/org/apache/pekko/remote/classic/Ticket15109Spec.scala
@@ -17,7 +17,7 @@ import scala.concurrent.Await
import scala.concurrent.duration._
import scala.annotation.nowarn
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.apache.pekko
import pekko.actor.{ ActorIdentity, Identify, _ }
diff --git a/remote-tests/src/multi-jvm/scala/org/apache/pekko/remote/routing/RemoteRandomSpec.scala b/remote-tests/src/multi-jvm/scala/org/apache/pekko/remote/routing/RemoteRandomSpec.scala
index bfe1e69b972..81b216f56d8 100644
--- a/remote-tests/src/multi-jvm/scala/org/apache/pekko/remote/routing/RemoteRandomSpec.scala
+++ b/remote-tests/src/multi-jvm/scala/org/apache/pekko/remote/routing/RemoteRandomSpec.scala
@@ -15,7 +15,7 @@ package org.apache.pekko.remote.routing
import scala.concurrent.duration._
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.apache.pekko
import pekko.actor.Actor
diff --git a/remote-tests/src/multi-jvm/scala/org/apache/pekko/remote/routing/RemoteRoundRobinSpec.scala b/remote-tests/src/multi-jvm/scala/org/apache/pekko/remote/routing/RemoteRoundRobinSpec.scala
index 98fc82c8de1..b1635452987 100644
--- a/remote-tests/src/multi-jvm/scala/org/apache/pekko/remote/routing/RemoteRoundRobinSpec.scala
+++ b/remote-tests/src/multi-jvm/scala/org/apache/pekko/remote/routing/RemoteRoundRobinSpec.scala
@@ -17,7 +17,7 @@ import scala.collection.immutable
import scala.concurrent.Await
import scala.concurrent.duration._
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.apache.pekko.actor.{ Actor, ActorRef, Address, PoisonPill, Props }
import org.apache.pekko.pattern.ask
diff --git a/remote-tests/src/multi-jvm/scala/org/apache/pekko/remote/routing/RemoteScatterGatherSpec.scala b/remote-tests/src/multi-jvm/scala/org/apache/pekko/remote/routing/RemoteScatterGatherSpec.scala
index 1b11dc204e1..1d5f333b20c 100644
--- a/remote-tests/src/multi-jvm/scala/org/apache/pekko/remote/routing/RemoteScatterGatherSpec.scala
+++ b/remote-tests/src/multi-jvm/scala/org/apache/pekko/remote/routing/RemoteScatterGatherSpec.scala
@@ -15,7 +15,7 @@ package org.apache.pekko.remote.routing
import scala.concurrent.duration._
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.apache.pekko.actor.Actor
import org.apache.pekko.actor.ActorRef
diff --git a/remote-tests/src/multi-jvm/scala/org/apache/pekko/remote/testconductor/TestConductorSpec.scala b/remote-tests/src/multi-jvm/scala/org/apache/pekko/remote/testconductor/TestConductorSpec.scala
index eee8ef87db4..dc789268990 100644
--- a/remote-tests/src/multi-jvm/scala/org/apache/pekko/remote/testconductor/TestConductorSpec.scala
+++ b/remote-tests/src/multi-jvm/scala/org/apache/pekko/remote/testconductor/TestConductorSpec.scala
@@ -15,7 +15,7 @@ package org.apache.pekko.remote.testconductor
import scala.concurrent.duration._
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.apache.pekko
import pekko.actor.{ Actor, ActorIdentity, Deploy, Identify, Props }
diff --git a/remote-tests/src/test/scala/org/apache/pekko/remote/artery/ArteryFailedToBindSpec.scala b/remote-tests/src/test/scala/org/apache/pekko/remote/artery/ArteryFailedToBindSpec.scala
index 19fbe1bfd64..4f759cfba0e 100644
--- a/remote-tests/src/test/scala/org/apache/pekko/remote/artery/ArteryFailedToBindSpec.scala
+++ b/remote-tests/src/test/scala/org/apache/pekko/remote/artery/ArteryFailedToBindSpec.scala
@@ -13,7 +13,7 @@
package org.apache.pekko.remote.artery
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.scalatest.matchers.should.Matchers
import org.scalatest.wordspec.AnyWordSpec
diff --git a/remote-tests/src/test/scala/org/apache/pekko/remote/classic/RemotingFailedToBindSpec.scala b/remote-tests/src/test/scala/org/apache/pekko/remote/classic/RemotingFailedToBindSpec.scala
index b610c708e9a..c7da4c0bc12 100644
--- a/remote-tests/src/test/scala/org/apache/pekko/remote/classic/RemotingFailedToBindSpec.scala
+++ b/remote-tests/src/test/scala/org/apache/pekko/remote/classic/RemotingFailedToBindSpec.scala
@@ -13,7 +13,7 @@
package org.apache.pekko.remote.classic
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.scalatest.matchers.should.Matchers
import org.scalatest.wordspec.AnyWordSpec
import org.apache.pekko
diff --git a/remote/src/main/mima-filters/2.0.x.backwards.excludes/replace-lightbend-config-with-sconfig.excludes b/remote/src/main/mima-filters/2.0.x.backwards.excludes/replace-lightbend-config-with-sconfig.excludes
new file mode 100644
index 00000000000..3d5bfce94ad
--- /dev/null
+++ b/remote/src/main/mima-filters/2.0.x.backwards.excludes/replace-lightbend-config-with-sconfig.excludes
@@ -0,0 +1,37 @@
+# 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.
+
+# Replacing Lightbend Config (https://github.com/lightbend/config) with sconfig (https://github.com/ekrich/sconfig)
+ProblemFilters.exclude[IncompatibleMethTypeProblem]("org.apache.pekko.remote.DeadlineFailureDetector.this")
+ProblemFilters.exclude[IncompatibleMethTypeProblem]("org.apache.pekko.remote.PhiAccrualFailureDetector.this")
+ProblemFilters.exclude[IncompatibleResultTypeProblem]("org.apache.pekko.remote.RemoteSettings.config")
+ProblemFilters.exclude[IncompatibleResultTypeProblem]("org.apache.pekko.remote.RemoteSettings.WatchFailureDetectorConfig")
+ProblemFilters.exclude[IncompatibleSignatureProblem]("org.apache.pekko.remote.RemoteSettings.Transports")
+ProblemFilters.exclude[IncompatibleMethTypeProblem]("org.apache.pekko.remote.RemoteSettings.this")
+ProblemFilters.exclude[IncompatibleResultTypeProblem]("org.apache.pekko.remote.artery.ArterySettings#Advanced.config")
+ProblemFilters.exclude[IncompatibleResultTypeProblem]("org.apache.pekko.remote.artery.ArterySettings#Advanced#Aeron.config")
+ProblemFilters.exclude[IncompatibleResultTypeProblem]("org.apache.pekko.remote.artery.ArterySettings#Advanced#Tcp.config")
+ProblemFilters.exclude[IncompatibleResultTypeProblem]("org.apache.pekko.remote.artery.ArterySettings#Bind.config")
+ProblemFilters.exclude[IncompatibleResultTypeProblem]("org.apache.pekko.remote.artery.ArterySettings#Canonical.config")
+ProblemFilters.exclude[IncompatibleResultTypeProblem]("org.apache.pekko.remote.artery.ArterySettings#Compression#ActorRefs.config")
+ProblemFilters.exclude[IncompatibleResultTypeProblem]("org.apache.pekko.remote.artery.ArterySettings#Compression#Manifests.config")
+ProblemFilters.exclude[IncompatibleResultTypeProblem]("org.apache.pekko.remote.artery.tcp.ConfigSSLEngineProvider.config")
+ProblemFilters.exclude[IncompatibleMethTypeProblem]("org.apache.pekko.remote.artery.tcp.ConfigSSLEngineProvider.this")
+ProblemFilters.exclude[IncompatibleResultTypeProblem]("org.apache.pekko.remote.artery.tcp.ssl.RotatingKeysSSLEngineProvider.config")
+ProblemFilters.exclude[IncompatibleMethTypeProblem]("org.apache.pekko.remote.artery.tcp.ssl.RotatingKeysSSLEngineProvider.this")
+ProblemFilters.exclude[IncompatibleMethTypeProblem]("org.apache.pekko.remote.transport.TestTransport.this")
+ProblemFilters.exclude[IncompatibleMethTypeProblem]("org.apache.pekko.remote.transport.netty.NettyTransportSettings.this")
diff --git a/remote/src/main/resources/reference.conf b/remote/src/main/resources/reference.conf
index 45621ff7552..19ad57f177d 100644
--- a/remote/src/main/resources/reference.conf
+++ b/remote/src/main/resources/reference.conf
@@ -71,8 +71,8 @@ pekko {
"org.apache.pekko.actor.LocalScope$" = pekko-misc
"org.apache.pekko.remote.RemoteScope" = pekko-misc
- "com.typesafe.config.impl.SimpleConfig" = pekko-misc
- "com.typesafe.config.Config" = pekko-misc
+ "org.ekrich.config.impl.SimpleConfig" = pekko-misc
+ "org.ekrich.config.Config" = pekko-misc
"org.apache.pekko.routing.FromConfig" = pekko-misc
"org.apache.pekko.routing.DefaultResizer" = pekko-misc
@@ -217,7 +217,7 @@ pekko {
# FQCN of the failure detector implementation.
# It must implement org.apache.pekko.remote.FailureDetector and have
- # a public constructor with a com.typesafe.config.Config and
+ # a public constructor with a org.ekrich.config.Config and
# org.apache.pekko.actor.EventStream parameter.
implementation-class = "org.apache.pekko.remote.PhiAccrualFailureDetector"
@@ -320,7 +320,7 @@ pekko {
# FQCN of the failure detector implementation.
# It must implement org.apache.pekko.remote.FailureDetector and have
- # a public constructor with a com.typesafe.config.Config and
+ # a public constructor with a org.ekrich.config.Config and
# org.apache.pekko.actor.EventStream parameter.
implementation-class = "org.apache.pekko.remote.DeadlineFailureDetector"
@@ -514,7 +514,7 @@ pekko {
# The class given here must implement the org.apache.pekko.remote.transport.Transport
# interface and offer a public constructor which takes two arguments:
# 1) org.apache.pekko.actor.ExtendedActorSystem
- # 2) com.typesafe.config.Config
+ # 2) org.ekrich.config.Config
transport-class = "org.apache.pekko.remote.transport.netty.NettyTransport"
# Transport drivers can be augmented with adapters by adding their
diff --git a/remote/src/main/scala/org/apache/pekko/remote/DeadlineFailureDetector.scala b/remote/src/main/scala/org/apache/pekko/remote/DeadlineFailureDetector.scala
index 15cf6bc8b38..fc268d06044 100644
--- a/remote/src/main/scala/org/apache/pekko/remote/DeadlineFailureDetector.scala
+++ b/remote/src/main/scala/org/apache/pekko/remote/DeadlineFailureDetector.scala
@@ -16,7 +16,7 @@ package org.apache.pekko.remote
import scala.concurrent.duration.Duration
import scala.concurrent.duration.FiniteDuration
-import com.typesafe.config.Config
+import org.ekrich.config.Config
import org.apache.pekko
import pekko.event.EventStream
diff --git a/remote/src/main/scala/org/apache/pekko/remote/FailureDetectorRegistry.scala b/remote/src/main/scala/org/apache/pekko/remote/FailureDetectorRegistry.scala
index b006f7844aa..0d043e2b744 100644
--- a/remote/src/main/scala/org/apache/pekko/remote/FailureDetectorRegistry.scala
+++ b/remote/src/main/scala/org/apache/pekko/remote/FailureDetectorRegistry.scala
@@ -13,7 +13,7 @@
package org.apache.pekko.remote
-import com.typesafe.config.Config
+import org.ekrich.config.Config
import org.apache.pekko
import pekko.ConfigurationException
@@ -67,7 +67,7 @@ private[pekko] object FailureDetectorLoader {
/**
* Loads and instantiates a given [[FailureDetector]] implementation. The class to be loaded must have a constructor
- * that accepts a [[com.typesafe.config.Config]] and an [[pekko.event.EventStream]] parameter. Will throw ConfigurationException
+ * that accepts a [[org.ekrich.config.Config]] and an [[pekko.event.EventStream]] parameter. Will throw ConfigurationException
* if the implementation cannot be loaded.
*
* @param fqcn Fully qualified class name of the implementation to be loaded.
@@ -91,7 +91,7 @@ private[pekko] object FailureDetectorLoader {
/**
* Loads and instantiates a given [[FailureDetector]] implementation. The class to be loaded must have a constructor
- * that accepts a [[com.typesafe.config.Config]] and an [[pekko.event.EventStream]] parameter. Will throw ConfigurationException
+ * that accepts a [[org.ekrich.config.Config]] and an [[pekko.event.EventStream]] parameter. Will throw ConfigurationException
* if the implementation cannot be loaded. Use [[FailureDetectorLoader#load]] if no implicit [[pekko.actor.ActorContext]] is
* available.
*
diff --git a/remote/src/main/scala/org/apache/pekko/remote/PhiAccrualFailureDetector.scala b/remote/src/main/scala/org/apache/pekko/remote/PhiAccrualFailureDetector.scala
index 6493c606faa..57ce37e6761 100644
--- a/remote/src/main/scala/org/apache/pekko/remote/PhiAccrualFailureDetector.scala
+++ b/remote/src/main/scala/org/apache/pekko/remote/PhiAccrualFailureDetector.scala
@@ -18,7 +18,7 @@ import scala.annotation.tailrec
import scala.collection.immutable
import scala.concurrent.duration.Duration
import scala.concurrent.duration.FiniteDuration
-import com.typesafe.config.Config
+import org.ekrich.config.Config
import org.apache.pekko
import pekko.annotation.InternalApi
import pekko.event.EventStream
diff --git a/remote/src/main/scala/org/apache/pekko/remote/RemoteDeployer.scala b/remote/src/main/scala/org/apache/pekko/remote/RemoteDeployer.scala
index 688c65fbe97..3fe6e662f33 100644
--- a/remote/src/main/scala/org/apache/pekko/remote/RemoteDeployer.scala
+++ b/remote/src/main/scala/org/apache/pekko/remote/RemoteDeployer.scala
@@ -13,7 +13,7 @@
package org.apache.pekko.remote
-import com.typesafe.config._
+import org.ekrich.config._
import org.apache.pekko
import pekko.ConfigurationException
diff --git a/remote/src/main/scala/org/apache/pekko/remote/RemoteSettings.scala b/remote/src/main/scala/org/apache/pekko/remote/RemoteSettings.scala
index 1d4e3e6c294..f0a4ba0de27 100644
--- a/remote/src/main/scala/org/apache/pekko/remote/RemoteSettings.scala
+++ b/remote/src/main/scala/org/apache/pekko/remote/RemoteSettings.scala
@@ -17,7 +17,7 @@ import scala.collection.immutable
import scala.concurrent.duration._
import scala.annotation.nowarn
-import com.typesafe.config.Config
+import org.ekrich.config.Config
import org.apache.pekko
import pekko.ConfigurationException
diff --git a/remote/src/main/scala/org/apache/pekko/remote/Remoting.scala b/remote/src/main/scala/org/apache/pekko/remote/Remoting.scala
index 51a7deae0f9..a2fb7b9c722 100644
--- a/remote/src/main/scala/org/apache/pekko/remote/Remoting.scala
+++ b/remote/src/main/scala/org/apache/pekko/remote/Remoting.scala
@@ -25,7 +25,7 @@ import scala.util.{ Failure, Success }
import scala.util.control.NonFatal
import scala.annotation.nowarn
-import com.typesafe.config.Config
+import org.ekrich.config.Config
import org.apache.pekko
import pekko.Done
@@ -930,7 +930,7 @@ private[remote] class EndpointManager(conf: Config, log: LoggingAdapter)
throw new IllegalArgumentException(
s"Cannot instantiate transport [$fqn]. " +
"Make sure it extends [org.apache.pekko.remote.transport.Transport] and has constructor with " +
- "[org.apache.pekko.actor.ExtendedActorSystem] and [com.typesafe.config.Config] parameters",
+ "[org.apache.pekko.actor.ExtendedActorSystem] and [org.ekrich.config.Config] parameters",
exception)
}
diff --git a/remote/src/main/scala/org/apache/pekko/remote/artery/ArterySettings.scala b/remote/src/main/scala/org/apache/pekko/remote/artery/ArterySettings.scala
index 012483f3c98..95ffdc51854 100644
--- a/remote/src/main/scala/org/apache/pekko/remote/artery/ArterySettings.scala
+++ b/remote/src/main/scala/org/apache/pekko/remote/artery/ArterySettings.scala
@@ -18,8 +18,8 @@ import java.net.InetAddress
import scala.concurrent.duration._
import scala.annotation.nowarn
-import com.typesafe.config.Config
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.Config
+import org.ekrich.config.ConfigFactory
import org.apache.pekko
import pekko.NotUsed
diff --git a/remote/src/main/scala/org/apache/pekko/remote/artery/tcp/ConfigSSLEngineProvider.scala b/remote/src/main/scala/org/apache/pekko/remote/artery/tcp/ConfigSSLEngineProvider.scala
index eca77f416ea..416d419913e 100644
--- a/remote/src/main/scala/org/apache/pekko/remote/artery/tcp/ConfigSSLEngineProvider.scala
+++ b/remote/src/main/scala/org/apache/pekko/remote/artery/tcp/ConfigSSLEngineProvider.scala
@@ -28,7 +28,7 @@ import pekko.event.Logging
import pekko.event.MarkerLoggingAdapter
import pekko.remote.artery.tcp.ssl.SSLEngineConfig
import pekko.stream.TLSRole
-import com.typesafe.config.Config
+import org.ekrich.config.Config
import javax.net.ssl.KeyManager
import javax.net.ssl.KeyManagerFactory
import javax.net.ssl.SSLContext
diff --git a/remote/src/main/scala/org/apache/pekko/remote/artery/tcp/SecureRandomFactory.scala b/remote/src/main/scala/org/apache/pekko/remote/artery/tcp/SecureRandomFactory.scala
index 8a87688f025..360a4b31e05 100644
--- a/remote/src/main/scala/org/apache/pekko/remote/artery/tcp/SecureRandomFactory.scala
+++ b/remote/src/main/scala/org/apache/pekko/remote/artery/tcp/SecureRandomFactory.scala
@@ -18,7 +18,7 @@ import java.security.SecureRandom
import org.apache.pekko
import pekko.annotation.InternalApi
import pekko.event.MarkerLoggingAdapter
-import com.typesafe.config.Config
+import org.ekrich.config.Config
/**
* INTERNAL API
diff --git a/remote/src/main/scala/org/apache/pekko/remote/artery/tcp/ssl/RotatingKeysSSLEngineProvider.scala b/remote/src/main/scala/org/apache/pekko/remote/artery/tcp/ssl/RotatingKeysSSLEngineProvider.scala
index 4b400ebba10..7adfec4ac27 100644
--- a/remote/src/main/scala/org/apache/pekko/remote/artery/tcp/ssl/RotatingKeysSSLEngineProvider.scala
+++ b/remote/src/main/scala/org/apache/pekko/remote/artery/tcp/ssl/RotatingKeysSSLEngineProvider.scala
@@ -33,7 +33,7 @@ import pekko.remote.artery.tcp.SslTransportException
import pekko.remote.artery.tcp.ssl.RotatingKeysSSLEngineProvider.CachedContext
import pekko.remote.artery.tcp.ssl.RotatingKeysSSLEngineProvider.ConfiguredContext
import pekko.stream.TLSRole
-import com.typesafe.config.Config
+import org.ekrich.config.Config
import javax.net.ssl.KeyManager
import javax.net.ssl.SSLContext
import javax.net.ssl.SSLEngine
diff --git a/remote/src/main/scala/org/apache/pekko/remote/artery/tcp/ssl/SSLEngineConfig.scala b/remote/src/main/scala/org/apache/pekko/remote/artery/tcp/ssl/SSLEngineConfig.scala
index cc9cc702116..ce2015a300a 100644
--- a/remote/src/main/scala/org/apache/pekko/remote/artery/tcp/ssl/SSLEngineConfig.scala
+++ b/remote/src/main/scala/org/apache/pekko/remote/artery/tcp/ssl/SSLEngineConfig.scala
@@ -16,7 +16,7 @@ package org.apache.pekko.remote.artery.tcp.ssl
import org.apache.pekko
import pekko.annotation.InternalApi
import pekko.util.ccompat.JavaConverters._
-import com.typesafe.config.Config
+import org.ekrich.config.Config
import scala.concurrent.duration.FiniteDuration
import scala.concurrent.duration._
diff --git a/remote/src/main/scala/org/apache/pekko/remote/routing/RemoteRouterConfig.scala b/remote/src/main/scala/org/apache/pekko/remote/routing/RemoteRouterConfig.scala
index ddbc53a0e89..af10a0e068a 100644
--- a/remote/src/main/scala/org/apache/pekko/remote/routing/RemoteRouterConfig.scala
+++ b/remote/src/main/scala/org/apache/pekko/remote/routing/RemoteRouterConfig.scala
@@ -16,7 +16,7 @@ package org.apache.pekko.remote.routing
import java.util.concurrent.atomic.AtomicInteger
import scala.annotation.nowarn
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.apache.pekko
import pekko.actor.ActorCell
diff --git a/remote/src/main/scala/org/apache/pekko/remote/serialization/DaemonMsgCreateSerializer.scala b/remote/src/main/scala/org/apache/pekko/remote/serialization/DaemonMsgCreateSerializer.scala
index 303f68ff523..627869b6c93 100644
--- a/remote/src/main/scala/org/apache/pekko/remote/serialization/DaemonMsgCreateSerializer.scala
+++ b/remote/src/main/scala/org/apache/pekko/remote/serialization/DaemonMsgCreateSerializer.scala
@@ -14,7 +14,7 @@
package org.apache.pekko.remote.serialization
import scala.collection.immutable
-import com.typesafe.config.{ Config, ConfigFactory }
+import org.ekrich.config.{ Config, ConfigFactory }
import util.{ Failure, Success }
import org.apache.pekko
@@ -123,7 +123,7 @@ private[pekko] final class DaemonMsgCreateSerializer(val system: ExtendedActorSy
// old wire format
oldDeserialize(protoDeploy.getConfig, classOf[Config])
}
- } else ConfigFactory.empty
+ } else ConfigFactory.empty()
val routerConfig =
if (protoDeploy.hasRouterConfig) {
@@ -253,7 +253,7 @@ private[pekko] final class DaemonMsgCreateSerializer(val system: ExtendedActorSy
case Failure(e) =>
// Fallback to the java serializer, because some interfaces don't implement java.io.Serializable,
// but the impl instance does. This could be optimized by adding java serializers in reference.conf:
- // com.typesafe.config.Config
+ // org.ekrich.config.Config
// org.apache.pekko.routing.RouterConfig
// org.apache.pekko.actor.Scope
serialization.deserialize(bytes, classOf[java.io.Serializable]) match {
diff --git a/remote/src/main/scala/org/apache/pekko/remote/serialization/MiscMessageSerializer.scala b/remote/src/main/scala/org/apache/pekko/remote/serialization/MiscMessageSerializer.scala
index 70c6c925916..e08367e02fb 100644
--- a/remote/src/main/scala/org/apache/pekko/remote/serialization/MiscMessageSerializer.scala
+++ b/remote/src/main/scala/org/apache/pekko/remote/serialization/MiscMessageSerializer.scala
@@ -19,7 +19,7 @@ import java.util.Optional
import java.util.concurrent.TimeUnit
import scala.concurrent.duration.{ FiniteDuration, TimeUnit }
-import com.typesafe.config.{ Config, ConfigFactory, ConfigRenderOptions }
+import org.ekrich.config.{ Config, ConfigFactory, ConfigRenderOptions }
import org.apache.pekko
import pekko.{ Done, NotUsed }
import pekko.actor._
@@ -167,7 +167,7 @@ class MiscMessageSerializer(val system: ExtendedActorSystem) extends SerializerW
}
private def serializeConfig(c: Config): Array[Byte] = {
- c.root.render(ConfigRenderOptions.concise()).getBytes(StandardCharsets.UTF_8)
+ c.root.render(ConfigRenderOptions.concise).getBytes(StandardCharsets.UTF_8)
}
private def protoForAddressData(address: Address): AddressData.Builder =
diff --git a/remote/src/main/scala/org/apache/pekko/remote/transport/PekkoProtocolTransport.scala b/remote/src/main/scala/org/apache/pekko/remote/transport/PekkoProtocolTransport.scala
index 168d80af033..2b77c43fe39 100644
--- a/remote/src/main/scala/org/apache/pekko/remote/transport/PekkoProtocolTransport.scala
+++ b/remote/src/main/scala/org/apache/pekko/remote/transport/PekkoProtocolTransport.scala
@@ -21,7 +21,7 @@ import scala.concurrent.duration._
import scala.util.control.NonFatal
import scala.annotation.nowarn
-import com.typesafe.config.Config
+import org.ekrich.config.Config
import org.apache.pekko
import pekko.{ OnlyCauseStackTrace, PekkoException }
@@ -104,7 +104,7 @@ final case class HandshakeInfo(origin: Address, uid: Int, cookie: Option[String]
* - pluggable codecs to encode and decode Pekko PDUs
*
* It is not possible to load this transport dynamically using the configuration of remoting, because it does not
- * expose a constructor with [[com.typesafe.config.Config]] and [[pekko.actor.ExtendedActorSystem]] parameters.
+ * expose a constructor with [[org.ekrich.config.Config]] and [[pekko.actor.ExtendedActorSystem]] parameters.
* This transport is instead loaded automatically by [[pekko.remote.Remoting]] to wrap all the dynamically loaded
* transports.
*
diff --git a/remote/src/main/scala/org/apache/pekko/remote/transport/TestTransport.scala b/remote/src/main/scala/org/apache/pekko/remote/transport/TestTransport.scala
index 2fd25082437..6c49e26e8e5 100644
--- a/remote/src/main/scala/org/apache/pekko/remote/transport/TestTransport.scala
+++ b/remote/src/main/scala/org/apache/pekko/remote/transport/TestTransport.scala
@@ -19,7 +19,7 @@ import scala.concurrent.{ Await, Future, Promise }
import scala.concurrent.ExecutionContext.Implicits.global
import scala.concurrent.duration._
-import com.typesafe.config.Config
+import org.ekrich.config.Config
import org.apache.pekko
import pekko.actor._
diff --git a/remote/src/main/scala/org/apache/pekko/remote/transport/Transport.scala b/remote/src/main/scala/org/apache/pekko/remote/transport/Transport.scala
index d8635aed9fd..aebfa2dda73 100644
--- a/remote/src/main/scala/org/apache/pekko/remote/transport/Transport.scala
+++ b/remote/src/main/scala/org/apache/pekko/remote/transport/Transport.scala
@@ -77,7 +77,7 @@ object Transport {
* underlying transmission mechanism and setting up logical links between transport entities.
*
* Transport implementations that are loaded dynamically by the remoting must have a constructor that accepts a
- * [[com.typesafe.config.Config]] and an [[pekko.actor.ExtendedActorSystem]] as parameters.
+ * [[org.ekrich.config.Config]] and an [[pekko.actor.ExtendedActorSystem]] as parameters.
*/
@deprecated("Classic remoting is deprecated, use Artery", "Akka 2.6.0")
trait Transport {
diff --git a/remote/src/main/scala/org/apache/pekko/remote/transport/netty/NettySSLSupport.scala b/remote/src/main/scala/org/apache/pekko/remote/transport/netty/NettySSLSupport.scala
index 421ce5e782c..8af6ce7c275 100644
--- a/remote/src/main/scala/org/apache/pekko/remote/transport/netty/NettySSLSupport.scala
+++ b/remote/src/main/scala/org/apache/pekko/remote/transport/netty/NettySSLSupport.scala
@@ -15,7 +15,7 @@ package org.apache.pekko.remote.transport.netty
import scala.annotation.nowarn
-import com.typesafe.config.Config
+import org.ekrich.config.Config
import org.apache.pekko
import pekko.util.ccompat.JavaConverters._
diff --git a/remote/src/main/scala/org/apache/pekko/remote/transport/netty/NettyTransport.scala b/remote/src/main/scala/org/apache/pekko/remote/transport/netty/NettyTransport.scala
index 4110daca3f3..975a21a78c1 100644
--- a/remote/src/main/scala/org/apache/pekko/remote/transport/netty/NettyTransport.scala
+++ b/remote/src/main/scala/org/apache/pekko/remote/transport/netty/NettyTransport.scala
@@ -23,7 +23,7 @@ import scala.concurrent.duration.FiniteDuration
import scala.util.Try
import scala.util.control.{ NoStackTrace, NonFatal }
-import com.typesafe.config.Config
+import org.ekrich.config.Config
import org.apache.pekko
import pekko.ConfigurationException
diff --git a/remote/src/test/scala/org/apache/pekko/remote/DaemonicSpec.scala b/remote/src/test/scala/org/apache/pekko/remote/DaemonicSpec.scala
index eac1642be74..653058fff59 100644
--- a/remote/src/test/scala/org/apache/pekko/remote/DaemonicSpec.scala
+++ b/remote/src/test/scala/org/apache/pekko/remote/DaemonicSpec.scala
@@ -15,7 +15,7 @@ package org.apache.pekko.remote
import scala.concurrent.duration._
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.apache.pekko
import pekko.actor.{ ActorSystem, Address }
diff --git a/remote/src/test/scala/org/apache/pekko/remote/MessageLoggingSpec.scala b/remote/src/test/scala/org/apache/pekko/remote/MessageLoggingSpec.scala
index 462d7aebc19..a58dc358a4b 100644
--- a/remote/src/test/scala/org/apache/pekko/remote/MessageLoggingSpec.scala
+++ b/remote/src/test/scala/org/apache/pekko/remote/MessageLoggingSpec.scala
@@ -14,7 +14,7 @@
package org.apache.pekko.remote
import MessageLoggingSpec._
-import com.typesafe.config.{ Config, ConfigFactory }
+import org.ekrich.config.{ Config, ConfigFactory }
import org.apache.pekko
import pekko.actor.{ Actor, ActorIdentity, ActorSystem, ExtendedActorSystem, Identify, Props, RootActorPath }
diff --git a/remote/src/test/scala/org/apache/pekko/remote/RemoteActorMailboxSpec.scala b/remote/src/test/scala/org/apache/pekko/remote/RemoteActorMailboxSpec.scala
index 99f4928bfec..24c62b441d3 100644
--- a/remote/src/test/scala/org/apache/pekko/remote/RemoteActorMailboxSpec.scala
+++ b/remote/src/test/scala/org/apache/pekko/remote/RemoteActorMailboxSpec.scala
@@ -13,7 +13,7 @@
package org.apache.pekko.remote
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.apache.pekko.actor.ActorMailboxSpec
diff --git a/remote/src/test/scala/org/apache/pekko/remote/RemoteDeployerSpec.scala b/remote/src/test/scala/org/apache/pekko/remote/RemoteDeployerSpec.scala
index 44edd851189..05d44fc6ae6 100644
--- a/remote/src/test/scala/org/apache/pekko/remote/RemoteDeployerSpec.scala
+++ b/remote/src/test/scala/org/apache/pekko/remote/RemoteDeployerSpec.scala
@@ -13,7 +13,7 @@
package org.apache.pekko.remote
-import com.typesafe.config._
+import org.ekrich.config._
import org.apache.pekko
import pekko.ConfigurationException
diff --git a/remote/src/test/scala/org/apache/pekko/remote/RemoteFeaturesSpec.scala b/remote/src/test/scala/org/apache/pekko/remote/RemoteFeaturesSpec.scala
index 78a50a3ecaf..484e540d0d2 100644
--- a/remote/src/test/scala/org/apache/pekko/remote/RemoteFeaturesSpec.scala
+++ b/remote/src/test/scala/org/apache/pekko/remote/RemoteFeaturesSpec.scala
@@ -16,8 +16,8 @@ package org.apache.pekko.remote
import scala.concurrent.duration._
import scala.annotation.nowarn
-import com.typesafe.config.Config
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.Config
+import org.ekrich.config.ConfigFactory
import org.apache.pekko
import pekko.actor.Actor
diff --git a/remote/src/test/scala/org/apache/pekko/remote/RemoteRouterSpec.scala b/remote/src/test/scala/org/apache/pekko/remote/RemoteRouterSpec.scala
index a5e457e1d6b..1a300dd3450 100644
--- a/remote/src/test/scala/org/apache/pekko/remote/RemoteRouterSpec.scala
+++ b/remote/src/test/scala/org/apache/pekko/remote/RemoteRouterSpec.scala
@@ -15,7 +15,7 @@ package org.apache.pekko.remote
import scala.collection.immutable
-import com.typesafe.config._
+import org.ekrich.config._
import org.apache.pekko
import pekko.actor._
diff --git a/remote/src/test/scala/org/apache/pekko/remote/Ticket1978CommunicationSpec.scala b/remote/src/test/scala/org/apache/pekko/remote/Ticket1978CommunicationSpec.scala
index 8e045fd6bfd..2453ccce2d1 100644
--- a/remote/src/test/scala/org/apache/pekko/remote/Ticket1978CommunicationSpec.scala
+++ b/remote/src/test/scala/org/apache/pekko/remote/Ticket1978CommunicationSpec.scala
@@ -22,7 +22,7 @@ import scala.concurrent.duration._
import scala.reflect.classTag
import scala.annotation.nowarn
-import com.typesafe.config._
+import org.ekrich.config._
import org.apache.pekko
import pekko.actor._
@@ -93,7 +93,7 @@ object Configuration {
ConfigFactory.parseString(conf.format(localPort, trustStore, keyStore, cipher, enabled.mkString(", ")))
val fullConfig = config
.withFallback(PekkoSpec.testConf)
- .withFallback(ConfigFactory.load)
+ .withFallback(ConfigFactory.load())
.getConfig("pekko.remote.classic.netty.ssl.security")
val settings = new SSLSettings(fullConfig)
diff --git a/remote/src/test/scala/org/apache/pekko/remote/TransientSerializationErrorSpec.scala b/remote/src/test/scala/org/apache/pekko/remote/TransientSerializationErrorSpec.scala
index 001906e21f7..684c9d7f0e4 100644
--- a/remote/src/test/scala/org/apache/pekko/remote/TransientSerializationErrorSpec.scala
+++ b/remote/src/test/scala/org/apache/pekko/remote/TransientSerializationErrorSpec.scala
@@ -15,7 +15,7 @@ package org.apache.pekko.remote
import java.io.NotSerializableException
-import com.typesafe.config.{ Config, ConfigFactory }
+import org.ekrich.config.{ Config, ConfigFactory }
import org.apache.pekko
import pekko.actor.{ ActorSystem, ExtendedActorSystem, RootActorPath }
diff --git a/remote/src/test/scala/org/apache/pekko/remote/artery/ArteryMultiNodeSpec.scala b/remote/src/test/scala/org/apache/pekko/remote/artery/ArteryMultiNodeSpec.scala
index 1a732a80e69..b233ca589a7 100644
--- a/remote/src/test/scala/org/apache/pekko/remote/artery/ArteryMultiNodeSpec.scala
+++ b/remote/src/test/scala/org/apache/pekko/remote/artery/ArteryMultiNodeSpec.scala
@@ -13,7 +13,7 @@
package org.apache.pekko.remote.artery
-import com.typesafe.config.{ Config, ConfigFactory }
+import org.ekrich.config.{ Config, ConfigFactory }
import org.scalatest.{ Outcome, Pending }
import org.apache.pekko
diff --git a/remote/src/test/scala/org/apache/pekko/remote/artery/ArterySpecSupport.scala b/remote/src/test/scala/org/apache/pekko/remote/artery/ArterySpecSupport.scala
index 85685646fe4..f9db42713db 100644
--- a/remote/src/test/scala/org/apache/pekko/remote/artery/ArterySpecSupport.scala
+++ b/remote/src/test/scala/org/apache/pekko/remote/artery/ArterySpecSupport.scala
@@ -13,7 +13,7 @@
package org.apache.pekko.remote.artery
-import com.typesafe.config.{ Config, ConfigFactory }
+import org.ekrich.config.{ Config, ConfigFactory }
object ArterySpecSupport {
// same for all artery enabled remoting tests
diff --git a/remote/src/test/scala/org/apache/pekko/remote/artery/BindCanonicalAddressSpec.scala b/remote/src/test/scala/org/apache/pekko/remote/artery/BindCanonicalAddressSpec.scala
index 58a6c222b7d..556452cdb11 100644
--- a/remote/src/test/scala/org/apache/pekko/remote/artery/BindCanonicalAddressSpec.scala
+++ b/remote/src/test/scala/org/apache/pekko/remote/artery/BindCanonicalAddressSpec.scala
@@ -18,7 +18,7 @@ import java.net.InetAddress
import scala.concurrent.Await
import scala.concurrent.duration.Duration
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.scalatest.matchers.should.Matchers
import org.scalatest.wordspec.AnyWordSpec
diff --git a/remote/src/test/scala/org/apache/pekko/remote/artery/HandshakeDenySpec.scala b/remote/src/test/scala/org/apache/pekko/remote/artery/HandshakeDenySpec.scala
index 44e1e5e0f39..85a9b686606 100644
--- a/remote/src/test/scala/org/apache/pekko/remote/artery/HandshakeDenySpec.scala
+++ b/remote/src/test/scala/org/apache/pekko/remote/artery/HandshakeDenySpec.scala
@@ -15,7 +15,7 @@ package org.apache.pekko.remote.artery
import scala.concurrent.duration._
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.apache.pekko
import pekko.actor.{ ActorIdentity, Identify }
diff --git a/remote/src/test/scala/org/apache/pekko/remote/artery/HandshakeFailureSpec.scala b/remote/src/test/scala/org/apache/pekko/remote/artery/HandshakeFailureSpec.scala
index 7e953754e4e..df03aa62bf7 100644
--- a/remote/src/test/scala/org/apache/pekko/remote/artery/HandshakeFailureSpec.scala
+++ b/remote/src/test/scala/org/apache/pekko/remote/artery/HandshakeFailureSpec.scala
@@ -15,7 +15,7 @@ package org.apache.pekko.remote.artery
import scala.concurrent.duration._
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.apache.pekko
import pekko.actor.{ ActorIdentity, Identify }
diff --git a/remote/src/test/scala/org/apache/pekko/remote/artery/HandshakeRetrySpec.scala b/remote/src/test/scala/org/apache/pekko/remote/artery/HandshakeRetrySpec.scala
index 407bd7c2717..889da1a35d6 100644
--- a/remote/src/test/scala/org/apache/pekko/remote/artery/HandshakeRetrySpec.scala
+++ b/remote/src/test/scala/org/apache/pekko/remote/artery/HandshakeRetrySpec.scala
@@ -15,7 +15,7 @@ package org.apache.pekko.remote.artery
import scala.concurrent.duration._
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.apache.pekko
import pekko.actor._
diff --git a/remote/src/test/scala/org/apache/pekko/remote/artery/LateConnectSpec.scala b/remote/src/test/scala/org/apache/pekko/remote/artery/LateConnectSpec.scala
index 5f2861c7069..19ac395ebe5 100644
--- a/remote/src/test/scala/org/apache/pekko/remote/artery/LateConnectSpec.scala
+++ b/remote/src/test/scala/org/apache/pekko/remote/artery/LateConnectSpec.scala
@@ -15,7 +15,7 @@ package org.apache.pekko.remote.artery
import scala.concurrent.duration._
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.apache.pekko
import pekko.actor.RootActorPath
diff --git a/remote/src/test/scala/org/apache/pekko/remote/artery/RemoteDeathWatchSpec.scala b/remote/src/test/scala/org/apache/pekko/remote/artery/RemoteDeathWatchSpec.scala
index c6ad0f3aece..83c09f9766d 100644
--- a/remote/src/test/scala/org/apache/pekko/remote/artery/RemoteDeathWatchSpec.scala
+++ b/remote/src/test/scala/org/apache/pekko/remote/artery/RemoteDeathWatchSpec.scala
@@ -16,7 +16,7 @@ package org.apache.pekko.remote.artery
import scala.concurrent.duration._
import scala.annotation.nowarn
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.apache.pekko
import pekko.actor._
diff --git a/remote/src/test/scala/org/apache/pekko/remote/artery/RemoteDeployerSpec.scala b/remote/src/test/scala/org/apache/pekko/remote/artery/RemoteDeployerSpec.scala
index 4e27852c85f..585187abacf 100644
--- a/remote/src/test/scala/org/apache/pekko/remote/artery/RemoteDeployerSpec.scala
+++ b/remote/src/test/scala/org/apache/pekko/remote/artery/RemoteDeployerSpec.scala
@@ -13,7 +13,7 @@
package org.apache.pekko.remote.artery
-import com.typesafe.config._
+import org.ekrich.config._
import org.apache.pekko
import pekko.ConfigurationException
diff --git a/remote/src/test/scala/org/apache/pekko/remote/artery/RemoteDeploymentSpec.scala b/remote/src/test/scala/org/apache/pekko/remote/artery/RemoteDeploymentSpec.scala
index 13c5fd9a7e6..7dd993bb6d0 100644
--- a/remote/src/test/scala/org/apache/pekko/remote/artery/RemoteDeploymentSpec.scala
+++ b/remote/src/test/scala/org/apache/pekko/remote/artery/RemoteDeploymentSpec.scala
@@ -13,7 +13,7 @@
package org.apache.pekko.remote.artery
-import com.typesafe.config._
+import org.ekrich.config._
import org.apache.pekko
import pekko.actor._
diff --git a/remote/src/test/scala/org/apache/pekko/remote/artery/RemoteRouterSpec.scala b/remote/src/test/scala/org/apache/pekko/remote/artery/RemoteRouterSpec.scala
index f1fd7986a1e..4a206d7e93a 100644
--- a/remote/src/test/scala/org/apache/pekko/remote/artery/RemoteRouterSpec.scala
+++ b/remote/src/test/scala/org/apache/pekko/remote/artery/RemoteRouterSpec.scala
@@ -15,7 +15,7 @@ package org.apache.pekko.remote.artery
import scala.collection.immutable
-import com.typesafe.config._
+import org.ekrich.config._
import org.apache.pekko
import pekko.actor._
diff --git a/remote/src/test/scala/org/apache/pekko/remote/artery/RemoteSendConsistencySpec.scala b/remote/src/test/scala/org/apache/pekko/remote/artery/RemoteSendConsistencySpec.scala
index 4871b3022f5..874ebe049e2 100644
--- a/remote/src/test/scala/org/apache/pekko/remote/artery/RemoteSendConsistencySpec.scala
+++ b/remote/src/test/scala/org/apache/pekko/remote/artery/RemoteSendConsistencySpec.scala
@@ -17,7 +17,7 @@ import java.util.UUID
import scala.concurrent.duration._
-import com.typesafe.config.{ Config, ConfigFactory }
+import org.ekrich.config.{ Config, ConfigFactory }
import org.apache.pekko
import pekko.actor.Actor
diff --git a/remote/src/test/scala/org/apache/pekko/remote/artery/RemoteWatcherSpec.scala b/remote/src/test/scala/org/apache/pekko/remote/artery/RemoteWatcherSpec.scala
index f8cc5fbf21d..f5815c34bd1 100644
--- a/remote/src/test/scala/org/apache/pekko/remote/artery/RemoteWatcherSpec.scala
+++ b/remote/src/test/scala/org/apache/pekko/remote/artery/RemoteWatcherSpec.scala
@@ -15,7 +15,7 @@ package org.apache.pekko.remote.artery
import scala.concurrent.duration._
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.apache.pekko
import pekko.actor._
diff --git a/remote/src/test/scala/org/apache/pekko/remote/artery/SystemMessageDeliverySpec.scala b/remote/src/test/scala/org/apache/pekko/remote/artery/SystemMessageDeliverySpec.scala
index 22d520e7e4b..61d5cf76777 100644
--- a/remote/src/test/scala/org/apache/pekko/remote/artery/SystemMessageDeliverySpec.scala
+++ b/remote/src/test/scala/org/apache/pekko/remote/artery/SystemMessageDeliverySpec.scala
@@ -18,8 +18,8 @@ import java.util.concurrent.ThreadLocalRandom
import scala.concurrent.Await
import scala.concurrent.duration._
-import com.typesafe.config.Config
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.Config
+import org.ekrich.config.ConfigFactory
import org.apache.pekko
import pekko.NotUsed
diff --git a/remote/src/test/scala/org/apache/pekko/remote/artery/TestContext.scala b/remote/src/test/scala/org/apache/pekko/remote/artery/TestContext.scala
index bbbb2b8c173..d88d27d30de 100644
--- a/remote/src/test/scala/org/apache/pekko/remote/artery/TestContext.scala
+++ b/remote/src/test/scala/org/apache/pekko/remote/artery/TestContext.scala
@@ -19,7 +19,7 @@ import java.util.concurrent.ThreadLocalRandom
import scala.concurrent.Future
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.apache.pekko
import pekko.Done
diff --git a/remote/src/test/scala/org/apache/pekko/remote/artery/UntrustedSpec.scala b/remote/src/test/scala/org/apache/pekko/remote/artery/UntrustedSpec.scala
index 2151f7a6248..bd2b9dfa6cc 100644
--- a/remote/src/test/scala/org/apache/pekko/remote/artery/UntrustedSpec.scala
+++ b/remote/src/test/scala/org/apache/pekko/remote/artery/UntrustedSpec.scala
@@ -15,7 +15,7 @@ package org.apache.pekko.remote.artery
import scala.concurrent.duration._
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.apache.pekko
import pekko.actor.Actor
diff --git a/remote/src/test/scala/org/apache/pekko/remote/artery/compress/CompressionIntegrationSpec.scala b/remote/src/test/scala/org/apache/pekko/remote/artery/compress/CompressionIntegrationSpec.scala
index 34e9975b8ab..e1ae367e930 100644
--- a/remote/src/test/scala/org/apache/pekko/remote/artery/compress/CompressionIntegrationSpec.scala
+++ b/remote/src/test/scala/org/apache/pekko/remote/artery/compress/CompressionIntegrationSpec.scala
@@ -14,7 +14,7 @@
package org.apache.pekko.remote.artery.compress
import scala.concurrent.duration._
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.apache.pekko
import pekko.actor._
import pekko.actor.ExtendedActorSystem
diff --git a/remote/src/test/scala/org/apache/pekko/remote/artery/compress/HandshakeShouldDropCompressionTableSpec.scala b/remote/src/test/scala/org/apache/pekko/remote/artery/compress/HandshakeShouldDropCompressionTableSpec.scala
index 0e5ab6857e5..1e3b879b548 100644
--- a/remote/src/test/scala/org/apache/pekko/remote/artery/compress/HandshakeShouldDropCompressionTableSpec.scala
+++ b/remote/src/test/scala/org/apache/pekko/remote/artery/compress/HandshakeShouldDropCompressionTableSpec.scala
@@ -16,7 +16,7 @@ package org.apache.pekko.remote.artery.compress
import scala.concurrent.Await
import scala.concurrent.duration._
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.scalatest.BeforeAndAfter
import org.apache.pekko
diff --git a/remote/src/test/scala/org/apache/pekko/remote/artery/jfr/JFRRemotingFlightRecorderSpec.scala b/remote/src/test/scala/org/apache/pekko/remote/artery/jfr/JFRRemotingFlightRecorderSpec.scala
index e64e7c885c3..7e2056739d8 100644
--- a/remote/src/test/scala/org/apache/pekko/remote/artery/jfr/JFRRemotingFlightRecorderSpec.scala
+++ b/remote/src/test/scala/org/apache/pekko/remote/artery/jfr/JFRRemotingFlightRecorderSpec.scala
@@ -13,7 +13,7 @@
package org.apache.pekko.remote.artery.jfr
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.apache.pekko
import pekko.actor.ActorSystem
diff --git a/remote/src/test/scala/org/apache/pekko/remote/artery/tcp/TlsTcpSpec.scala b/remote/src/test/scala/org/apache/pekko/remote/artery/tcp/TlsTcpSpec.scala
index 8de36833414..102da97626a 100644
--- a/remote/src/test/scala/org/apache/pekko/remote/artery/tcp/TlsTcpSpec.scala
+++ b/remote/src/test/scala/org/apache/pekko/remote/artery/tcp/TlsTcpSpec.scala
@@ -24,8 +24,8 @@ import pekko.testkit.EventFilter
import pekko.testkit.ImplicitSender
import pekko.testkit.TestActors
import pekko.testkit.TestProbe
-import com.typesafe.config.Config
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.Config
+import org.ekrich.config.ConfigFactory
import javax.net.ssl.SSLEngine
import javax.net.ssl.SSLSession
import org.scalatest.matchers.should.Matchers
diff --git a/remote/src/test/scala/org/apache/pekko/remote/artery/tcp/ssl/CipherSuiteSupportCheck.scala b/remote/src/test/scala/org/apache/pekko/remote/artery/tcp/ssl/CipherSuiteSupportCheck.scala
index 3d8b842f68a..5f97f29ceb1 100644
--- a/remote/src/test/scala/org/apache/pekko/remote/artery/tcp/ssl/CipherSuiteSupportCheck.scala
+++ b/remote/src/test/scala/org/apache/pekko/remote/artery/tcp/ssl/CipherSuiteSupportCheck.scala
@@ -20,7 +20,7 @@ import pekko.actor.ActorSystem
import pekko.actor.ExtendedActorSystem
import pekko.event.NoMarkerLogging
import pekko.remote.artery.tcp.SecureRandomFactory
-import com.typesafe.config.Config
+import org.ekrich.config.Config
import javax.net.ssl.SSLEngine
import scala.util.Try
diff --git a/remote/src/test/scala/org/apache/pekko/remote/artery/tcp/ssl/RotatingKeysSSLEngineProviderSpec.scala b/remote/src/test/scala/org/apache/pekko/remote/artery/tcp/ssl/RotatingKeysSSLEngineProviderSpec.scala
index 0c3b2680a98..2f7c100ad2e 100644
--- a/remote/src/test/scala/org/apache/pekko/remote/artery/tcp/ssl/RotatingKeysSSLEngineProviderSpec.scala
+++ b/remote/src/test/scala/org/apache/pekko/remote/artery/tcp/ssl/RotatingKeysSSLEngineProviderSpec.scala
@@ -36,7 +36,7 @@ import pekko.remote.artery.tcp.TlsTcpSpec
import pekko.testkit.ImplicitSender
import pekko.testkit.TestActors
import pekko.testkit.TestProbe
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import javax.net.ssl.SSLContext
import javax.net.ssl.SSLEngine
import javax.net.ssl.SSLSession
diff --git a/remote/src/test/scala/org/apache/pekko/remote/classic/ActorsLeakSpec.scala b/remote/src/test/scala/org/apache/pekko/remote/classic/ActorsLeakSpec.scala
index 2a9dd698d05..f0aa95c573d 100644
--- a/remote/src/test/scala/org/apache/pekko/remote/classic/ActorsLeakSpec.scala
+++ b/remote/src/test/scala/org/apache/pekko/remote/classic/ActorsLeakSpec.scala
@@ -18,7 +18,7 @@ import scala.concurrent.Await
import scala.concurrent.duration._
import scala.annotation.nowarn
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.apache.pekko
import pekko.actor._
diff --git a/remote/src/test/scala/org/apache/pekko/remote/classic/RemoteDeathWatchSpec.scala b/remote/src/test/scala/org/apache/pekko/remote/classic/RemoteDeathWatchSpec.scala
index c448719f3e6..8c7f6721868 100644
--- a/remote/src/test/scala/org/apache/pekko/remote/classic/RemoteDeathWatchSpec.scala
+++ b/remote/src/test/scala/org/apache/pekko/remote/classic/RemoteDeathWatchSpec.scala
@@ -16,7 +16,7 @@ package org.apache.pekko.remote.classic
import scala.concurrent.duration._
import scala.annotation.nowarn
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.apache.pekko
import pekko.actor.{ RootActorPath, _ }
diff --git a/remote/src/test/scala/org/apache/pekko/remote/classic/RemoteDeploymentAllowListSpec.scala b/remote/src/test/scala/org/apache/pekko/remote/classic/RemoteDeploymentAllowListSpec.scala
index 458057f7358..b8fb8bc97e4 100644
--- a/remote/src/test/scala/org/apache/pekko/remote/classic/RemoteDeploymentAllowListSpec.scala
+++ b/remote/src/test/scala/org/apache/pekko/remote/classic/RemoteDeploymentAllowListSpec.scala
@@ -15,7 +15,7 @@ package org.apache.pekko.remote.classic
import scala.concurrent.duration._
import scala.annotation.nowarn
-import com.typesafe.config._
+import org.ekrich.config._
import org.apache.pekko
import pekko.actor._
import pekko.remote.EndpointException
diff --git a/remote/src/test/scala/org/apache/pekko/remote/classic/RemoteInitErrorSpec.scala b/remote/src/test/scala/org/apache/pekko/remote/classic/RemoteInitErrorSpec.scala
index 25c13db072c..5e57b2aa611 100644
--- a/remote/src/test/scala/org/apache/pekko/remote/classic/RemoteInitErrorSpec.scala
+++ b/remote/src/test/scala/org/apache/pekko/remote/classic/RemoteInitErrorSpec.scala
@@ -18,7 +18,7 @@ import scala.collection.mutable.Set
import scala.concurrent.duration._
import scala.util.control.NonFatal
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.scalatest.concurrent.Eventually._
import org.scalatest.matchers.should.Matchers
import org.scalatest.wordspec.AnyWordSpec
diff --git a/remote/src/test/scala/org/apache/pekko/remote/classic/RemoteSettingsSpec.scala b/remote/src/test/scala/org/apache/pekko/remote/classic/RemoteSettingsSpec.scala
index b2dee383db2..e6a8acce69c 100644
--- a/remote/src/test/scala/org/apache/pekko/remote/classic/RemoteSettingsSpec.scala
+++ b/remote/src/test/scala/org/apache/pekko/remote/classic/RemoteSettingsSpec.scala
@@ -14,7 +14,7 @@
package org.apache.pekko.remote.classic
import scala.annotation.nowarn
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.scalatest.matchers.should.Matchers
import org.scalatest.wordspec.AnyWordSpec
diff --git a/remote/src/test/scala/org/apache/pekko/remote/classic/RemotingSpec.scala b/remote/src/test/scala/org/apache/pekko/remote/classic/RemotingSpec.scala
index a85b28f0a9e..0a830e2f0a8 100644
--- a/remote/src/test/scala/org/apache/pekko/remote/classic/RemotingSpec.scala
+++ b/remote/src/test/scala/org/apache/pekko/remote/classic/RemotingSpec.scala
@@ -21,7 +21,7 @@ import scala.concurrent.{ Await, Future }
import scala.concurrent.duration._
import scala.util.control.NonFatal
-import com.typesafe.config._
+import org.ekrich.config._
import org.apache.pekko
import pekko.actor._
import pekko.event.AddressTerminatedTopic
diff --git a/remote/src/test/scala/org/apache/pekko/remote/classic/UntrustedSpec.scala b/remote/src/test/scala/org/apache/pekko/remote/classic/UntrustedSpec.scala
index c4c74213a79..c7910276a29 100644
--- a/remote/src/test/scala/org/apache/pekko/remote/classic/UntrustedSpec.scala
+++ b/remote/src/test/scala/org/apache/pekko/remote/classic/UntrustedSpec.scala
@@ -15,7 +15,7 @@ package org.apache.pekko.remote.classic
import scala.concurrent.duration._
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.apache.pekko
import pekko.actor.Actor
diff --git a/remote/src/test/scala/org/apache/pekko/remote/classic/transport/PekkoProtocolSpec.scala b/remote/src/test/scala/org/apache/pekko/remote/classic/transport/PekkoProtocolSpec.scala
index 6f24e12aaf2..d9ad6f7df8a 100644
--- a/remote/src/test/scala/org/apache/pekko/remote/classic/transport/PekkoProtocolSpec.scala
+++ b/remote/src/test/scala/org/apache/pekko/remote/classic/transport/PekkoProtocolSpec.scala
@@ -19,7 +19,7 @@ import scala.concurrent.{ Await, Promise }
import scala.concurrent.duration._
import scala.annotation.nowarn
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.apache.pekko
import pekko.actor.Address
diff --git a/remote/src/test/scala/org/apache/pekko/remote/classic/transport/PekkoProtocolStressTest.scala b/remote/src/test/scala/org/apache/pekko/remote/classic/transport/PekkoProtocolStressTest.scala
index 9e0bf6bceaa..68b2f9b0804 100644
--- a/remote/src/test/scala/org/apache/pekko/remote/classic/transport/PekkoProtocolStressTest.scala
+++ b/remote/src/test/scala/org/apache/pekko/remote/classic/transport/PekkoProtocolStressTest.scala
@@ -16,7 +16,7 @@ package org.apache.pekko.remote.classic.transport
import scala.concurrent.Await
import scala.concurrent.duration._
-import com.typesafe.config.{ Config, ConfigFactory }
+import org.ekrich.config.{ Config, ConfigFactory }
import org.apache.pekko
import pekko.actor._
diff --git a/remote/src/test/scala/org/apache/pekko/remote/classic/transport/SystemMessageDeliveryStressTest.scala b/remote/src/test/scala/org/apache/pekko/remote/classic/transport/SystemMessageDeliveryStressTest.scala
index 4c05610b35b..8c7e6a9bd6e 100644
--- a/remote/src/test/scala/org/apache/pekko/remote/classic/transport/SystemMessageDeliveryStressTest.scala
+++ b/remote/src/test/scala/org/apache/pekko/remote/classic/transport/SystemMessageDeliveryStressTest.scala
@@ -17,7 +17,7 @@ import scala.concurrent.Await
import scala.concurrent.duration._
import scala.annotation.nowarn
-import com.typesafe.config.{ Config, ConfigFactory }
+import org.ekrich.config.{ Config, ConfigFactory }
import org.apache.pekko
import pekko.actor._
diff --git a/remote/src/test/scala/org/apache/pekko/remote/classic/transport/ThrottlerTransportAdapterSpec.scala b/remote/src/test/scala/org/apache/pekko/remote/classic/transport/ThrottlerTransportAdapterSpec.scala
index 1acffea7122..ef64047f3f3 100644
--- a/remote/src/test/scala/org/apache/pekko/remote/classic/transport/ThrottlerTransportAdapterSpec.scala
+++ b/remote/src/test/scala/org/apache/pekko/remote/classic/transport/ThrottlerTransportAdapterSpec.scala
@@ -17,7 +17,7 @@ import scala.concurrent.Await
import scala.concurrent.duration._
import scala.annotation.nowarn
-import com.typesafe.config.{ Config, ConfigFactory }
+import org.ekrich.config.{ Config, ConfigFactory }
import org.apache.pekko
import pekko.actor._
diff --git a/remote/src/test/scala/org/apache/pekko/remote/serialization/AllowJavaSerializationOffSpec.scala b/remote/src/test/scala/org/apache/pekko/remote/serialization/AllowJavaSerializationOffSpec.scala
index 8b553c63808..44c9f7884b0 100644
--- a/remote/src/test/scala/org/apache/pekko/remote/serialization/AllowJavaSerializationOffSpec.scala
+++ b/remote/src/test/scala/org/apache/pekko/remote/serialization/AllowJavaSerializationOffSpec.scala
@@ -16,7 +16,7 @@ package org.apache.pekko.remote.serialization
import java.util.{ BitSet => ProgrammaticJavaDummy }
import java.util.{ Date => SerializableDummy }
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.apache.pekko
import pekko.actor.ActorSystem
diff --git a/remote/src/test/scala/org/apache/pekko/remote/serialization/DaemonMsgCreateSerializerAllowJavaSerializationSpec.scala b/remote/src/test/scala/org/apache/pekko/remote/serialization/DaemonMsgCreateSerializerAllowJavaSerializationSpec.scala
index 1773f9c5a09..52dc0ac5c8d 100644
--- a/remote/src/test/scala/org/apache/pekko/remote/serialization/DaemonMsgCreateSerializerAllowJavaSerializationSpec.scala
+++ b/remote/src/test/scala/org/apache/pekko/remote/serialization/DaemonMsgCreateSerializerAllowJavaSerializationSpec.scala
@@ -13,7 +13,7 @@
package org.apache.pekko.remote.serialization
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.apache.pekko
import pekko.actor.Actor
diff --git a/remote/src/test/scala/org/apache/pekko/remote/serialization/MiscMessageSerializerSpec.scala b/remote/src/test/scala/org/apache/pekko/remote/serialization/MiscMessageSerializerSpec.scala
index 5a062742d9d..3ee4ed4b8c4 100644
--- a/remote/src/test/scala/org/apache/pekko/remote/serialization/MiscMessageSerializerSpec.scala
+++ b/remote/src/test/scala/org/apache/pekko/remote/serialization/MiscMessageSerializerSpec.scala
@@ -21,7 +21,7 @@ import scala.annotation.nowarn
import scala.concurrent.duration._
import scala.util.control.NoStackTrace
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.apache.pekko
import pekko.{ Done, NotUsed }
import pekko.actor._
diff --git a/remote/src/test/scala/org/apache/pekko/remote/serialization/SerializationTransportInformationSpec.scala b/remote/src/test/scala/org/apache/pekko/remote/serialization/SerializationTransportInformationSpec.scala
index 946f87abcea..362968ca335 100644
--- a/remote/src/test/scala/org/apache/pekko/remote/serialization/SerializationTransportInformationSpec.scala
+++ b/remote/src/test/scala/org/apache/pekko/remote/serialization/SerializationTransportInformationSpec.scala
@@ -14,8 +14,8 @@
package org.apache.pekko.remote.serialization
import java.nio.charset.StandardCharsets
-import com.typesafe.config.Config
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.Config
+import org.ekrich.config.ConfigFactory
import org.apache.pekko
import pekko.actor.ActorIdentity
import pekko.actor.ActorRef
diff --git a/remote/src/test/scala/org/apache/pekko/remote/serialization/SystemMessageSerializationSpec.scala b/remote/src/test/scala/org/apache/pekko/remote/serialization/SystemMessageSerializationSpec.scala
index 31b4c4fdf60..a3be31c53ef 100644
--- a/remote/src/test/scala/org/apache/pekko/remote/serialization/SystemMessageSerializationSpec.scala
+++ b/remote/src/test/scala/org/apache/pekko/remote/serialization/SystemMessageSerializationSpec.scala
@@ -13,7 +13,7 @@
package org.apache.pekko.remote.serialization
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.apache.pekko
import pekko.actor.{ ActorInitializationException, ExtendedActorSystem, InternalActorRef }
diff --git a/remote/src/test/scala/org/apache/pekko/remote/transport/NettyTransportSpec.scala b/remote/src/test/scala/org/apache/pekko/remote/transport/NettyTransportSpec.scala
index 436994de582..93a3ee99338 100644
--- a/remote/src/test/scala/org/apache/pekko/remote/transport/NettyTransportSpec.scala
+++ b/remote/src/test/scala/org/apache/pekko/remote/transport/NettyTransportSpec.scala
@@ -13,7 +13,7 @@
package org.apache.pekko.remote.transport
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import io.netty.buffer.{ AdaptiveByteBufAllocator, PooledByteBufAllocator, UnpooledByteBufAllocator }
import org.apache.pekko
diff --git a/serialization-jackson/src/main/mima-filters/2.0.x.backwards.excludes/replace-lightbend-config-with-sconfig.excludes b/serialization-jackson/src/main/mima-filters/2.0.x.backwards.excludes/replace-lightbend-config-with-sconfig.excludes
new file mode 100644
index 00000000000..95432c9fa2e
--- /dev/null
+++ b/serialization-jackson/src/main/mima-filters/2.0.x.backwards.excludes/replace-lightbend-config-with-sconfig.excludes
@@ -0,0 +1,20 @@
+# 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.
+
+# Replacing Lightbend Config (https://github.com/lightbend/config) with sconfig (https://github.com/ekrich/sconfig)
+ProblemFilters.exclude[IncompatibleMethTypeProblem]("org.apache.pekko.serialization.jackson.JacksonObjectMapperProvider.createObjectMapper")
+ProblemFilters.exclude[IncompatibleMethTypeProblem]("org.apache.pekko.serialization.jackson.JacksonObjectMapperProvider.configForBinding")
diff --git a/serialization-jackson/src/main/scala/org/apache/pekko/serialization/jackson/JacksonObjectMapperProvider.scala b/serialization-jackson/src/main/scala/org/apache/pekko/serialization/jackson/JacksonObjectMapperProvider.scala
index a371dce8810..38657ece699 100644
--- a/serialization-jackson/src/main/scala/org/apache/pekko/serialization/jackson/JacksonObjectMapperProvider.scala
+++ b/serialization-jackson/src/main/scala/org/apache/pekko/serialization/jackson/JacksonObjectMapperProvider.scala
@@ -41,7 +41,7 @@ import com.fasterxml.jackson.databind.{
import com.fasterxml.jackson.databind.cfg.EnumFeature
import com.fasterxml.jackson.databind.json.JsonMapper
import com.fasterxml.jackson.module.paramnames.ParameterNamesModule
-import com.typesafe.config.Config
+import org.ekrich.config.Config
import org.apache.pekko
import pekko.actor.{
ActorSystem,
diff --git a/serialization-jackson/src/test/scala/doc/org/apache/pekko/serialization/jackson/SerializationDocSpec.scala b/serialization-jackson/src/test/scala/doc/org/apache/pekko/serialization/jackson/SerializationDocSpec.scala
index 67e435aeec1..f83ba2c6faa 100644
--- a/serialization-jackson/src/test/scala/doc/org/apache/pekko/serialization/jackson/SerializationDocSpec.scala
+++ b/serialization-jackson/src/test/scala/doc/org/apache/pekko/serialization/jackson/SerializationDocSpec.scala
@@ -27,7 +27,7 @@ import com.fasterxml.jackson.core.JsonParser
import com.fasterxml.jackson.databind.DeserializationContext
import com.fasterxml.jackson.databind.annotation.JsonDeserialize
import com.fasterxml.jackson.databind.deser.std.StdDeserializer
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.scalatest.BeforeAndAfterAll
import org.scalatest.matchers.should.Matchers
import org.scalatest.wordspec.AnyWordSpecLike
diff --git a/serialization-jackson/src/test/scala/org/apache/pekko/serialization/jackson/JacksonFactorySpec.scala b/serialization-jackson/src/test/scala/org/apache/pekko/serialization/jackson/JacksonFactorySpec.scala
index d1a853d24c3..50c63e2aec4 100644
--- a/serialization-jackson/src/test/scala/org/apache/pekko/serialization/jackson/JacksonFactorySpec.scala
+++ b/serialization-jackson/src/test/scala/org/apache/pekko/serialization/jackson/JacksonFactorySpec.scala
@@ -18,7 +18,7 @@
package org.apache.pekko.serialization.jackson
import com.fasterxml.jackson.core.util.JsonRecyclerPools.BoundedPool
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.scalatest.BeforeAndAfterAll
import org.scalatest.matchers.should.Matchers
import org.scalatest.wordspec.AnyWordSpecLike
diff --git a/serialization-jackson/src/test/scala/org/apache/pekko/serialization/jackson/JacksonSerializerSpec.scala b/serialization-jackson/src/test/scala/org/apache/pekko/serialization/jackson/JacksonSerializerSpec.scala
index 60fab76c931..92c353bf1c3 100644
--- a/serialization-jackson/src/test/scala/org/apache/pekko/serialization/jackson/JacksonSerializerSpec.scala
+++ b/serialization-jackson/src/test/scala/org/apache/pekko/serialization/jackson/JacksonSerializerSpec.scala
@@ -52,7 +52,7 @@ import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule
import com.fasterxml.jackson.databind.module.SimpleModule
import com.fasterxml.jackson.module.scala.JsonScalaEnumeration
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.scalatest.BeforeAndAfterAll
import org.scalatest.matchers.should.Matchers
import org.scalatest.wordspec.AnyWordSpecLike
diff --git a/stream-testkit/src/test/scala/org/apache/pekko/stream/testkit/StreamSpec.scala b/stream-testkit/src/test/scala/org/apache/pekko/stream/testkit/StreamSpec.scala
index 2fc883026aa..5c446aad975 100644
--- a/stream-testkit/src/test/scala/org/apache/pekko/stream/testkit/StreamSpec.scala
+++ b/stream-testkit/src/test/scala/org/apache/pekko/stream/testkit/StreamSpec.scala
@@ -28,7 +28,7 @@ import pekko.testkit.TestKitUtils
import org.scalatest.Failed
-import com.typesafe.config.{ Config, ConfigFactory }
+import org.ekrich.config.{ Config, ConfigFactory }
import java.util.concurrent.TimeUnit
diff --git a/stream-testkit/src/test/scala/org/apache/pekko/stream/testkit/StreamTestDefaultMailbox.scala b/stream-testkit/src/test/scala/org/apache/pekko/stream/testkit/StreamTestDefaultMailbox.scala
index cc2f4a732f0..40f151f2019 100644
--- a/stream-testkit/src/test/scala/org/apache/pekko/stream/testkit/StreamTestDefaultMailbox.scala
+++ b/stream-testkit/src/test/scala/org/apache/pekko/stream/testkit/StreamTestDefaultMailbox.scala
@@ -24,7 +24,7 @@ import pekko.dispatch.ProducesMessageQueue
import pekko.dispatch.UnboundedMailbox
import pekko.stream.impl.MaterializerGuardian
-import com.typesafe.config.Config
+import org.ekrich.config.Config
/**
* INTERNAL API
diff --git a/stream-testkit/src/test/scala/org/apache/pekko/stream/testkit/Utils.scala b/stream-testkit/src/test/scala/org/apache/pekko/stream/testkit/Utils.scala
index af5d722bbf4..e4b2ba91f8d 100644
--- a/stream-testkit/src/test/scala/org/apache/pekko/stream/testkit/Utils.scala
+++ b/stream-testkit/src/test/scala/org/apache/pekko/stream/testkit/Utils.scala
@@ -19,7 +19,7 @@ import org.apache.pekko
import pekko.actor.ActorRef
import pekko.actor.ActorRefWithCell
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
object Utils {
diff --git a/stream-tests-tck/src/test/scala/org/apache/pekko/stream/tck/ActorSystemLifecycle.scala b/stream-tests-tck/src/test/scala/org/apache/pekko/stream/tck/ActorSystemLifecycle.scala
index 135bd376675..b885ff83a06 100644
--- a/stream-tests-tck/src/test/scala/org/apache/pekko/stream/tck/ActorSystemLifecycle.scala
+++ b/stream-tests-tck/src/test/scala/org/apache/pekko/stream/tck/ActorSystemLifecycle.scala
@@ -18,8 +18,8 @@ import java.util.concurrent.TimeoutException
import scala.concurrent.Await
import scala.concurrent.duration._
-import com.typesafe.config.Config
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.Config
+import org.ekrich.config.ConfigFactory
import org.testng.annotations.AfterClass
import org.testng.annotations.BeforeClass
diff --git a/stream-tests-tck/src/test/scala/org/apache/pekko/stream/tck/PekkoPublisherVerification.scala b/stream-tests-tck/src/test/scala/org/apache/pekko/stream/tck/PekkoPublisherVerification.scala
index 85a754c17e4..adbb3d8c642 100644
--- a/stream-tests-tck/src/test/scala/org/apache/pekko/stream/tck/PekkoPublisherVerification.scala
+++ b/stream-tests-tck/src/test/scala/org/apache/pekko/stream/tck/PekkoPublisherVerification.scala
@@ -15,8 +15,8 @@ package org.apache.pekko.stream.tck
import scala.collection.immutable
-import com.typesafe.config.Config
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.Config
+import org.ekrich.config.ConfigFactory
import org.reactivestreams.Publisher
import org.reactivestreams.tck.PublisherVerification
import org.reactivestreams.tck.TestEnvironment
diff --git a/stream-tests/src/test/java/org/apache/pekko/stream/StreamAttributeDocTest.java b/stream-tests/src/test/java/org/apache/pekko/stream/StreamAttributeDocTest.java
index a83809e62de..6664855f156 100644
--- a/stream-tests/src/test/java/org/apache/pekko/stream/StreamAttributeDocTest.java
+++ b/stream-tests/src/test/java/org/apache/pekko/stream/StreamAttributeDocTest.java
@@ -13,7 +13,6 @@
package org.apache.pekko.stream;
-import com.typesafe.config.ConfigFactory;
import java.io.ByteArrayOutputStream;
import java.io.PrintStream;
import java.util.concurrent.CompletionStage;
@@ -26,6 +25,7 @@
import org.apache.pekko.stream.scaladsl.TcpAttributes;
import org.apache.pekko.testkit.PekkoJUnitActorSystemResource;
import org.apache.pekko.testkit.PekkoSpec;
+import org.ekrich.config.ConfigFactory;
import org.junit.ClassRule;
import org.junit.Test;
diff --git a/stream-tests/src/test/scala/org/apache/pekko/stream/ActorMaterializerSpec.scala b/stream-tests/src/test/scala/org/apache/pekko/stream/ActorMaterializerSpec.scala
index 15ee24a9576..e4cbc417bff 100644
--- a/stream-tests/src/test/scala/org/apache/pekko/stream/ActorMaterializerSpec.scala
+++ b/stream-tests/src/test/scala/org/apache/pekko/stream/ActorMaterializerSpec.scala
@@ -33,7 +33,7 @@ import pekko.stream.testkit.{ StreamSpec, TestPublisher }
import pekko.testkit.{ ImplicitSender, TestProbe }
import pekko.testkit.TestKit
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
object IndirectMaterializerCreation extends ExtensionId[IndirectMaterializerCreation] with ExtensionIdProvider {
def createExtension(system: ExtendedActorSystem): IndirectMaterializerCreation =
diff --git a/stream-tests/src/test/scala/org/apache/pekko/stream/io/TcpSpec.scala b/stream-tests/src/test/scala/org/apache/pekko/stream/io/TcpSpec.scala
index 2466937559b..0cb4717b273 100644
--- a/stream-tests/src/test/scala/org/apache/pekko/stream/io/TcpSpec.scala
+++ b/stream-tests/src/test/scala/org/apache/pekko/stream/io/TcpSpec.scala
@@ -57,8 +57,8 @@ import pekko.util.ByteString
import org.scalatest.concurrent.PatienceConfiguration
import org.scalatest.concurrent.PatienceConfiguration.Timeout
-import com.typesafe.config.Config
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.Config
+import org.ekrich.config.ConfigFactory
@nowarn("msg=never used")
class NonResolvingDnsActor(cache: SimpleDnsCache, config: Config) extends Actor {
diff --git a/stream-tests/src/test/scala/org/apache/pekko/stream/scaladsl/AggregateWithBoundarySpec.scala b/stream-tests/src/test/scala/org/apache/pekko/stream/scaladsl/AggregateWithBoundarySpec.scala
index 0cda1362b65..8bd957a54d2 100644
--- a/stream-tests/src/test/scala/org/apache/pekko/stream/scaladsl/AggregateWithBoundarySpec.scala
+++ b/stream-tests/src/test/scala/org/apache/pekko/stream/scaladsl/AggregateWithBoundarySpec.scala
@@ -26,7 +26,7 @@ import pekko.testkit.{ ExplicitlyTriggeredScheduler, PekkoSpec }
import org.scalatest.matchers.should.Matchers
import org.scalatest.wordspec.AnyWordSpecLike
-import com.typesafe.config.{ ConfigFactory, ConfigValueFactory }
+import org.ekrich.config.{ ConfigFactory, ConfigValueFactory }
class AggregateWithBoundarySpec extends StreamSpec {
diff --git a/stream-tests/src/test/scala/org/apache/pekko/stream/scaladsl/AttributesSpec.scala b/stream-tests/src/test/scala/org/apache/pekko/stream/scaladsl/AttributesSpec.scala
index 84c090c4e34..a0ba3c1ede7 100644
--- a/stream-tests/src/test/scala/org/apache/pekko/stream/scaladsl/AttributesSpec.scala
+++ b/stream-tests/src/test/scala/org/apache/pekko/stream/scaladsl/AttributesSpec.scala
@@ -30,7 +30,7 @@ import pekko.stream.stage._
import pekko.stream.testkit._
import pekko.testkit.TestKit
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
object AttributesSpec {
diff --git a/stream-tests/src/test/scala/org/apache/pekko/stream/scaladsl/FlowSpec.scala b/stream-tests/src/test/scala/org/apache/pekko/stream/scaladsl/FlowSpec.scala
index 88ad5c12185..be5fecd8eef 100644
--- a/stream-tests/src/test/scala/org/apache/pekko/stream/scaladsl/FlowSpec.scala
+++ b/stream-tests/src/test/scala/org/apache/pekko/stream/scaladsl/FlowSpec.scala
@@ -33,7 +33,7 @@ import pekko.testkit.TestDuration
import org.reactivestreams.{ Publisher, Subscriber }
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
object FlowSpec {
class Fruit extends Serializable
diff --git a/stream-tests/src/test/scala/org/apache/pekko/stream/scaladsl/StreamRefsSpec.scala b/stream-tests/src/test/scala/org/apache/pekko/stream/scaladsl/StreamRefsSpec.scala
index da6f2e9f51c..5d6f72372f9 100644
--- a/stream-tests/src/test/scala/org/apache/pekko/stream/scaladsl/StreamRefsSpec.scala
+++ b/stream-tests/src/test/scala/org/apache/pekko/stream/scaladsl/StreamRefsSpec.scala
@@ -32,7 +32,7 @@ import pekko.stream.testkit.scaladsl._
import pekko.testkit.{ PekkoSpec, TestKit, TestProbe }
import pekko.util.ByteString
-import com.typesafe.config._
+import org.ekrich.config._
object StreamRefsSpec {
diff --git a/stream/src/main/mima-filters/2.0.x.backwards.excludes/replace-lightbend-config-with-sconfig.excludes b/stream/src/main/mima-filters/2.0.x.backwards.excludes/replace-lightbend-config-with-sconfig.excludes
new file mode 100644
index 00000000000..11d6a306f5a
--- /dev/null
+++ b/stream/src/main/mima-filters/2.0.x.backwards.excludes/replace-lightbend-config-with-sconfig.excludes
@@ -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.
+
+# Replacing Lightbend Config (https://github.com/lightbend/config) with sconfig (https://github.com/ekrich/sconfig)
+ProblemFilters.exclude[IncompatibleMethTypeProblem]("org.apache.pekko.stream.ActorMaterializerSettings.apply")
+ProblemFilters.exclude[IncompatibleMethTypeProblem]("org.apache.pekko.stream.IOSettings.apply")
+ProblemFilters.exclude[IncompatibleMethTypeProblem]("org.apache.pekko.stream.StreamRefSettings.apply")
+ProblemFilters.exclude[IncompatibleMethTypeProblem]("org.apache.pekko.stream.StreamSubscriptionTimeoutSettings.apply")
+ProblemFilters.exclude[IncompatibleMethTypeProblem]("org.apache.pekko.stream.StreamSubscriptionTimeoutSettings.create")
diff --git a/stream/src/main/resources/reference.conf b/stream/src/main/resources/reference.conf
index 305faeeacbf..f5d66e43306 100644
--- a/stream/src/main/resources/reference.conf
+++ b/stream/src/main/resources/reference.conf
@@ -23,7 +23,7 @@ pekko {
# FQCN of the MailboxType. The Class of the FQCN must have a public
# constructor with
- # (org.apache.pekko.actor.ActorSystem.Settings, com.typesafe.config.Config) parameters.
+ # (org.apache.pekko.actor.ActorSystem.Settings, org.ekrich.config.Config) parameters.
# defaults to the single consumer mailbox for better performance.
mailbox {
mailbox-type = "org.apache.pekko.dispatch.SingleConsumerOnlyUnboundedMailbox"
diff --git a/stream/src/main/scala/org/apache/pekko/stream/ActorMaterializer.scala b/stream/src/main/scala/org/apache/pekko/stream/ActorMaterializer.scala
index cba9e5338c0..27154db0b8b 100644
--- a/stream/src/main/scala/org/apache/pekko/stream/ActorMaterializer.scala
+++ b/stream/src/main/scala/org/apache/pekko/stream/ActorMaterializer.scala
@@ -29,7 +29,7 @@ import pekko.stream.impl._
import pekko.stream.stage.GraphStageLogic
import pekko.util.Helpers.toRootLowerCase
-import com.typesafe.config.Config
+import org.ekrich.config.Config
@InternalApi
private[pekko] object ActorMaterializer {
diff --git a/stream/src/main/scala/org/apache/pekko/stream/StreamRefSettings.scala b/stream/src/main/scala/org/apache/pekko/stream/StreamRefSettings.scala
index 6aa90497ae9..d3688a59ef0 100644
--- a/stream/src/main/scala/org/apache/pekko/stream/StreamRefSettings.scala
+++ b/stream/src/main/scala/org/apache/pekko/stream/StreamRefSettings.scala
@@ -22,7 +22,7 @@ import org.apache.pekko
import pekko.annotation.{ DoNotInherit, InternalApi }
import pekko.stream.impl.streamref.StreamRefSettingsImpl
-import com.typesafe.config.Config
+import org.ekrich.config.Config
@InternalApi
private[stream] object StreamRefSettings {
diff --git a/testkit/src/main/mima-filters/2.0.x.backwards.excludes/replace-lightbend-config-with-sconfig.excludes b/testkit/src/main/mima-filters/2.0.x.backwards.excludes/replace-lightbend-config-with-sconfig.excludes
new file mode 100644
index 00000000000..cb9d78fd44c
--- /dev/null
+++ b/testkit/src/main/mima-filters/2.0.x.backwards.excludes/replace-lightbend-config-with-sconfig.excludes
@@ -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.
+
+# Replacing Lightbend Config (https://github.com/lightbend/config) with sconfig (https://github.com/ekrich/sconfig)
+ProblemFilters.exclude[IncompatibleMethTypeProblem]("org.apache.pekko.testkit.CallingThreadDispatcherConfigurator.this")
+ProblemFilters.exclude[IncompatibleMethTypeProblem]("org.apache.pekko.testkit.ExplicitlyTriggeredScheduler.this")
+ProblemFilters.exclude[IncompatibleResultTypeProblem]("org.apache.pekko.testkit.TestKitSettings.config")
+ProblemFilters.exclude[IncompatibleMethTypeProblem]("org.apache.pekko.testkit.TestKitSettings.this")
\ No newline at end of file
diff --git a/testkit/src/main/scala/org/apache/pekko/testkit/CallingThreadDispatcher.scala b/testkit/src/main/scala/org/apache/pekko/testkit/CallingThreadDispatcher.scala
index 272670a64cd..76a4f7f9d2e 100644
--- a/testkit/src/main/scala/org/apache/pekko/testkit/CallingThreadDispatcher.scala
+++ b/testkit/src/main/scala/org/apache/pekko/testkit/CallingThreadDispatcher.scala
@@ -22,7 +22,7 @@ import scala.concurrent.duration._
import scala.concurrent.duration.Duration
import scala.util.control.NonFatal
-import com.typesafe.config.Config
+import org.ekrich.config.Config
import org.apache.pekko
import pekko.actor.{
diff --git a/testkit/src/main/scala/org/apache/pekko/testkit/ExplicitlyTriggeredScheduler.scala b/testkit/src/main/scala/org/apache/pekko/testkit/ExplicitlyTriggeredScheduler.scala
index d9f745ee213..807ed484504 100644
--- a/testkit/src/main/scala/org/apache/pekko/testkit/ExplicitlyTriggeredScheduler.scala
+++ b/testkit/src/main/scala/org/apache/pekko/testkit/ExplicitlyTriggeredScheduler.scala
@@ -22,7 +22,7 @@ import scala.concurrent.ExecutionContext
import scala.concurrent.duration.{ Duration, FiniteDuration }
import scala.util.Try
-import com.typesafe.config.Config
+import org.ekrich.config.Config
import org.apache.pekko
import pekko.actor.Cancellable
diff --git a/testkit/src/main/scala/org/apache/pekko/testkit/TestKitExtension.scala b/testkit/src/main/scala/org/apache/pekko/testkit/TestKitExtension.scala
index 01d9871f8d9..4a5357ffc74 100644
--- a/testkit/src/main/scala/org/apache/pekko/testkit/TestKitExtension.scala
+++ b/testkit/src/main/scala/org/apache/pekko/testkit/TestKitExtension.scala
@@ -15,7 +15,7 @@ package org.apache.pekko.testkit
import scala.concurrent.duration.FiniteDuration
-import com.typesafe.config.Config
+import org.ekrich.config.Config
import org.apache.pekko
import pekko.actor.{ ActorSystem, ExtendedActorSystem, Extension, ExtensionId }
diff --git a/testkit/src/test/java/org/apache/pekko/testkit/PekkoJUnitActorSystemResource.java b/testkit/src/test/java/org/apache/pekko/testkit/PekkoJUnitActorSystemResource.java
index d043b5aed87..e77a6f73250 100644
--- a/testkit/src/test/java/org/apache/pekko/testkit/PekkoJUnitActorSystemResource.java
+++ b/testkit/src/test/java/org/apache/pekko/testkit/PekkoJUnitActorSystemResource.java
@@ -13,9 +13,9 @@
package org.apache.pekko.testkit;
-import com.typesafe.config.Config;
import org.apache.pekko.actor.ActorSystem;
import org.apache.pekko.testkit.javadsl.TestKit;
+import org.ekrich.config.Config;
import org.junit.rules.ExternalResource;
/**
diff --git a/testkit/src/test/scala/org/apache/pekko/testkit/PekkoSpec.scala b/testkit/src/test/scala/org/apache/pekko/testkit/PekkoSpec.scala
index 70263b213e0..150b6f057cc 100644
--- a/testkit/src/test/scala/org/apache/pekko/testkit/PekkoSpec.scala
+++ b/testkit/src/test/scala/org/apache/pekko/testkit/PekkoSpec.scala
@@ -15,8 +15,8 @@ package org.apache.pekko.testkit
import scala.concurrent.Future
import scala.concurrent.duration._
-import com.typesafe.config.Config
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.Config
+import org.ekrich.config.ConfigFactory
import org.scalactic.CanEqual
import org.scalactic.TypeCheckedTripleEquals
import org.scalatest.BeforeAndAfterAll
diff --git a/testkit/src/test/scala/org/apache/pekko/testkit/PekkoSpecSpec.scala b/testkit/src/test/scala/org/apache/pekko/testkit/PekkoSpecSpec.scala
index 38820635e16..47d4c08bde6 100644
--- a/testkit/src/test/scala/org/apache/pekko/testkit/PekkoSpecSpec.scala
+++ b/testkit/src/test/scala/org/apache/pekko/testkit/PekkoSpecSpec.scala
@@ -17,7 +17,7 @@ import scala.concurrent.Await
import scala.concurrent.duration._
import scala.annotation.nowarn
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.scalatest.matchers.should.Matchers
import org.scalatest.wordspec.AnyWordSpec
diff --git a/testkit/src/test/scala/org/apache/pekko/testkit/metrics/MetricsKit.scala b/testkit/src/test/scala/org/apache/pekko/testkit/metrics/MetricsKit.scala
index 25766d341fc..b5b5c692bf7 100644
--- a/testkit/src/test/scala/org/apache/pekko/testkit/metrics/MetricsKit.scala
+++ b/testkit/src/test/scala/org/apache/pekko/testkit/metrics/MetricsKit.scala
@@ -22,7 +22,7 @@ import scala.reflect.ClassTag
import scala.util.matching.Regex
import com.codahale.metrics._
-import com.typesafe.config.Config
+import org.ekrich.config.Config
import org.scalatest.Notifying
import org.apache.pekko
diff --git a/testkit/src/test/scala/org/apache/pekko/testkit/metrics/MetricsKitSpec.scala b/testkit/src/test/scala/org/apache/pekko/testkit/metrics/MetricsKitSpec.scala
index 6a8fc2b13e1..5da0c8e9472 100644
--- a/testkit/src/test/scala/org/apache/pekko/testkit/metrics/MetricsKitSpec.scala
+++ b/testkit/src/test/scala/org/apache/pekko/testkit/metrics/MetricsKitSpec.scala
@@ -13,7 +13,7 @@
package org.apache.pekko.testkit.metrics
-import com.typesafe.config.ConfigFactory
+import org.ekrich.config.ConfigFactory
import org.scalatest._
import org.scalatest.matchers.should.Matchers
import org.scalatest.wordspec.AnyWordSpec