Akka HTTP 10.1.6 released

Dear hakkers,

We are happy to announce the 10.1.6 release of Akka HTTP. 10.1.6 is the seventh release in the 10.1.x series of Akka HTTP. A main improvement is that 10.1.6 was built using Scala 2.12.8 which allows to use Akka HTTP from Java with JDK 11. See the full list of changes below.

Migration Notes

  • akka-http now requires to be run with Akka 2.5.19+ to support JDK 11 from Java (we maintain binary compatibility during the Akka 2.5.x series so the update should be painless).
  • RoutingSettings were moved to akka-http from akka-http-core (where they logically belong). Make sure to depend on akka-http when referencing this class (which your code will very likely already do because RoutingSettings cannot be used without the akka-http module).
  • akka-stream-testkit is now a provided dependency for akka-http-testkit, if you use akka-http-testkit also add a dependency to akka-stream-testkit into the mix

Changes since 10.1.5

For a full overview you can also see the 10.1.6 milestone:

Improvements

akka-http-core

  • Require Akka 2.5.19 for JDK 11 support
  • Move RoutingSettings to akka-http module (#2307)
  • Use collision-resistant maps in header parsing (#2276)
  • Depend on Scala 2.12.8 to allow Java usage from JDK 11 (#2305)
  • Add application/merge-patch+json (#2190)
  • Require Akka 2.5.10 and use the new version checker utility (#1880)
  • Add HttpEntity.isStrict (#2228)
  • Log time spent in a pool slot for simpler spotting of slow transition periods (#2226)
  • Replace existing HTTP Status Code 425 with TOO_EARLY (#2255)
  • Java API - call scala HttpEntity.toStrict that respects maxBytes (#2287)
  • Override getForKeyCaseInsensitive in HttpMethods (#2303)
  • Fix several warnings across all the modules (#2292)
  • Deprecate unofficial Microsoft media-types and add the official ones (#2264)

akka-http

  • Use collision-resistant maps for formFieldMaps (#2274)
  • Add Directive#tcollect and Directive1#collect (#2253)
  • Do not set dispatcher for file directives and remove file-io-dispatcher config (#1879)
  • Add new method for routes chaining in Java DSL (#1170)
  • Fail with unwrapped exception when using CompletionStage (#2054)
  • Return RequestEntityTooLarge status code in case of EntityStreamSizeException (#2279)

akka-http-testkit

  • akka-stream-testkit is now a provided dependency for akka-http-testkit (#2262)

Bug Fixes

akka-http-core

  • Client pool: exponential backoff after failed connection attempts (#1391)
  • Fix broken multi-byte UTF-8 decoding in HeaderParser if UTF-8 sequence is cut in the middle (#1484)
  • Fix limiting of chunk size in the NoCode encoder (#2252)
  • Allow chunked responses in HttpMessage with protocol = HTTP/2, fixes (#2217)

akka-http

  • Default exception handlers do now discard entity bytes when completing a request that ended in error (#2084)
  • Fix cancellation and head-of-line blocking in fileUpload directive (#2224)
  • toStrict the entity when parsing multiple form fields (#2283)
  • Fix CsvSeq unmarshaller to include trailing empty string values in the result Seq[T] (#2249)

akka-http2-support

  • Handle stream cancellation while outgoing data is buffered (#2237)

akka-http-caching

  • Fix that LfuCache ttl can be equal to tti (#2188)

Credits

The complete list of closed issues can be found on the 10.1.6 milestone on GitHub.

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

commits  added  removed
     14    585      129 Johannes Rudolph
     14    420       93 Arnout Engelen
     10    322       47 Josep Prat
      4     19       14 Philippus Baalman
      2     64        5 Johan Andrén
      2      2        2 Paulo "JCranky" Siqueira
      1    109       92 Korneliusz Rabczak
      1     35       52 Roman Filonenko
      1     34       32 Renato Cavalcanti
      1     46        1 Markus Hauck
      1     40        5 Frank P. Tominc
      1     20       15 ashish kumar
      1     32        0 Zhanibek Adilbekov
      1     10        9 Oliver Wickham
      1     14        1 László van den Hoek
      1      7        4 Gergő Törcsvári
      1      9        1 Maxim
      1      4        6 Christopher Batey
      1      4        4 shokohara
      1      3        3 Pontus Palmenäs
      1      2        2 ctoomey
      1      2        0 Richard
      1      1        1 Matt Kohl
      1      1        1 kazufumi.nishida
      1      1        1 Linh Nguyen
      1      1        1 miroslav.hornak
      1      1        1 sullis
      1      1        0 Evgeny Veretennikov

Happy hakking!

– The Akka Team & Akka Http Contributors

1 Like