Introducing Akka Cloud to Edge Continuum. Build once for the Cloud. Seamlessly deploy to the Edge. Learn More
 

News & Articles

Full archive

April 01

2016

Akka 2.4.3 Released!

Dear hakkers,

we—the Akka committers—are proud to announce the third patch release of Akka 2.4.

This release focused mostly on hardening and polishing of existing features. We fixed a total of 58 flaky tests or bugs, continuing towards our stretch goal of reaching a clean slate in terms of known defects.

The key features of the 2.4.3 release are:

  • KillSwitch streams operator, which allows external completion of streams,
  • the headerValueByType directive can now also handle ModeledCustomHeaders,
  • the “no elements passed since 1 minute” error log is now a debug message, as it is a fully expected thing to happen
    • please remember that idle connections in Akka HTTP will be automatically closed after an idle-timeout. Timeouts in Akka HTTP now have a documentation page.
  • performance improvements in flatMapMerge
  • Performance improvements in materialized value computation
  • Fixed HTTPS support which broke due to changes in the behaviour the JDK with respect to SNI handling in SSLContext
  • new search engine (powered by algolia) for our docs - which should make navigating the documentation much more pleasant
  • … and quite possibly the most innovative thing since sliced bread – the docs page now includes copy&paste friendly dependency snippets for various build tools

Akka HTTP JavaDSL status update

We are intensely working on introducing the new Routing Java DSL for Akka HTTP, which aims to be as close as possible to the Directives-style API that the Scala DSL provides. The majority of this work was contributed by Jan Ypma, and we continue to work together to push it over the finish line very soon – at which point we will release Akka 2.4.4.

If you have been using the old Routing Java DSL this change will mean that these routes will have to be implemented using the new DSL when you upgrade. We are certain that the new DSL will be to your liking – we listened to lots of feedback from the community when deciding to make this change.

As such, the entire old routing dsl will be removed and replaced with the new DSL in the upcoming 2.4.4 release.

Transparency of core Akka team plans

For the sake of improving transparency and inclusiveness of our community we decided to publish the core team’s sprint planning notes on the akka-meta repository, such that interested parties can have a look at what we’re focusing on in the next weeks. We hope that this experiment will work out well and improve awareness of where our efforts are spent, or where it would be a good time to contribute pull requests.

The plan which included shipping Akka 2.4.3 is available here.

Binary Compatibility

Akka 2.4.3 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 com atible 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 (please note that akka-http-core is stable)
    • akka-http-spray-json-experimental
    • akka-http-xml-experimental
    • akka-http-jackson-experimental
  • everything marked as INTERNAL API in the JavaDoc.

Migration Guide

When migrating a code base to 2.4 please refer to the migration guide in order to profit from some of the improvements.

Credits

A total 148 issues were closed since 2.4.2. The complete list of closed issues can be found on the 2.4.3 milestone on github.

For this release we had the help of 47 committers:

commits added removed
   30    1609     430 Konrad `ktoso` Malawski
   24    2018     869 Roland Kuhn
   15     311     158 Patrik Nordwall
   12    2814    2302 Johan Andrén
    7    1212     346 Alexander Golubev
    6     244     923 Johannes Rudolph
    6     219     215 Martynas Mickevičius
    5     218     212 Wojciech Langiewicz
    5    1338     308 Endre Sándor Varga
    4       9      19 Nafer Sanabria
    5      17       7 Richard Imaoka
    3      71      30 Samuel Tardieu
    3       8       2 Stefan Mees
    3     183     181 qian miao
    2       3       2 Jonas Bonér
    2      84      28 Viktor Klang
    2      19      19 Sören Brunk
    2      70      39 Tapio Rautonen
    2      64      60 Evgeny Vanslov
    2       3       1 Venil Noronha
    1     113       0 Ganeshwara
    1       6       3 Arnout Engelen
    1      48       2 James Mulcahy
    1      50      36 Evgeniy Tokarev
    1      20      11 miciek
    1       1       1 prascuna
    1      58       2 Wilson A Higashino
    1       2       2 Brendan McAdams
    1      55       0 Martin Miklós
    1       1       1 Matthew T. Adams
    1     271      12 Tal Pressman
    1     301      54 Mathias
    1      13       5 Kirill Plyashkevich
    1       8       9 Fehmi Can Saglam
    1      51       4 Bernard Leach
    1       4       7 Paolo Rascuna
    1       6       5 Anderson Osagie
    1       1       1 David Knapp
    1       5       1 Guido Medina
    1      59      59 Julian Tescher
    1       1       1 Sergiusz Kierat
    1       2       2 Stanislav Savulchik
    1       2      84 Jaca777
    1       4       2 Andrzej Dębski
    1       2       2 Stefan Wachter
    1       2       2 James Roper

Thanks a lot to every single one of you!

Happy hakking!

– The Akka Team