Dear hakkers,

We are happy to announce Akka Http 10.0.11, the eleventh release of the 
Akka Http 10.0 series. It marks the one year anniversary of the 10.0 
series. As a special present the community and Akka team worked together to 
add the long awaited akka-http-caching module inspired by spray-caching.

It also features a new implementation of the client pool infrastructure. 
This will allow us in the future to finally tackle many of the issues 
reported for the existing infrastructure like request timeouts, handling 
unread response entities, and other issues more easily.

In an ongoing behind-the-scenes effort, @jonas <https://github.com/jonas>, 
@jlprat <https://github.com/jlprat> and others continued to improve the 
structure of our documentation to consolidate Java and Scala documentation. 
This reduction in duplication of documentation content will allow us to 
make changes to the documentation more easily in the future. Thanks a lot!
New caching module, akka-http-caching

In a several month long effort members from the community and the Akka team 
discussed and implemented the long-awaited replacement of spray-caching. 
The new module akka-http-caching got quite an overhaul over spray-caching 
and is now backed by caffeine <https://github.com/ben-manes/caffeine>.

Thanks a lot, @tomrf1 <https://github.com/tomrf1>, @jonas 
<https://github.com/jonas>, @ben-manes <https://github.com/ben-manes>, 
@ianclegg <https://github.com/ianclegg> for the fruitful discussions and 
for providing the implementation!

The caching API is currently marked with @ApiMayChange and thus may change 
based on feedback from real world usage. Some improvements are already 
planned to make it into future releases 
<https://github.com/akka/akka-http/issues?utf8=%E2%9C%93&q=is%3Aissue+is%3Aopen+label%3At%3Acaching+label%3A%22help+wanted%22>.
 
We hope further collaboration within the community will help us stabilize 
the API.

See the documentation 
<https://doc.akka.io/docs/akka-http/current/scala/http/common/caching.html> for 
more information.
Http Client Pool Infrastructure Rewrite

The existing host connection pool infrastructure has accrued quite a lot of 
issues that are hard to fix. Therefore, we decided to rewrite the old 
version which was based on a stream graph jungle with a new version 
implemented as a single GraphStage which will be easier to maintain. The 
new infrastructure already passes all the old tests and is now considered 
ready to be tested. The new implementation can be enabled with the feature 
flag akka.http.host-connection-pool.pool-implementation = new. One 
important feature that is available only with the new pool implementation 
is a new warning that will be shown if user code forgets to read or discard 
a response entity in time (which is one of the most prominent usage 
problems with our client API). If you experienced problems with the old 
implementation, please try out the new implementation and report any issues 
you find.

We hope to stabilize the new implementation as soon as possible and are 
going to make it the default in a future version.
Incompatible changes to akka.http.{java,scala}dsl.coding classes

To clean up internal code, we made a few incompatible changes to classes 
that were previously kept public accidentally. We now made those classes 
private and marked them as @InternalApi. Affected classes are 
akka.http.scaladsl.coding.DeflateDecompressorBase,
akka.http.scaladsl.coding.DeflateCompressor, and 
akka.http.scaladsl.coding.GzipCompressor. The actual codec APIs, Gzip and 
Deflate, are not affected. This is in violation with a strict reading of 
our binary compatibility guidelines. We still made that change for 
pragmatic reasons because we believe that it is unlikely that these classes 
have been used or extended by third parties. If this assumption turns out 
to be too optimistic and integration with third-party code breaks because 
of this, please let us know.
List of ChangesImprovementsakka-http-core
   
   - New host connection pool infrastructure (#1312 
   <https://github.com/akka/akka-http/issues/1312>)
   - Allow disabling of parsing to modeled headers (#1550 
   <https://github.com/akka/akka-http/issues/1550>)
   - Convert RFC references in documents in model classes to scaladoc (#1514 
   <https://github.com/akka/akka-http/issues/1514>)
   - Allow configuration of default http and https ports (#1449 
   <https://github.com/akka/akka-http/issues/1449>)
   - Remove unnecessary implicit materializer parameter in several 
   top-level Http entry point APIs (#1464 
   <https://github.com/akka/akka-http/issues/1464>)
   - Add X-Forwarded-Proto and X-Forwarded-Host header models (#1377 
   <https://github.com/akka/akka-http/issues/1377>)
   - Lookup predefined header parsers as early as possible (#1424 
   <https://github.com/akka/akka-http/issues/1424>)

akka-http
   
   - Add multiple file upload directive (#1033 
   <https://github.com/akka/akka-http/issues/1033>)
   - Add Marshaller.oneOf(m1, m2) to JavaDSL (#1551 
   <https://github.com/akka/akka-http/issues/1551>)
   - Improve performance of LineParser for SSE unmarshalling (#1508 
   <https://github.com/akka/akka-http/issues/1508>)
   - Automatically probing and decompression support for zlib wrapped 
   deflate streams (#1359 <https://github.com/akka/akka-http/issues/1359>)
   - Simplify implicit parameter structure in FormFieldDirectives (#541 
   <https://github.com/akka/akka-http/issues/541>)
   - Return BadRequest when size of FormData exceeds limit of withSizeLimit 
directive 
   (#1341 <https://github.com/akka/akka-http/issues/1341>)

akka-http-testkit
   
   - Provide Dilated Timeouts for Java Testkit (#1271 
   <https://github.com/akka/akka-http/issues/1271>)
   - Add more comprehensive description of the TestRoute run methods (#1148 
   <https://github.com/akka/akka-http/issues/1148>)
   - Add a runWithRejections method to the Java TestRoute API (#1148 
   <https://github.com/akka/akka-http/issues/1148>)
   - Support separation of route execution from checking in the Java DSL (
   #1148 <https://github.com/akka/akka-http/issues/1148>)

akka-http-caching
   
   - New module partly ported from spray-caching backed by caffeine (#213 
   <https://github.com/akka/akka-http/issues/213>)

Documentation
   
   - Ongoing work on consolidating Java and Scala documentation (#1290 
   <https://github.com/akka/akka-http/issues/1290>)
   - Update Paradox and docs to use new features (#1436 
   <https://github.com/akka/akka-http/issues/1436>)

Build
   
   - Update to sbt 1.0.x

Bug Fixesakka-http-core
   
   - Fix userinfo parsing to percent decode input in UriParser (#1558 
   <https://github.com/akka/akka-http/issues/1558>)
   - Remove duplicate settings from akka.http.host-connection-pool.client 
   so that akka.http.client will be picked up by default (#1492 
   <https://github.com/akka/akka-http/issues/1492>)
   - Add minConnections modifier to javadsl ConnectionPoolSettings (#1525 
   <https://github.com/akka/akka-http/issues/1525>)
   - Fix race condition in WebSocket switch leading to broken websocket 
   connections in tests (#1515 
   <https://github.com/akka/akka-http/issues/1515>)

akka-http
   
   - Mark coding implementation classes as internal API (#1570 
   <https://github.com/akka/akka-http/issues/1570>)

Credits

A total of 62 issues were closed since 10.0.10.

The complete list of closed issues can be found on the 10.0.11 milestone 
<https://github.com/akka/akka-http/milestone/31?closed=1> milestones on 
GitHub.

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

commits added removed
   24    2346     387 Johannes Rudolph
   13     918     444 Jonas Fonseca
    8      53      45 Arnout Engelen
    7      81      30 Konrad `ktoso` Malawski
    5      37      15 Kyle Song
    3     137     142 Martynas Mickevičius
    3     264     350 Atiq Sayyed
    2     166      34 tom-walford
    2      16      23 Christopher Batey
    2      12      11 golem131
    2      22       3 Ángel Cervera Claudio
    1       1       1 Kuba Gruszka
    1       2       1 Jimin Hsieh
    1       6       4 olofwalker
    1       4       4 Daniel Kalman
    1      49       5 Dmitry Avershin
    1      53       4 Song Kun
    1       6       6 Logan Nelson
    1      20       0 Tim Steinbach
    1       1       1 Tim Moore
    1     157      11 Kennedy Oliveira
    1     739      70 Andrew Lawson
    1       1       1 abrasha
    1       2       2 satansk
    1     963       2 tomrf1
    1       1       1 Matthias Lüneberg
    1      26       0 Andriy Yurchuk
    1      13       0 Niko Will
    1       1       1 Juan José Vázquez
    1     106       2 Josep Prat
    1       3       3 Jim Balhoff
    1       2       0 Michel Davit
    1      13       2 James Roper

Happy hakking!

– The Akka Team

-- 
>>>>>>>>>>      Read the docs: http://akka.io/docs/
>>>>>>>>>>      Check the FAQ: 
>>>>>>>>>> http://doc.akka.io/docs/akka/current/additional/faq.html
>>>>>>>>>>      Search the archives: https://groups.google.com/group/akka-user
--- 
You received this message because you are subscribed to the Google Groups "Akka 
User List" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/akka-user.
For more options, visit https://groups.google.com/d/optout.

Reply via email to