# 0.8.0


## Features

* `keep_alive_timeout`: for persistent connections, the keep alive timeout will set the connection to be closed if not reused for a request **after** the last received response;

## Improvements

* using `max_requests` for HTTP/1 pipelining as well;
* `retries` plugin now works with plain HTTP responses (not just error responses);
* reduced the number of string allocations from log labels;
* performance: a lot of improvements were made to optimize the "waiting for IO events" phase, which dramatically reduced the CPU usage and make the performance of the library more on-par with other ruby HTTP gems for the 1-shot request scenario.


## Bugfixes

* fixed `HTTPX::Response#copy_to`;
* fixed `compression` plugin not properly compressing request bodies using `gzip`;
* fixed `compression` plugin not handling `content-encoding: identity` payloads;
* do not overwrite user-defined `max_requests`on HTTP2 connection handshake;
* `retries` plugin: connection was blocking when a request with body was retried;
* `alt-svc: clear` response header was causing the process to hang;

## Tests

* Code coverage improved to 91%;