vantus 0.3.0

Macro-first async Rust backend framework with explicit composition, typed extraction, and hardened HTTP defaults.
Documentation
[workspace]
members = ["vantus_macros", "vantus_observability"]

[package]
name = "vantus"
version = "0.3.0"
edition = "2024"
rust-version = "1.85"
description = "Macro-first async Rust backend framework with explicit composition, typed extraction, and hardened HTTP defaults."
license = "MIT OR Apache-2.0"
readme = "README.md"
homepage = "https://github.com/DiplomaCoder-cmyk/vantus"
documentation = "https://docs.rs/vantus"
repository = "https://github.com/DiplomaCoder-cmyk/vantus.git"
keywords = ["web", "framework", "macros", "async", "http"]
categories = ["web-programming::http-server", "asynchronous"]
include = [
    "/Cargo.toml",
    "/Cargo.lock",
    "/README.md",
    "/CHANGELOG.md",
    "/SECURITY.md",
    "/LICENSE",
    "/deny.toml",
    "/src/**",
    "/docs/advanced-demo.md",
    "/docs/cli-reference.md",
    "/docs/configuration-reference.md",
    "/docs/extraction-reference.md",
    "/docs/migration-to-macros.md",
    "/docs/publishing-checklist.md",
    "/docs/production-notes.md",
    "/docs/quick-start.md",
    "/examples/cli.rs",
    "/examples/main.rs",
    "/examples/application.json",
    "/examples/application.properties",
    "/examples/application.toml",
    "/benches/routing.rs",
    "/tests/cli.rs",
    "/tests/config.rs",
    "/tests/http.rs",
    "/tests/id_generator.rs",
    "/tests/identity.rs",
    "/tests/macros_hardening.rs",
    "/tests/module_hardening.rs",
    "/tests/observability.rs",
    "/tests/properties.rs",
    "/tests/router.rs",
    "/tests/runtime_stress.rs",
    "/tests/security.rs",
    "/tests/ui/manual_api_removed.rs",
    "/tests/ui/manual_api_removed.stderr",
    "/tests/ui/service_parameter_removed.rs",
    "/tests/ui/service_parameter_removed.stderr",
    "/tests/ui/body_extractor_on_get.rs",
    "/tests/ui/body_extractor_on_get.stderr",
    "/tests/ui/multiple_body_extractors.rs",
    "/tests/ui/multiple_body_extractors.stderr",
    "/tests/ui/path_parameter_mismatch.rs",
    "/tests/ui/path_parameter_mismatch.stderr",
]



[profile.release]
lto = "fat"
panic = "abort"


[features]
default = ["yaml-config"]
yaml-config = ["dep:serde_yaml"]
cli = ["dep:clap"]

[dependencies]
async-trait = "0.1"
bytes = "1"
dashmap = "6"
futures-util = "0.3"
http = "1"
http-body-util = "0.1"
hyper = { version = "1", features = ["http1", "http2", "server"] }
hyper-util = { version = "0.1", features = ["server", "server-auto", "tokio"] }
serde = { version = "1", features = ["derive"] }
serde_json = "1"
thiserror = "1"
clap = { version = "4", features = ["derive"], optional = true }
vantus_macros = { version = "0.3.0", path = "vantus_macros" }
tokio = { version = "1", features = ["fs", "macros", "net", "rt-multi-thread", "sync", "time"] }
tokio-util = "0.7"
toml = "1.1.2"
serde_yaml = { version = "0.9.34", optional = true }
uuid = { version = "1", features = ["v4"] }
matchit = "0.9.2"
tracing = "0.1"

[dev-dependencies]
criterion = "0.5"
proptest = "1"
trybuild = "1"
vantus_observability = { path = "vantus_observability" }

[[bench]]
name = "routing"
harness = false

[package.metadata.docs.rs]
all-features = true
rustdoc-args = ["--cfg", "docsrs"]