# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

[package]
edition = "2021"
rust-version = "1.60"
name = "serde_with"
version = "3.0.0"
authors = [
    "Jonas Bushart",
    "Marcin Kaźmierczak",
]
include = [
    "src/**/*",
    "tests/**/*",
    "LICENSE-*",
    "README.md",
    "CHANGELOG.md",
]
description = "Custom de/serialization functions for Rust's serde"
documentation = "https://docs.rs/serde_with/"
readme = "README.md"
keywords = [
    "serde",
    "utilities",
    "serialization",
    "deserialization",
]
categories = [
    "encoding",
    "no-std",
]
license = "MIT OR Apache-2.0"
repository = "https://github.com/jonasbb/serde_with"

[package.metadata.docs.rs]
all-features = true
rustdoc-args = [
    "--cfg=docsrs",
    "-Zunstable-options",
    "--generate-link-to-definition",
]

[package.metadata.release]
tag = true
tag-message = "{{crate_name}} v{{version}}"
tag-name = "v{{version}}"

[[package.metadata.release.pre-release-replacements]]
file = "CHANGELOG.md"
replace = """
[Unreleased]

## [{{version}}] - {{date}}"""
search = '\[Unreleased\]'

[[package.metadata.release.pre-release-replacements]]
file = "src/lib.rs"
replace = "https://docs.rs/serde_with/{{version}}/"
search = 'https://docs\.rs/serde_with/[\d.]+/'

[[package.metadata.release.pre-release-replacements]]
file = "README.md"
replace = "https://docs.rs/serde_with/{{version}}/"
search = 'https://docs\.rs/serde_with/[\d.]+/'

[[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"]

[dependencies.base64]
version = "0.21.0"
optional = true
default-features = false

[dependencies.chrono_0_4]
version = "0.4.20"
features = ["serde"]
optional = true
default-features = false
package = "chrono"

[dependencies.doc-comment]
version = "0.3.3"
optional = true

[dependencies.hex]
version = "0.4.3"
optional = true
default-features = false

[dependencies.indexmap_1]
version = "1.8"
features = ["serde-1"]
optional = true
default-features = false
package = "indexmap"

[dependencies.serde]
version = "1.0.157"
features = ["derive"]
default-features = false

[dependencies.serde_json]
version = "1.0.45"
optional = true
default-features = false

[dependencies.serde_with_macros]
version = "=3.0.0"
optional = true

[dependencies.time_0_3]
version = "~0.3.11"
optional = true
default-features = false
package = "time"

[dev-dependencies.expect-test]
version = "1.3.0"

[dev-dependencies.fnv]
version = "1.0.6"

[dev-dependencies.glob]
version = "0.3.0"

[dev-dependencies.mime]
version = "0.3.16"

[dev-dependencies.pretty_assertions]
version = "1.0.0"

[dev-dependencies.regex]
version = "1.8.1"
features = ["std"]
default-features = false

[dev-dependencies.rmp-serde]
version = "1.1.0"

[dev-dependencies.ron]
version = "0.8"

[dev-dependencies.rustversion]
version = "1.0.0"

[dev-dependencies.serde-xml-rs]
version = "0.6.0"

[dev-dependencies.serde_json]
version = "1.0.25"
features = ["preserve_order"]

[dev-dependencies.serde_test]
version = "1.0.124"

[dev-dependencies.serde_yaml]
version = "0.9.2"

[dev-dependencies.version-sync]
version = "0.9.1"

[features]
alloc = [
    "serde/alloc",
    "base64?/alloc",
    "chrono_0_4?/alloc",
    "hex?/alloc",
    "serde_json?/alloc",
    "time_0_3?/alloc",
]
base64 = [
    "dep:base64",
    "alloc",
]
chrono = ["chrono_0_4"]
chrono_0_4 = ["dep:chrono_0_4"]
default = [
    "std",
    "macros",
]
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"]
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",
]
time_0_3 = ["dep:time_0_3"]

[badges.maintenance]
status = "actively-developed"
