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,
headerValueByTypedirective 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.
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
Binary compatibility is not maintained for the following:
- experimental modules:
- akka-http-experimental (please note that akka-http-core is stable)
- everything marked as INTERNAL API in the JavaDoc.
When migrating a code base to 2.4 please refer to the migration guide in order to profit from some of the improvements.
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!
– The Akka Team