FREE Training Courses — 100+ Hours of Akka and Reactive Architecture Expertise Get Started
 

News & Articles

Full archive

October 26

2022

Akka 22.10 Released

Dear hakkers,

Today we are proud to announce the availability of the Akka October 2022 (22.10) release. It consists of the following modules:

  • Akka (core) 2.7.0
  • Akka HTTP 10.4.0
  • Akka gRPC 2.2.0
  • Akka Management 1.2.0
  • Alpakka Kafka 4.0.0
  • Alpakka 5.0.0
  • Akka Persistence R2DBC 1.0.0
  • Akka Persistence JDBC 5.2.0
  • Akka Persistence Cassandra 1.1.0
  • Akka Projections 1.3.0

License change

The license for using Akka in production has been changed to Business Source License v1.1. Why We Are Changing the License for Akka explains the reasons and a detailed FAQ is available to answer many of the questions that you may have about the license change.

New features

The noteworthy features are:

  • The new Projections over gRPC feature makes it easy to build brokerless service-to-service communication. It uses the event journal on the producer side and Akka Projections event processing and offset tracking on the consumer side. The transparent data transfer between producers and consumers is implemented with Akka gRPC. Read the blog post and the reference documentation.

  • Akka Persistence plugin for Postgres and Yugabyte with R2DBC. Including the new eventsBySlices query and full Akka Projections implementation. See reference documentation.

  • Alternative API for AbstractBehavior to use Java 17 (and later) switch statements (or Kotlin when expressions) for message matching instead of builders. See documentation.

  • New feature for testing EventSourcedBehavior and DurableStateBehavior with the synchronous BehaviorTestKit. See documentation.

  • Support for effectful ask in the synchronous BehaviorTestKit.

  • Persistence Queries emit DeletedDurableState when state is deleted, with implementation in the RD2BC plugin.

  • Official support for Java 17. Java 8 and 11 are also supported.

  • Official support for Scala 3.1 for Akka core. Scala 2.12 and 2.13 are also supported.

Security Updates

We run automated security vulnerability and license policy scanning of dependencies. Several dependencies have been updated to fix security vulnerabilities and keep up with latest improvements. Fortify SCA scan has also been performed without detecting any vulnerabilities.

The following CVE’s are addressed in this build.

In Akka and Akka HTTP:

  • CVE-2022-42003
  • CVE-2020-36518
  • CVE-2022-42004
  • CVE-2022-42003

In Alpakka:

  • CVE-2022-22970
  • CVE-2022-22950
  • CVE-2022-22971
  • CVE-2022-22968
  • CVE-2020-13957
  • CVE-2021-37404
  • CVE-2022-25168
  • CVE-2022-26612
  • CVE-2020-9492
  • CVE-2017-15713
  • CVE-2021-22569.

Bug fixes and other improvements

  • Fixed bug related to snapshots in Replicated Event Sourcing.

  • Fixed bug related to JsonFraming in Akka Streams.

  • Change of default mailbox in Akka Streams for better performance.

  • New mapWithResource operator for interacting with a blocking resource with a lifecycle in streams.

  • New Sink.combine for easy fanout to multiple sinks.

  • Many small performance improvements in Akka Streams.

  • Change default dispatcher for Akka Persistence plugins. It was by default a pinned dispatcher and is now the ordinary default dispatcher, but most plugins override this setting themselves anyway.

  • Possibility to define stash capacity per EventSourcedBehavior / DurableStateBehavior to override the global config.

Dependency updates

  • The Jackson dependency has been updated to 2.13.4. This update includes many fixes and changes to Jackson, but it should not introduce any incompatibility in serialized format.

  • Many other dependencies have been updated, especially in Alpakka, such as dependencies to Spring, Apache Solr, Apache Hadoop, and Protocol Buffers.

  • Scala versions have been updated to 2.12.17, 2.13.10 and 3.1.3.

Compatibility

Akka 2.7.x is fully compatible with Akka 2.6.x.

  • Akka 2.7.x is binary backwards compatible with 2.6.x.
  • No configuration changes are needed for updating an application from Akka 2.6.x to 2.7.x.
  • Rolling updates of Akka Cluster from Akka 2.6.x to 2.7.x is fully supported.
  • No deprecated features or APIs have been removed in Akka 2.7.x.

Other modules included in Akka 22.10 are also compatible with their previous version.

Detailed release notes:

Akka subscription and support are available from Lightbend.

Happy hakking!

– The Akka Team