Cargo Features

[dependencies]
ureq = { version = "3.0.0-rc3", default-features = false, features = ["rustls", "platform-verifier", "native-tls", "socks-proxy", "cookies", "gzip", "brotli", "charset", "json", "vendored"] }
default = gzip, json, rustls

These default features are set whenever ureq is added without default-features = false somewhere in the dependency tree.

rustls default = _tls

Enables rustls and webpki-roots

rustls:

ring has a higher chance of compiling cleanly without additional developer environment

platform-verifier

Enables rustls-platform-verifier ^0.3.4

rustls-platform-verifier held back due to 0.4.0 causing a double depedendency on windows-sys (0.59.0 and 0.52.0)

native-tls = _tls

Enables der, native-tls, and webpki-root-certs

socks-proxy

Enables socks

cookies

Enables cookie_store and url

cookie_store:

cookie_store uses Url, while http-crate has its own Uri.
Keep url crate in lockstep with cookie_store.

gzip default

Enables flate2

brotli

Enables brotli-decompressor

charset

Enables encoding_rs

json default

Enables serde and serde_json, serde_json of optional cookie_store

vendored

Enables vendored of optional native-tls

_test

Affects test::set_handler

_tls native-tls? rustls

Enables rustls-pemfile and rustls-pki-types

rustls-pemfile:

These are used regardless of TLS implementation.

Affects ureq::tls