Akka HTTP 10.1.2 released!


(Arnout Engelen) #1

Dear hakkers,

We are happy to announce the release of Akka HTTP 10.1.2, which is the third release in the 10.1.x series of Akka HTTP.

Notably, this release:

  • Introduces “Graceful” Server Termination (#118): calling the newly introduced terminate on the ServerBinding will cause the binding to start gracefully rejecting new requests, while giving existing requests a deadline to complete normally.
  • Discards Entities in Default RejectionHandler (#38). Previously, when rejecting a request, the default rejection handler would not consume the request entity. The default rejection handlers have been updated to consume the request in this case.
  • Appends a newline to every element when streaming CSV (and NDJSON, #1931): Previously, CSV lines would only be interspersed with newlines, but no final newline would be sent. While arguably this was a bug in itself, it also had the unfortunate effect that a newline would only be emitted when the next CSV line became available, which is especially surprising in situations where CSV data is produced relatively slowly.

List of changes (since 10.1.1)

For a full overview you can also see the Milestone on GitHub:

Fixes in akka-http-core

  • Default rejection handlers do now discard entity bytes when rejecting a request (#38)

Improvements in akka-http-core

  • Added toStrict to WS Messages (#15)
  • Accept LF end of line instead of CRLF only (#106)
  • Add setting ignore-illegal-header-for (#687)
  • Support parameters for custom media types (#2005)
  • Accept response before request has been sent completely (#1746)
  • Added ability to set https proxy host and port through application.conf (#995)
  • “Graceful” Server Termination #188 (#2035)

Fixes in akka-http

  • fix 500 error in conditional GET for non-etag response (#1951)

Improvements in akka-http

  • Discard Entity in Default RejectionHandler (#38)
  • Adds missing parameter with required value directive for Java API (#2025)
  • Add Java DSL optionMarshaller (#1247)
  • Append newline to every element when streaming CSV (and NDJSON). (#1931)

Fixes in docs

  • Fix Java snippet in Path Matcher doc page (#2000)
  • Add missing methods for creating custom binary MediaTypes (#2008)
  • Update outdated link in “Handling blocking operations” (#2038)

Improvements in docs

  • Added explanations for beginners how to access the server (#1975)
  • Add dynamically updating routes example (#1935)
  • Recommend static Directives. imports over AllDirectives (#1993)

Fixes in akka-http2-support

  • Ignore unknown h2 SETTINGS (#2039)
  • Allow h2 SETTINGS with large max header table size (#2040)

Improvements in akka-http2-support

  • Run h2spec integration tests (#1988)
  • Allow Http2 without negotiation/TLS (#1934)

Thanks

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

commits  added  removed
     17   2100      261 Arnout Engelen
      4    299        7 oheger
      4    153       29 Josep Prat
      3    922       31 Konrad `ktoso` Malawski
      3      9       12 Jimin Hsieh
      2      8      300 Johan Andrén
      2    215       25 Korneliusz Rabczak
      2     10       10 Philippus Baalman
      2      2        2 Martynas Mickevičius
      1    362       22 Johannes Rudolph
      1    193       12 Sean Callahan
      1    173       12 Robert Budźko
      1    180        0 Linh Nguyen
      1    109       65 Gaëtan Rizio
      1    102       19 Rich Dougherty
      1     84       12 Shinichi Morimoto
      1     54       41 Catalin Ursachi
      1     43        2 Gabriel A.S
      1     12       17 Odd Möller
      1     17        2 Torao Takami
      1      9        0 Vlad Patryshev
      1      1        2 bartecheck
      1      1        1 Christopher Batey
      1      1        1 Hauton J Tsang
      1      1        1 Tema Bolshakov

Happy hakking!

– The Akka Team