Dear hakkers,
We are pleased to announce a new patch release of Akka 2.5. Other than the usual hardening and maintenance work, during this period we made a lot of progress on multiple very important new features which we are very proud to release today.
The most important features are:
- Support for Java 9 across the board (while maintaining Java 8 support)
- Support for java.util.concurrent.Flow interfaces in Akka Streams #23578
- Akka Typed API previews for:
- First release of Multi-DC Clustering (preview)
A total of 100 (sic!) issues were closed since 2.5.4. The complete list can be found on the 2.5.6 milestone on github.
Request for feedback on Akka Typed APIs
Please note that all the Akka Typed APIs (persistence, cluster, …) remain “ApiMayChange”, as we continue to gather feedback and finalize those APIs over the coming months. We’d like to encourage you to try them out and provide feedback in case you encounter some missing or confusing functionality.
These new APIs do not yet have a full-blown documentation, however we will introduce all the APIs in a fresh blog post series, beginning with the Typed Akka Cluster API post published right now, where we introduce these Typed APIs–more posts will follow, so please keep an eye on our blog and twitter!
JDK9 and java.util.concurrent.Flow.* compatibility
This release also marks the first Akka release which is both Java 9 compatible, as well as provides support for the new
java.util.concurrent.Flow.*
interfaces, which we are incredibly proud to see shipping in the JDK – as they are the result of the Reactive Streams initiative that we co-lead and intensely participated in over the last years. The j.u.c.Flow
interfaces are 1:1 semantically equivalent to their Reactive Streams counterparts, and adhere to the same specification, and can be tested using the same, freely available, Technology Compatibility Kit.
Starting today, it is possible to consume/expose Akka Streams directly as j.u.c.Flow types, using the akka.stream.
[javadsl
or
scaladsl
].JavaFlowSupport
Sinks and Sources. No additional dependency has to be added to make use of these types, other than making sure to compile and run using JDK9. Users of previous versions of Java will not be able to compile or use those types, and are recommended to stick to Akka Streams or Reactive Streams interfaces in case a need for inter-operability between libraries arises.
Credits
For this release we had the help of 34 committers and contributors – thank you all very much!
commits added removed
44 4769 1571 Patrik Nordwall
19 4629 637 Johan Andrén
18 1019 247 Arnout Engelen
14 2940 413 Konrad `ktoso` Malawski
6 982 383 Johannes Rudolph
5 21 27 Christopher Batey
4 329 184 Alexander Golubev
3 118 110 Guido Medina
3 150 7 Martynas Mickevičius
3 41 9 Sebastian Harko
2 12 17 Josep Prat
2 2 2 SirMullich
1 173 478 Richard Imaoka
1 459 4 Nikos Nakas
1 162 24 Rafał Sumisławski
1 96 41 László van den Hoek
1 64 3 Kirill Yankov
1 59 1 Heiko Seeberger
1 55 2 Cause Chung
1 35 7 sebastian.harko
1 1 25 Atiq Sayyed
1 16 1 gosubpl
1 5 1 Kamil Kafara
1 3 2 Nadav Wiener
1 2 2 Jimin Hsieh
1 3 1 Will Sargent
1 2 2 Lucian Enache
1 2 2 Szymon Chojnacki
1 2 1 Lukas Phaf
1 1 1 novacekm
1 1 1 petermz
1 1 1 Philippus Baalman
1 1 1 Arun Manivannan
1 1 1 Kyle Song
1 1 1 Changwon Choe
1 0 1 Andrea Peruffo
Happy hakking!
– The Akka Team