News & Articles

Full archive

Dear hakkers,

We are proud to announce Akka Http 10.0.8, which is the eight release of the Akka Http 10.0 series. This is a regular maintenance release that contains several maintenance fixes, improvements and new features.

Https Proxy Support

Long awaited support for configuring an HTTPS CONNECT Proxy (example for Scala and Java) for the client has arrived. Thanks a lot, Michal Sitko (@note), who implemented the feature.

Support for proxies that require authentication is yet to be implemented and is tracked by the ticket #1213.

Ability to express textual content types with missing character set

Akka-http has a strongly typed media type / content type system, and knows at compile time about which media types are supposed to express a character set attribute, e.g. text/plain; charset=UTF-8. Before this release, akka would silently assume UTF-8 for ContentType instances of media types with a missing charset attribute.

From now on, content types missing a charset can be both parsed and expressed directly, using the new ContentType.WithMissingCharset trait/class.

  • For incoming Content-Type headers with values missing a charset, such as text/plain, the header ContentType will be represented as WithMissingCharset, rather than assuming an UTF-8 charset (which could have been a wrong guess).
  • If you need to create such a content type programmatically, use e.g. MediaTypes.`text/plain`.withMissingCharset (scala) or MediaTypes.TEXT_PLAIN.toContentTypeWithMissingCharset() (java).

Note to scala users: If you have match statements across ContentType, keep an eye out for new compiler hints. You need to decide what what to do in case you get a content type with a missing character set, by adding a ContentType.WithMissingCharset case.

Server-Sent Events Support

Support for Server-Sent events was added by merging akka-sse project by @hseeberger. Thank you very much, Heiko!

Notable improvements by module

akka-http-core

  • HTTPS proxy support (#192)
  • Allow ‘=’ in query param values in relaxed mode (#1120)

akka-http

  • Add support for Server-Sent Events (#669)
  • Add support for textual content types with missing character set (#1134)

akka-http-testkit

  • Remove unnecessary dependency to ScalaTest from JUnitSuiteLike (#1147)

Documentation

  • Document pluggable client transport infrastructure and HTTPS proxy support (#192)
  • Reference security announcements and release notes in ToC (#1199)

Bug fixes by module

akka-http-core

  • Parse Websocket headers according to the set header processing mode (#1166)
  • Fix a regression which caused the idle-timeout on server side not to function properly (#1012)
  • Add a special handling of the charset parameter in Accept header when comparing media types (#1139)
  • Use ws(s) scheme instead of http(s) when calculating effective websocket request URIs (#909)

Credits

A total 19 issues were closed since 10.0.7.

The complete list of closed issues can be found on the 10.0.8 milestones on GitHub.

For this release we had the help of 17 contributors – thank you all very much!

commits  added  removed
     11    441      228 Johannes Rudolph
      8     59       11 Konrad `ktoso` Malawski
      5     53        7 Arnout Engelen
      3     40       36 Jonas Fonseca
      2    401        6 Michal Sitko
      1   1159        1 Heiko Seeberger
      1    116       24 Jan Ypma
      1     65       69 Domas Poliakas
      1     59       31 Josep Prat
      1     35       46 Greg Methvin
      1     51       23 André Rüdiger
      1     39        1 Vladimir Samoylov
      1      4        4 Kirill Yankov
      1      4        2 Jimin Hsieh
      1      1        1 Laurynas
      1      1        1 Martynas Mickevičius
      1      1        1 synox

Happy hakking!

– The Akka Team