Akka HTTP 10.2.2 released

Dear hakkers,

We are happy to announce the 10.2.2 release of Akka HTTP. This release is the second update in the 10.2.x series of Akka HTTP.

Changes since 10.2.1

For a full overview you can also see the 10.2.2 milestone.
Notably, we have made various improvements to the HTTP/2 server support
while we continue to prepare for providing HTTP/2 support at the client as
well.

As of this version, it is no longer strictly necessary to depend no a separate
‘akka-http2-support’ artifact to get HTTP/2 support in Akka HTTP. We will
continue to publish an empty artifact with that name to make it easy to
upgrade, however.

Changes since 10.2.1

akka-http-core

  • Allow illegal header keys to be ignored #3133
  • HttpCookie.copy was calling itself recursively #3670
  • Don’t dispatch onResponseEntity… events for entities that don’t have to be subscribed #3574
  • Add modeled ‘TE’ header #3616, #3618
  • Add parens to deprecation messages for bind-methods #3547
  • Use official version of SocketUtil in tests #3558
  • Link to https rather than http #3663
  • Avoid temporaryServerHostnameAndPort #3691

akka-http

  • Optimize header directives by avoiding HttpHeader.unapply #3591

akka-http-marshallers

  • Update jackson-dataformat-xml from 2.10.5 to 2.10.5.1 #3695

akka-http-testkit

  • Fall through on AssertionErrors in testkit #3512
  • Fail noisily if trying to use ~> together with transparent-head-requests #3569

docs

  • Add example for Get request with query parameters #3624
  • Add akka-actor-typed dependency to introduction.md #3565
  • Typo fix: “the onne” --> “the one” #3521
  • Some docs gardening #3544
  • Link project info to snapshots #3681
  • Release notes for 10.1.13 #3635
  • Add section about how to configure snapshots #3642
  • Add example for Get request with query parameters #3624
  • Update formFields example #3650
  • Verify signatures from the markdown actually exist #3654
  • Add link from formFields to parameters directive docs #3655
  • Use explicit paths to snippets #3653
  • Fix the Bid class. #3661

akka-http2-support

  • Extract common rendering + add userAgent on requests #3657
  • Continue accepting window updates even when done sending #3619
  • Support custom HTTP methods for HTTP/2 #3622
  • More robust handling of IncomingStreamBuffer.onPull #3621
  • Simplify Http2Substream hierarchy trading a bit of type-safety for simplicity #3605
  • More useful event info for stream state changes #3643
  • Add some more basic HTTP/2 client tests #3644
  • Configurable ping support through demuxer #3617
  • Close the substreams earlier from the demuxer #3647
  • HTTP/2 client test coverage (and support for) TLS session info #3668
  • Handle RST while sending data + more tests #3671
  • Fix lost ‘pull’ when closing while waiting for window #3672
  • Send and enforce max concurrent streams setting #3529
  • Unify incoming and outgoing state machine #3552
  • Disable Push (send SETTING) #3555
  • Fix Scala 2.12 compilation error #3582
  • Remove explicit parallelism parameter in HTTP/2 #3545
  • Respect remote max concurrent streams (reprise) #3581
  • Also go through state machine for resetStream #3584
  • Fix leakage of incoming substreams in edge cases #3233
  • Run handler code in its own task on the server #3593
  • Check HTTP2 headers for correctness #3603
  • HTTP/2 connection level API #3511
  • Accepting trailing headers in the HTTP/2 client #3602
  • Protocol-level client specs #3532
  • Move some public API bits to its final places and mark them as @ApiMayChange#3526
  • Use LogHelper in demux classes #3506
  • Remove some minor repetition in HTTP/2 rendering #3229
  • Test server responses to invalid ping frames #3523
  • Use scheme portion of target URI in :scheme pseudo-header #3535
  • Add test for receiving WINDOW_UPDATE in HalfClosedRemoteWaitingForOutgoingStream state #3554
  • Make ‘network’ and ‘user’ sides more explicit #3638
  • streamId attribute is not needed / supported on client side #3652

build

  • Akka HTTP BOM #3665
  • Add 10.2.1 to MiMa #3499
  • Increase paradox parsing timeout #3508
  • Also aggregate akka-http-bench-jmh, to fail if benchs fail to compile #3561
  • Exclude akka-http-bench-jmh from whitesource #3562
  • Disable whitesource for submodules which are not to be published #3564
  • Remove sbt-javaagent #3598
  • Include stack traces in scalatest failures #3612
  • Add 10.1.13 to mima #3641

And various updates:

  • Update akka to 2.5.32 #3558
  • Update caffeine from 2.8.5 to 2.8.7 #3515
  • Update junit from 4.12 to 4.13.1 #3517
  • Update paradox-theme-akka, … from 0.35 to 0.36#3697
  • Update sbt-bintray from 0.5.6 to 0.6.1 #3572, #3596
  • Update sbt-mima-plugin from 0.8.0 to 0.8.1 #3548
  • Update sbt-scalafix, scalafix-core, … from 0.9.21 to 0.9.23 #3614
  • Update specs2-core from 4.10.3 to 4.10.5 #3518, #3550
  • Update spray-json from 1.3.5 to 1.3.6 #3629

Credits

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

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

commits  added  removed
     38   1177     1029 Johannes Rudolph
     36   2454     1579 Arnout Engelen
     12   1366      180 Johan Andrén
      7    773      389 Ignasi Marimon-Clos
      3     15       25 Enno Runne
      1    123       16 Christof Nolle
      1     33        2 Nikhil
      1     22        0 Artur Soler
      1      4        4 Philippus Baalman
      1      3        2 Andrea Peruffo
      1      3        2 Sungho Hwang
      1      2        2 Nathaniel Fischer
      1      2        2 Michael Simons
      1      2        2 nitikagarw
      1      1        1 gnp
      1      1        1 Nitika Agarwal
      1      1        1 Roberto Leibman

Akka by Lightbend

The Akka core team is employed by Lightbend. If you’re looking to take your Akka systems to the next level, let’s set up a time to discuss our enterprise-grade expert support, self-paced education courses, and technology enhancements that help you manage, monitor and secure your Akka systems - from development to production.

Happy hakking!

– The Akka Team