1_4_1.md

doc/release_notes/1_4_1.md
Last Update: 2025-02-18 14:51:31 +0000

1.4.1

Bugfixes

  • several datadog integration bugfixes

    • only load the datadog integration when the datadog sdk is loaded (and not other gems that may define the Datadog module, like dogstatsd)

    • do not trace if datadog integration is loaded but disabled

    • distributed headers are now sent along (when the configuration is enabled, which it is by default)

  • fix for handling multiple GOAWAY frames coming from the server (node.js servers seem to send multiple frames on connection timeout)

  • fix regression for when a url is used with httpx which is not http:// or https:// (should raise HTTPX::UnsupportedSchemaError)

  • worked around IO.copy_stream which was emitting incorrect bytes for HTTP/2 requests which bodies larger than the maximum supported frame size.

  • multipart requests: make sure that a body declared as Pathname is opened for reading in binary mode.

  • webmock integration: ensure that request events are emitted (such as plugins and integrations relying in it, such as datadog and the OTel integration)

  • native resolver: do not propagate successful name resolutions for connections which were already closed.

  • native resolver: fixed name resolution stalling, in a multi-request to multi-origin scenario, when a resolution timeout would happen.

Chore

  • refactor of the happy eyeballs and connection coalescing logic to not rely on callbacks, and instead on instance variable management (makes code more straightforward to read).