2025-02-18 13:42:44 +00:00

1.5 KiB

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).