Sha256: afa78eba04e4ba9d0e66b9e9fbc7d367df68aa1719c41db99c6613aa50258164

Contents?: true

Size: 1.87 KB

Versions: 39

Compression:

Stored size: 1.87 KB

Contents

# 0.20.0

## Features

### Sentry integration

Documentation: https://gitlab.com/os85/httpx/-/wikis/Sentry-Adapter

`httpx` ships with integration for `sentry-ruby` to provide HTTP request specific breadcrumbs and tracing. It can be enabled via:

```ruby
require "httpx/adapters/sentry"
```

### Proxy alternative auth schemes

Besides the already previously supported (and still default) HTTP Basic Auth, the `:proxy` plugin supports HTTP Digest and NTLM auth as well. These are made available via the following APIs:

```ruby
http = HTTPX.plugin(:proxy)
http.with_proxy_basic_auth(username: "user", password: "pass", uri: "http://proxy-uri:8126")
http.with_proxy_digest_auth(username: "user", password: "pass", uri: "http://proxy-uri:8126")
http.with_proxy_ntlm_auth(username: "user", password: "pass", uri: "http://proxy-uri:8126")

# or alternatively
http.with_proxy(proxy: "basic", username: "user", password: "pass", uri: "http://proxy-uri:8126")
```

## Bugfixes

* HTTPS requests on an URL with an IP as a host, will now correctly not perform SNI during the TLS handshake, as per RFC;
* `:follow_redirects` plugin will now halt redirections on 3xx responses with no `"location"` headers; this means it won't crash on 304 responses.
    * If the `httpx` session has the `:proxy` plugin enabled, HTTP 305 responses will retry the request via the proxy exposed in the `"location"` header, as the RFC mandates.
* `alt-svc` connection switch for HTTPS requests will be halted if the advertised alternative service "downgrades" to cleartext (example: `alt-svc` advertises `"h2c"`, but original connection was enabled via TLS).
* A new connection to a TLS-enabled `alt-svc` advertised for a previous request, will now use that request's hostname as the SNI hostname, when performing the TLS handshake.
* the `:response_cache` plugin will now correctly handle capitalized HTTP headers advertised in the `"vary"` header.

Version data entries

39 entries across 39 versions & 1 rubygems

Version Path
httpx-1.0.0 doc/release_notes/0_20_0.md
httpx-0.24.6 doc/release_notes/0_20_0.md
httpx-0.24.5 doc/release_notes/0_20_0.md
httpx-0.24.4 doc/release_notes/0_20_0.md
httpx-0.24.3 doc/release_notes/0_20_0.md
httpx-0.24.2 doc/release_notes/0_20_0.md
httpx-0.24.1 doc/release_notes/0_20_0.md
httpx-0.24.0 doc/release_notes/0_20_0.md
httpx-0.23.4 doc/release_notes/0_20_0.md
httpx-0.23.3 doc/release_notes/0_20_0.md
httpx-0.23.2 doc/release_notes/0_20_0.md
httpx-0.23.1 doc/release_notes/0_20_0.md
httpx-0.23.0 doc/release_notes/0_20_0.md
httpx-0.22.5 doc/release_notes/0_20_0.md
httpx-0.22.4 doc/release_notes/0_20_0.md
httpx-0.22.3 doc/release_notes/0_20_0.md
httpx-0.22.2 doc/release_notes/0_20_0.md
httpx-0.22.1 doc/release_notes/0_20_0.md
httpx-0.22.0 doc/release_notes/0_20_0.md