[package] name = "sentry" version = "0.35.0" authors = ["Sentry "] license = "Apache-2.0" readme = "README.md" repository = "https://github.com/getsentry/sentry-rust" homepage = "https://sentry.io/welcome/" description = """ Sentry (getsentry.com) client for rust ;) """ edition = "2021" rust-version = "1.73" autoexamples = true # To build locally: # RUSTDOCFLAGS="--cfg doc_cfg" cargo +nightly doc --all-features --open [package.metadata.docs.rs] all-features = true # Defines the configuration attribute `doc_cfg` in order to expose feature-gated docs. rustdoc-args = ["--cfg", "doc_cfg"] [features] default = ["backtrace", "contexts", "debug-images", "panic", "transport"] metrics = ["sentry-core/metrics"] metrics-cadence1 = ["sentry-core/metrics-cadence1"] # default integrations backtrace = ["sentry-backtrace", "sentry-tracing?/backtrace"] contexts = ["sentry-contexts"] panic = ["sentry-panic"] # other integrations anyhow = ["sentry-anyhow"] debug-images = ["sentry-debug-images"] log = ["sentry-log"] slog = ["sentry-slog"] tower = ["sentry-tower"] tower-http = ["tower", "sentry-tower/http"] tower-axum-matched-path = ["tower-http", "sentry-tower/axum-matched-path"] tracing = ["sentry-tracing"] # other features test = ["sentry-core/test"] debug-logs = ["dep:log", "sentry-core/debug-logs"] # transports transport = ["reqwest", "native-tls"] reqwest = ["dep:reqwest", "httpdate", "tokio"] curl = ["dep:curl", "httpdate"] surf-h1 = ["surf/h1-client", "httpdate"] surf = ["surf/curl-client", "http-client", "httpdate", "isahc", "tokio"] ureq = ["dep:ureq", "httpdate"] # transport settings native-tls = ["dep:native-tls", "reqwest?/default-tls", "ureq?/native-tls"] rustls = ["dep:rustls", "reqwest?/rustls-tls", "ureq?/tls", "webpki-roots"] embedded-svc-http = ["dep:embedded-svc", "dep:esp-idf-svc"] [dependencies] sentry-core = { version = "0.35.0", path = "../sentry-core", features = [ "client", ] } sentry-anyhow = { version = "0.35.0", path = "../sentry-anyhow", optional = true } sentry-backtrace = { version = "0.35.0", path = "../sentry-backtrace", optional = true } sentry-contexts = { version = "0.35.0", path = "../sentry-contexts", optional = true } sentry-debug-images = { version = "0.35.0", path = "../sentry-debug-images", optional = true } sentry-log = { version = "0.35.0", path = "../sentry-log", optional = true } sentry-panic = { version = "0.35.0", path = "../sentry-panic", optional = true } sentry-slog = { version = "0.35.0", path = "../sentry-slog", optional = true } sentry-tower = { version = "0.35.0", path = "../sentry-tower", optional = true } sentry-tracing = { version = "0.35.0", path = "../sentry-tracing", optional = true } log = { version = "0.4.8", optional = true, features = ["std"] } reqwest = { version = "0.12", optional = true, features = [ "blocking", "json", ], default-features = false } curl = { version = "0.4.25", optional = true } httpdate = { version = "1.0.0", optional = true } surf = { version = "2.0.0", optional = true, default-features = false } http-client = { version = "6.5.3", optional = true } isahc = { version = "0.9.14", optional = true } serde_json = { version = "1.0.48", optional = true } tokio = { version = "1.0", features = ["rt"], optional = true } ureq = { version = "2.10.1", optional = true, default-features = false } native-tls = { version = "0.2.8", optional = true } rustls = { version = "0.23.18", optional = true, default-features = false } webpki-roots = { version = "0.26.1", optional = true } embedded-svc = { version = "0.27.1", optional = true } [target.'cfg(target_os = "espidf")'.dependencies] esp-idf-svc = { version = "0.48.1", optional = true } [dev-dependencies] sentry-anyhow = { path = "../sentry-anyhow" } sentry-log = { path = "../sentry-log" } sentry-slog = { path = "../sentry-slog" } sentry-tower = { path = "../sentry-tower" } sentry-tracing = { path = "../sentry-tracing" } actix-web = { version = "4", default-features = false } anyhow = { version = "1.0.30" } log = { version = "0.4.8", features = ["std"] } pretty_env_logger = "0.5.0" slog = { version = "2.5.2" } tokio = { version = "1.0", features = ["macros"] } tower = { version = "0.4", features = ["util"] } tracing = { version = "0.1" } tracing-subscriber = { version = "0.3", features = ["fmt", "tracing-log"] } [lints.rust] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(doc_cfg)'] }