0_8_0.md

doc/release_notes/0_8_0.md
Last Update: 2024-04-03 14:03:54 +0000

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_requestson 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%;