Akka Http 10.0.3 Released!
January 26 2017
Johannes Rudolph

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 fix that was released earlier this week as Akka HTTP 10.0.2.

The most notable changes in this release are:

  • The addition of the experimental HttpApp feature to write simple Akka HTTP server with as little boilerplate as possible. Thanks a lot, @jlprat for contributing this feature and carrying through the PR with the most comments so far!
  • Several bug fixes.
  • Lots of smaller and larger documentation fixes contributed by the community.
  • We also made a lot of progress on the upcoming experimental Http/2 support for Akka HTTP. The bold ones of you can already get the artifact (akka-http2-support) as a preview and start playing around. We will continue to complete functionality and polish the rough edges. Stay tuned!

Changed semantics

In some cases, we need to change semantics slightly to fix bugs. Some user code may still rely on the previous behavior so we are listing them here to bring attention to potential issues.

  • Uri.Authority.toString now doesn’t render leading double slashes any more (#784)
  • request URIs for requests coming in for a server set up to use TLS now carry the https scheme (#658)

List of changes

Improvements

akka-http-core:
  • Optimize frame creation for streamed WS messages (#748)
akka-http:
  • Provide HttpApp API for Scala and Java (#156)
  • Add Java-side mapRejectionResponse (#593)
  • Add Composing directives java (anyOf, allOf). (#620)
  • Add Unmarshaller.andThen to combine two Unmarshallers (#691)
akka-http2-support:
  • Lots of larger and smaller improvements to Http2 support

Bugfixes

akka-http-core:
  • Allow Java bind API to specify port zero (#660)
  • Fix ConnectHttp.toHostHttps when no scheme is given
  • Exclude leading double slash from Uri.Authority.toString (#784)
  • Basic auth fix according to rfc7617 - ‘charset’ auth-param (#716)
  • Provide correct scheme in request URI for TLS connections (#658)
  • Prevent “Connection closed by peer” errors during connection closure (#459)
akka-http:
  • Fix stream marshalling, better errors, more examples (#424)
  • Don’t ignore failed future for NoContent responses (#589)
  • Deprecate wrongly spelled method Unmarshaller.unmarshall
  • Match path maps in order of longest matching key prefix (#394)
  • Don’t leak Scala classes in java Unmarshaller (#604)
akka-http-testkit:
  • Add support for Specs2 in testkit (#485)
akka-http-spray-json:
  • Fix spray-json unmarshalling of 4-byte UTF-8 characters AKA “the 😁 fix” (#691)
  • Updated spray-json dependency to 1.3.3

Documentation

  • A huge amount of bigger and smaller contributions from the community
  • Add link to sources to every documentation page to simplify contributing small fixes
  • Add search thanks to algolia (#726)
  • A new release notes page in the documentation.

Binary Compatibility

Akka 10.0.x is backwards binary compatible with previous 10.0.x releases and Akka 2.4.x. 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.12.x is is not binary compatible with Scala 2.11.x.

Akka-Http will be binary and source compatible with the upcoming Akka 2.5 release for which the first milestone was released this morning.

Credits

In this release we have closed 33 tickets, with the help of 15 committers – thank you all very much!

The complete list of closed tickets can be found on the 10.0.3 milestone on github.

commits  added  removed
     26   1607      175 Konrad `ktoso` Malawski
     24   1445     1029 Johannes Rudolph
     18    673      209 Jonas Fonseca
     13   2812      821 Josep Prat
      5    165       24 gosubpl
      3    267       43 Johan Andrén
      2     58        2 j
      1    196        1 tom-walford
      1    152        0 Mario Camou
      1     22       19 Guntis Ozols
      1     21       10 zettelmj
      1     16        0 Erik LaBianca
      1      8        1 ulasakdeniz
      1      2        1 Raymond Tay
      1      1        1 Adam Voss

Happy hakking!

– The Akka Team

Past News Items
Mar 30 2017
Dear hakkers, we—the Akka committers—are pleased to be able to announce the availability of Akka 2.5.0-RC2 (SECOND RELEASE CANDIDATE). This is what we intend to ship as 2.5.0 final unless...
Mar 17 2017
Dear hakkers, we — the Akka HTTP committers — are happy to announce Akka Http 10.0.5, which is the fifth maintenance release of the Akka Http 10.0 series. It is...
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...