LATEST RELEASE: 24.05 — Zero Trust, DB Sharding, Java 21, Rust Support, and More. Read Release Notes

News & Articles

Full archive

April 30


Alpakka 2.0 Released

Dear Hakkers,

The Alpakka contributors are happy to announce Alpakka 2.0!

What is Alpakka?

The Alpakka project is an open source initiative to implement stream-aware and reactive integration pipelines for Java and Scala. It is built on top of Akka Streams, and has been designed from the ground up to understand streaming natively and provide a DSL for reactive and stream-oriented programming, with built-in support for backpressure. Akka Streams is a Reactive Streams and JDK 9+ java.util.concurrent.Flow-compliant implementation and therefore fully interoperable with other implementations.

About 2.0

Things have taken much longer than we initially planned, but we hope the earlier milestone releases made it possible for our early adopters of Alpakka to try out the current versions and fixes.

The major version tick for Alpakka is due to major upgrades and changes in the dependencies used by the various connectors. Some Alpakka APIs changed as well, but we try to keep those changes minimal.

Alpakka 2.0 updates dependencies for most connectors.

Alpakka 2.0 requires Akka 2.5.31 (or later) or Akka 2.6.4 (or later). We recommend to upgrade your projects to the latest versions of Akka. Akka stays binary-compatible between patch releases (and for the most part between 2.5.x and 2.6.x).

Akka 2.6 simplifies the Akka Stream APIs by making the stream materializer an internal concern. For other changes in Akka see the migration guide.

Both the classic and the new actors API can be used with Alpakka.

Future releases of Alpakka will require Akka 2.6.

Most Alpakka APIs have NOT changed since Alpakka 1.0. We hope adapting to the changes will be easy. For the time being we don’t have dedicated migration guides. Please reach out in the Discuss forum if you run into problems.

Major new functionality

  • Pravega connector #2149 by @cheleb

    Pravega provides a new storage abstraction - a stream - for continuous and unbounded data. A Pravega stream is an elastic set of durable and append-only segments, each segment being an unbounded sequence of bytes. Streams provide exactly-once semantics, and atomicity for groups of events using transactions.

  • Cassandra: rewrite on top of Java driver 4.5.0 #2182 by @ennru Alpakka Cassandra is completely rewritten and now based on the Cassandra Java driver version 4.5. It now becomes the base for Akka Persistence Cassandra.

  • AWS Kinesis KCL streams support #1667 by @aserrallerios

  • Elasticsearch
  • File

We’ve adapted the Alpakka APIs even more to enable the use of the new actor APIs where possible.

Read the full Release notes for all details.

The way forward

The Alpakka community is encouraged to continue to suggest improvements and new functionality to the existing connectors, or even suggest integrations with other technologies. Alpakka 2.0 patch releases we will keep the APIs binary-compatible.

Future releases of Alpakka (starting with 2.1.0) will require Akka 2.6 and won’t support Scala 2.11.

Akka by Lightbend

The Akka core team is employed by Lightbend. If you’re looking to take your Akka systems to the next level, let’s set up a time to discuss our enterprise-grade expert support, self-paced education courses, and technology enhancements that help you manage, monitor and secure your Akka systems - from development to production.

Happy hakking, Your Alpakkas