Akka 23.05 Released

Dear hakkers,

Today we are excited to announce the availability of the Akka 23.05 release. It consists of the following modules:

  • Akka (core) 2.8.2

  • Akka HTTP 10.5.2

  • Akka gRPC 2.3.2

  • Akka Management 1.4.0

  • Alpakka Kafka 4.0.2

  • Alpakka 6.0.1

  • Akka Persistence R2DBC 1.1.0

  • Akka Persistence JDBC 5.2.1

  • Akka Persistence Cassandra 1.1.1

  • Akka Projections 1.4.0

  • Akka Diagnostics 2.0.0

New features

For deeper insight into some of these new features, please visit the Lightbend blog, which will be featuring a new feature weekly for the next month.

The noteworthy features are:

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. Security scans with several other tools have also been performed without detecting any vulnerabilities.

The following CVEs are addressed in this build.

Bug fixes

  • Concurrency issues in Event Sourced Behavior retention process, akka #31785

  • Integer overflow in Event Sourced Behavior retention, akka #31717

  • State consistency issue when deleting Durable State, akka #31752

  • Release of Kubernetes lease when used with Cluster Sharding, akka #31715

  • Rolling update problem with ClusterShardingHealthCheck, akka #31271

  • Missing event in Projection R2DBC, akka-persistence-r2dbc #371

  • Sharding with separate Coordinator role, akka #31637

  • NullPointerException in Streams shutdown, akka #30201

  • Race condition in Streams BroadcastHub initialization, akka #31530

  • Streams groupBy incorrectly failing for element on closed substream, #30205

  • TLS session is updated too late for TLS 1.3, akka #31419

  • Fix Content-Length when HTTP entity is disallowed, akka-http #4214

  • HTTP/2 error when parsing percent-encoded query string, akka-http #4226

  • HTTP/2 exception from handler, akka-http #4241

  • gRPC client with TLS and a custom SslContext, akka-grpc #1728

Other improvements

Dependency updates

  • Jackson 2.13.5

  • Scala versions have been updated to 2.12.17, 2.13.17 and 3.2.2

  • Scala-xml 2.1.0 in builds

  • r2dbc-postgresql 1.0.1, including Netty 4.1.89 (CVE-2022-41915)

  • protobuf-java 3.21.9 (CVE-2022-3509, CVE-2022-3510, CVE-2022-3171)

  • kafka-clients 3.3.2

  • lmdbjava 0.8.3

Compatibility

Akka 2.8.x is compatible with Akka 2.7.x and 2.6.x aside from removal of two deprecated modules:

  • Classic Remoting transport has been deprecated since Akka 2.6.0 (2019-11-06) and is replaced by the Artery transport, which has been the default since 2.6.0 and declared ready for production in Akka 2.5.22 (2019-04-03).

  • OSGi packaging and support in Akka has been dropped.

By compatible, we mean:

  • Akka 2.8.x is binary backwards compatible with 2.7.x and 2.6.x, i.e. a library built with Akka 2.6.x can still be used with an application using Akka 2.8.x.

  • No configuration changes are needed for updating an application from Akka 2.6.x or 2.7.x to 2.8.x.

  • Rolling update of Akka Cluster from Akka 2.6.x or 2.7.x to 2.8.x is fully supported.

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