mail-parser 1.0.0

Fast and robust e-mail parsing library for Rust
Documentation
[package]
name = "mail-parser"
description = "Fast and robust e-mail parsing library for Rust"
version = "1.0.0"
edition = "2024"
rust-version = "1.98"
authors = [ "Stalwart Labs <hello@stalw.art>"]
license = "Apache-2.0 OR MIT"
repository = "https://github.com/stalwartlabs/mail-parser"
homepage = "https://github.com/stalwartlabs/mail-parser"
keywords = ["email", "mail", "parser", "parse", "mime"]
categories = ["email", "parser-implementations"]
readme = "README.md"
exclude = ["benches/compare"]

[dependencies]
hashify = "0.3"
memchr = "2.8"
simdutf8 = "0.1"
encodify = { version = "1.0" }
encoding_rs = { version = "0.8", optional = true }
serde = { version = "1.0", features = ["derive"], optional = true }

[dev-dependencies]
serde_json = "1.0"
chrono = "0.4"
criterion = { version = "0.8", default-features = false, features = ["cargo_bench_support"] }

[features]
default = []
full_encoding = ["dep:encoding_rs"]
serde = ["dep:serde"]

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

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

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

[lints.rust]
rust_2018_idioms = { level = "deny", priority = -1 }
unsafe_code = "deny"
unsafe_op_in_unsafe_fn = "deny"
unexpected_cfgs = { level = "warn", check-cfg = ["cfg(mail_parser_checked_str)"] }

[lints.clippy]
undocumented_unsafe_blocks = "deny"
unwrap_used = "deny"

[profile.bench]
debug = true