Akka 2.4.2 Released!
February 17 2016
Roland Kuhn

Dear hakkers,

we—the Akka committers—are proud to announce the FINAL RELEASE of Akka 2.4.2. The main change in this release is that it includes Streams & HTTP. Some of these new modules are still marked experimental due to impending API changes that we could not yet finish, in particular these are akka-http (the DSLs) and the HTTP marshaller modules for spray-json, jackson, and scala-xml. In comparison to Streams & HTTP 2.0 the main changes are:

  • significant performance improvement for HTTP handling, now reaching roughly 75% of Spray’s performance for long-lived HTTP connections—this is not the end of the performance work, we have only just begun (in particular the number of connections per second needs more work)
  • replacement of all uses of the Unit type (represented as BoxedUnit in Java) with the more descriptive types akka.Done (for signaling successful completion) and akka.NotUsed (for materialization results of stages that do not produce a value)
  • usage of Java 8 types in the Java DSLs: java.util.Optional instead of scala.Option and java.util.concurrent.CompletionStage instead of scala.concurrent.Future

Especially the second and third point mean that porting code from Streams & HTTP 2.0 to Akka 2.4.2 will require some mechanical source code changes, please refer to the migration guide(for Java and Scala) for the details.

But also in the rest of Akka much work was done, with highlights being:

Closed issues since version 2.4.1 can be found here.

Binary Compatibility

Akka 2.4.2 is backwards binary compatible with previous 2.4.x and 2.3.x versions (exceptions listed below). This means that the new JARs are a drop-in replacement for the old one (but not the other way around) as long as your build does not enable the inliner (Scala-only restriction). It should be noted that Scala 2.11.x is is not binary compatible with Scala 2.10.x, which means that Akka’s binary compatibility property only holds between versions that were built for a given Scala version—akka-actor_2.11-2.4.2-RC1.jar is compatible with akka-actor_2.11-2.3.14.jar but not with akka-actor_2.10-2.3.14.jar.

Binary compatibility is not maintained for the following:

  • testkits:
    • akka-testkit
    • akka-multi-node-testkit
    • akka-persistence-tck
    • akka-stream-testkit
    • akka-http-testkit
  • experimental modules:
    • akka-persistence-query-experimental
    • akka-distributed-data-experimental
    • akka-typed-experimental
    • akka-http-experimental
    • akka-http-spray-json-experimental
    • akka-http-xml-experimental
    • akka-http-jackson-experimental
  • features, classes, methods that were deprecated in 2.3.0 or earlier and removed in 2.4.x
  • everything marked as INTERNAL API in the JavaDoc.

Outlook

The next version will focus on getting the Akka HTTP Java DSL aligned with the Scala DSL—this is the reason for the “experimental” designation that remains on this module for now. Another focus is to further optimize our Stream internals and HTTP usage of same so that the performance will be comparable to Spray for all cases.

Credits

Due to incorporating the full development of Streams & HTTP this release is HUMONGOUS: 2493 files changed, 179223 insertions, 4238 deletions. Our statistics script counts 101 committers:

commits added removed
  248   34061   15985 Johannes Rudolph
  217   37657   15740 Konrad Malawski
  183   61096   25081 Mathias
  179   35171   21224 Patrik Nordwall
  155   27724   21264 Roland Kuhn
  143   67772   24277 Endre Sándor Varga
   62    6836    7209 Viktor Klang
   57    8558    2049 Alexander Golubev
   53    5901    3135 Martynas Mickevičius
   46    7420    6288 Johan Andrén
   38    1099    1284 2beaucoup
   28   11195    5826 Björn Antonsson
   14    1706     523 galarragas
   13    2529     647 Martynas Mickevicius
    7    1052     283 Gilad Hoch
    7     875     271 lolski
    6      68      69 Heiko Seeberger
    5     131      17 Brian Topping
    5     473      77 Anton Karamanov
    5     668       5 Benjamin Thuillier
    4     404      56 Tal Pressman
    4       8       7 Richard Bradley
    3      16       1 hepin
    3       7       7 Philip L. McMahon
    3     120      38 Chris Baxter
    3      32      14 Matthias Sperl
    3     165      33 Bojan Petrovic
    3      33      10 Daniel Wegener
    3     258      16 Wojciech Jurczyk
    3       5       6 Lukasz Kryger
    3     209     243 André Rüdiger
    2     345      21 israel
    2      47      24 Tim Harper
    2      10      23 naferx
    2      18      18 Eric Nelson
    2      40      35 Alexey Romanchuk
    2      29       8 Balazs Kossovics
    2     138      11 Jisoo Park
    2      17      14 Matthias Lüneberg
    2      13      13 Sören Brunk
    2       5       5 Jakub Kozłowski
    2       2       2 netcomm
    2     148      24 Catalin Ursachi
    2      67      22 Mathias Bogaert
    1      67      40 Roland Ferenczy
    1       8       6 keredin
    1       0       0 Björn Antonsson
    1      25       1 James Roper
    1      64       2 kulikov
    1      18       9 Volker Stampa
    1    1893    1893 Prayag Verma
    1       2       2 Brian Drupieski
    1       1       1 Johan Andrén
    1       1       1 Dorin Cobzac
    1     252     258 Philipp Hofmann
    1      40       7 Peter Vlugter
    1       1       1 Jun
    1       6       0 Ryan Bair
    1     495       0 Martin Krasser
    1       2       0 raam
    1      55       0 Kaspar Fischer
    1     220       5 Rich Dougherty
    1     169      19 Alek Storm
    1      12       1 Olivier ROLAND
    1       3       3 Julian Tescher
    1       3      24 drewhk
    1     227      64 pjan vandaele
    1       1       1 egisj
    1       6       0 André Cardoso
    1       1       1 Chris Brett
    1       8       0 Raman Gupta
    1       6       7 Denis Mikhaylov
    1       3       3 Fehmi Can Saglam
    1       6       2 Daniel Moran
    1       2       2 Jason Zaugg
    1     784     417 Raymond Roestenburg
    1      20      15 Kirill Plyashkevich
    1      38       5 Eugene Dzhurinsky
    1       1       1 Felix Geller
    1      16      16 何品
    1      70       2 Alois Cochard
    1      37       8 Frank Murphy
    1     352      50 qian miao
    1     216       1 Iain Monro
    1      81      81 kukido
    1       6       6 Brendan McAdams
    1      23       5 Greg Methvin
    1       0       1 Arnout Engelen
    1     243       0 Philipp
    1       1       1 luben karavelov
    1       4       0 Harit Himanshu
    1      14       8 Otto Chrons
    1      26       1 Anderson Osagie
    1      51      35 prettynatty
    1       1       1 Piotr Jarzemski
    1     147      33 adebski
    1       7       0 Nafer Sanabria
    1      97      28 Greg Beech
    1       1       1 Jesse Haber-Kucharsky
    1       1       1 Jan Ypma

Thanks a lot to every single one of you!

Happy hakking!

– The Akka Team

Past News Items
Mar 17 2017
Dear hakkers, we—the Akka committers—are proud to be able to announce the availability of Akka 2.5.0-RC1 (FIRST RELEASE CANDIDATE). Since the release of Akka 2.4.0 (already 18 months ago) we...
Feb 24 2017
Dear hakkers, we—the Akka committers—proudly present the second development milestone for Akka 2.5. Since the release of Akka 2.4.0 (already 17 months ago) we have incrementally added many new features...
Feb 23 2017
Dear hakkers, we — the Akka HTTP committers — are happy to announce the availability of the forth maintenance release of Akka HTTP 10.0. This release is a monthly maintenance...
Feb 10 2017
Dear hakkers, This is to announce the immediate availability of a security patch release, addressing a potential security issue with Java deserialization. An attacker that can connect to an ActorSystem...
Jan 26 2017
Dear hakkers, we — the Akka HTTP committers — are happy to announce the availability of the third maintenance release of Akka HTTP 10.0. This release also includes the security...
Jan 26 2017
Dear hakkers, we—the Akka committers—proudly present the first development milestone for Akka 2.5. Since the release of Akka 2.4.0 (already 16 months ago) we have incrementally added many new features...
Jan 23 2017
Dear hakkers, This is to announce the immediate availability of a security patch release, addressing a potential denial of service attack targeting Akka HTTP in versions listed below. The vulnerability...
Dec 22 2016
Dear hakkers, We are proud to announce Akka Http 10.0.1, which is the first maintenance release of the Akka Http 10.0 series, and also our small holiday present to you....