ferrflow 7.21.1

Universal semantic versioning for monorepos and classic repos
Documentation
[graph]
all-features = true

[advisories]
version = 2
db-path = "~/.cargo/advisory-db"
db-urls = ["https://github.com/rustsec/advisory-db"]
yanked = "warn"
ignore = []

[licenses]
version = 2
allow = [
    "Apache-2.0",
    "Apache-2.0 WITH LLVM-exception",
    "BSD-2-Clause",
    "BSD-3-Clause",
    "BSL-1.0",
    "CC0-1.0",
    "CDLA-Permissive-2.0",
    "ISC",
    "MIT",
    "MIT-0",
    "MPL-2.0",
    "OpenSSL",
    "Unicode-3.0",
    "Unicode-DFS-2016",
    "Zlib",
]
confidence-threshold = 0.9
exceptions = []

[bans]
multiple-versions = "warn"
wildcards = "deny"
allow-wildcard-paths = true
deny = [
    # We migrated off libgit2 in #487. Reintroducing git2 / libgit2-sys
    # silently re-adds ~3 MB to the release binary plus libgit2's CVE
    # surface. Keep them banned.
    { crate = "git2", reason = "Use gix (gitoxide) — see #487." },
    { crate = "libgit2-sys", reason = "Pulled in only via git2 which is banned." },
    # OpenSSL was vendored via the libgit2 chain. The gix migration
    # removed it; if someone reintroduces it the binary jumps from
    # ~5 MB to ~9 MB and we inherit OpenSSL's CVE cadence. Use rustls.
    { crate = "openssl-sys", reason = "Use rustls (via gix / ureq) instead." },
    { crate = "openssl-src", reason = "Vendoring OpenSSL bloats the binary." },
    { crate = "proc-macro1", reason = "Malicious crate from the 2026-08-20 arrayref supply-chain attack." },
    { crate = "proc-macro-en", reason = "Malicious crate from the 2026-08-20 arrayref supply-chain attack." },
    { crate = "aovine", reason = "Malicious crate from the 2026-08-20 arrayref supply-chain attack." },
    { crate = "arone", reason = "Malicious crate from the 2026-08-20 arrayref supply-chain attack." },
    { crate = "aronenao", reason = "Malicious crate from the 2026-08-20 arrayref supply-chain attack." },
    { crate = "tinymember", reason = "Malicious crate from the 2026-08-20 arrayref supply-chain attack." },
]
skip = []
skip-tree = []

[sources]
unknown-registry = "deny"
unknown-git = "deny"
allow-registry = ["https://github.com/rust-lang/crates.io-index"]
allow-git = []