Apache Pekko is based on the latest version of Akka in the v2.6.x series. If migrating from an earlier version of Akka, please migrate to Akka 2.6 before migrating to Pekko.
These migration notes are designed for users migrating from Akka 2.6 to Pekko 1.0 and assume a basic level of Akka experience. Please feel free to submit an issue or a patch if you feel like the notes can be improved.
- for Pekko jar dependencies, the groupId is “org.apache.pekko” instead of “com.typesafe.akka”
- the jar names start with “pekko” instead of “akka” - e.g. pekko-actor_2.13.jar instead of akka-actor_2.13.jar
- Alpakka equivalent is “pekko-connectors” - e.g. pekko-connectors-kafka_2.13.jar instead of alpakka-kafka_2.13.jar
- Pekko packages start with “org.apache.pekko” instead of “akka” - e.g.
import org.apache.pekko.actorinstead of
- Where class names have “Akka” in the name, the Pekko ones have “Pekko” - e.g. PekkoException instead of AkkaException
- Config names use “pekko” prefix instead of “akka”, e.g.
- The Pekko node URLs use different URL schemes.
- We have changed the default ports used by the pekko-remote module.
- The Scala 2.13/Scala 3 versions of Pekko no longer include scala-java8-compat as a dependency. This means if you were relying on
scala-java8-compatalong with Scala 2.12/Scala 3 as a transitive dependency that it’s recommended to migrate to using
scala.jdkinstead. If this is not possible/desired then you can add
scala-java8-compatas dependency yourself.
- In addition to the previous point, for Scala 2.12
scala-java8-compathas been updated to
1.0.2. If you are using an older binary incompatible version of
scala-java8-compatthen it is recommended to update to
- For Scala 2.12 and 2.13 ssl-config has been updated to 0.6.1 in order to bring in bug/security fixes. Note that ssl-config 0.6.1 is binary and source compatible with 0.4.1.
- Pekko TestKit users will find that scalatest 3.2 is the default dependency version. Users with old Akka TestKit based tests may need to migrate some of their test code. The scalatest 3.2 release notes have a detailed description of the changes needed.
- Jackson is upgraded to 2.14.3.
- reactivestreams is upgraded to 1.0.4.
- pekko-protobuf-v3 is based on protobuf-java 3.16.3.
It appears that data persisted with “akka-persistence” is usable with “pekko-persistence” and vice versa (Persistence).
We currently do not expect that Akka and Pekko nodes combined will be able to form a cluster.