Dear hakkers,
Today, we are proud and happy to announce the immediate availability of the fully stable version of Akka HTTP – 10.0.0, charmingly code named “X” by @jonas on gitter!
Please note that while the version number changed significantly, the actual surface APIs did not by much. The akka-http-core module was already stable back in Akka 2.4, so it remained binary compatible, and the sources for akka-http are almost completely compatible with those that were shipped as Akka 2.4.11 – you should not have any trouble upgrading.
From here-on the Akka HTTP releases will respect binary compatibility, as expected from stable Akka modules. We will also try out a novel way of introducing new APIs, by shipping them in the stable modules however marking them as “experimental” or “not-sure-if-we-keep-them” so you’d be able to opt-in into those on a case-by case basis. This idea is under discussion in the Consider @Experimental / @ApiMayChange markers on APIs issue on github.
Along with the new version, and stability of all of the modules, we expect the community to quickly catch up with releasing the various support projects for the new version, such as akka-http-cors, akka-sse, akka-http-session, akka-http-json. This includes cross releases for Scala 2.12, for which Akka HTTP is now available as well.
Documentation
The documentation is available
under a separate directory under doc.akka.io, and will follow the following
scheme: doc.akka.io/libraries/akka-http/[version]/
, the usual “current” symlink
is also available and we recommend using that if linking to Akka
documentation from external sites such as stack overflow or blogs.
The documentation has moved to the Lightbend Paradox tool, which allows us to write documentation using extended markdown, instead of restructuredtext which we found was making it difficult for first time contributors. Thanks a lot, @jonas, who contributed the biggest part of the conversion!
We are currently working on a redesign of the documentation pages, so they will soon get a shiny new look. Please bear with us during the transition period. Other projects, like Alpakka, Reactive Kafka have also already adopted Paradox, and Akka itself will soon follow as well. We will be able to provide very interesting features thanks to Paradox, keep your eyes peeled for them soon.
As always, help is very welcome, and if you find a part of the documentation you’d like to see improved, please open tickets or send in pull requests directly, thanks in advance!
Versioning
Akka HTTP from here-on will be versioned separately from Akka “core”. The original purpose of these projects sharing their version number was that Akka HTTP was evolving and providing many real-world requirements for the Akka Streams implementation, thus they were developed together. Now that both projects are stable, we want to be able to move them more independently.
The version scheme will follow semantic versioning, breaking changes will only be made in major releases (i.e. the next one being 11.0.0). However we will also introduce a new way of marking experimental APIs released inside existing modules – for a discussion on this please see the issue akka/akka-http#3.
The -experimental
suffix has now been dropped for all of Akka HTTP’s module.
During the transition period make sure not to transitively depend on old artifacts
that still carry the suffix (like akka-http-experimental
). Otherwise, you could
end up with multiple versions of the same classes on the classpath.
This version of Akka HTTP depends on Akka 2.4.14, since some critical fixes and improvements were made in the recent version of Akka.
Community
We consider ourselves very lucky that we have such vibrant and helpful community around Akka, and Akka HTTP specifically. In recent months we started to include more community members in our github teams for the various projects (reactive-kafka, alpakka, akka-http), and plan on continuing to do so. If you’re interested in becoming part of our extended teams, please read: Akka HTTP - stable, growing and tons of opportunity on akka-meta and keep hakking :-)
Credits
A total 22 issues were closed since the last release candidate, most of the work has been fixes, stability improvements and preparing for the upcoming stable release.
The complete list of closed issues since the split from Akka 2.4.11 can be found on the 3.0.0-RC1, 10.0.0-RC2, 10.0.0 as well as the HTTP/2 PoC milestones on github.
For this release we had the help of 23 committers – thank you! We continue to be amazed by the steady stream of contributions from you all!
commits added removed
89 5496 961 Johannes Rudolph
32 2584 798 Konrad Malawski
28 23505 25369 Jonas Fonseca
14 797 114 Josep Prat
9 836 243 Robert Budźko
6 431 272 gosubpl
4 173 120 Martynas Mickevičius
3 314 13 Richard Imaoka
2 37 37 Bernard Leach
2 70 1 Johan Andrén
2 53 5 2beaucoup
2 26 24 Jakub Kozłowski
1 108 114 Derek Wyatt
1 176 34 Schmitt Christian
1 45 33 Wojciech Langiewicz
1 25 9 Krzysztof Muchewicz
1 6 6 Stefano Bonetti
1 6 6 Markus Hauck
1 4 3 Heiko Seeberger
1 3 1 jpra
1 2 1 Jeffrey Warren
1 1 1 Ian Forsey
1 1 1 Dale Wijnand
Happy hakking!
– The Akka Team