[package]
authors = [
"Jonas Bushart",
"Marcin Kaźmierczak",
]
name = "serde_with"
rust-version = "1.60"
version = "2.3.3"
categories = ["encoding", "no-std"]
description = "Custom de/serialization functions for Rust's serde"
documentation = "https://docs.rs/serde_with/"
edition = "2021"
keywords = ["serde", "utilities", "serialization", "deserialization"]
license = "MIT OR Apache-2.0"
readme = "README.md"
repository = "https://github.com/jonasbb/serde_with"
include = ["src/**/*", "tests/**/*", "LICENSE-*", "README.md", "CHANGELOG.md"]
[badges]
maintenance = {status = "actively-developed"}
[features]
default = ["std", "macros"]
alloc = [
"serde/alloc",
"base64?/alloc",
"chrono_0_4?/alloc",
"hex?/alloc",
"serde_json?/alloc",
"time_0_3?/alloc",
]
std = [
"alloc",
"serde/std",
"chrono_0_4?/clock",
"chrono_0_4?/std",
"indexmap_1?/std",
"time_0_3?/serde-well-known",
"time_0_3?/std",
]
base64 = ["dep:base64", "alloc"]
chrono = ["chrono_0_4"]
chrono_0_4 = ["dep:chrono_0_4"]
guide = ["dep:doc-comment", "macros", "std"]
hex = ["dep:hex", "alloc"]
indexmap = ["indexmap_1"]
indexmap_1 = ["dep:indexmap_1", "alloc"]
json = ["dep:serde_json", "alloc"]
macros = ["dep:serde_with_macros"]
time_0_3 = ["dep:time_0_3"]
[dependencies]
base64 = {version = "0.13.0", optional = true, default-features = false}
chrono_0_4 = {package = "chrono", version = "0.4.20", optional = true, default-features = false, features = ["serde"]}
doc-comment = {version = "0.3.3", optional = true}
hex = {version = "0.4.3", optional = true, default-features = false}
indexmap_1 = {package = "indexmap", version = "1.8", optional = true, default-features = false, features = ["serde-1"]}
serde = {version = "1.0.157", default-features = false, features = ["derive"] }
serde_json = {version = "1.0.45", optional = true, default-features = false}
serde_with_macros = {path = "../serde_with_macros", version = "=2.3.3", optional = true}
time_0_3 = {package = "time", version = "~0.3.11", optional = true, default-features = false}
[dev-dependencies]
expect-test = "1.3.0"
fnv = "1.0.6"
glob = "0.3.0"
mime = "0.3.16"
pretty_assertions = "1.0.0"
regex = {version = "1.8.1", default-features = false, features = ["std"]}
rmp-serde = "1.1.0"
ron = "0.8"
rustversion = "1.0.0"
serde_json = {version = "1.0.25", features = ["preserve_order"]}
serde_test = "1.0.124"
serde_yaml = "0.9.2"
serde-xml-rs = "0.6.0"
version-sync = "0.9.1"
[[test]]
name = "base64"
path = "tests/base64.rs"
required-features = ["base64", "macros"]
[[test]]
name = "chrono_0_4"
path = "tests/chrono_0_4.rs"
required-features = ["chrono_0_4", "macros"]
[[test]]
name = "hex"
path = "tests/hex.rs"
required-features = ["hex", "macros"]
[[test]]
name = "indexmap_1"
path = "tests/indexmap_1.rs"
required-features = ["indexmap_1", "macros"]
[[test]]
name = "json"
path = "tests/json.rs"
required-features = ["json", "macros"]
[[test]]
name = "serde_as"
path = "tests/serde_as/lib.rs"
required-features = ["macros"]
[[test]]
name = "time_0_3"
path = "tests/time_0_3.rs"
required-features = ["macros", "time_0_3"]
[[test]]
name = "derives"
path = "tests/derives/lib.rs"
required-features = ["macros"]
[[test]]
name = "with_prefix"
path = "tests/with_prefix.rs"
required-features = ["macros"]
[[test]]
name = "rust"
path = "tests/rust.rs"
required-features = ["alloc"]
[package.metadata.docs.rs]
all-features = true
rustdoc-args = [
"--cfg=docsrs",
"-Zunstable-options", "--generate-link-to-definition"
]
[package.metadata.release]
pre-release-replacements = [
{file = "CHANGELOG.md", search = "\\[Unreleased\\]", replace = "[Unreleased]\n\n## [{{version}}] - {{date}}"},
{file = "src/lib.rs", search = "https://docs\\.rs/serde_with/[\\d.]+/", replace = "https://docs.rs/serde_with/{{version}}/"},
{file = "README.md", search = "https://docs\\.rs/serde_with/[\\d.]+/", replace = "https://docs.rs/serde_with/{{version}}/"},
]
tag = true
tag-message = "{{crate_name}} v{{version}}"
tag-name = "v{{version}}"