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

News & Articles

Full archive

January 26

2017

Akka Http 10.0.3 Released!

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