Cargo Features

[dependencies]
arti-hyper = { version = "0.18.0", default-features = false, features = ["native-tls", "rustls", "static", "experimental", "experimental-api", "full"] }
default = native-tls

The native-tls feature is set by default whenever arti-hyper is added without default-features = false somewhere in the dependency tree.

native-tls default full?

Enables native-tls of arti-client and tor-rtcompat

rustls

This is not nonadditive from a software POV, but we mark it as such because it includes code licensed under the old OpenSSL license (which was 4-clause BSD),
which in turn introduces a GPL-incompatibility.

Enables rustls of arti-client and tor-rtcompat

static

Enables static of arti-client

arti-client:

depends directly on tor-rtcompat/static so native-tls doesn't get automatically included

experimental = experimental-api
experimental-api experimental?

Enable experimental APIs that are not yet officially supported.

These APIs are not covered by semantic versioning. Using this feature voids your "semver warrantee".

full = native-tls

Enables full of arti-client, tor-error, and tor-rtcompat

arti-client:

"full" is a top-level selector that turns on every feature, _EXCEPT FOR_: