vld 0.3.0

Type-safe runtime validation library for Rust, inspired by Zod
Documentation
# cargo-release configuration
# Install:
#   cargo install cargo-release
#   cargo install git-cliff
#
# crates.io has a rate limit of 5 NEW crates at a time.
# For the first publish, use the batched approach below.
# After all crates exist on crates.io, you can use:
#   cargo release patch --workspace --execute
#
# === First-time publish (batched, 5 crates per batch) ===
#
# Batch 1 (foundations):
#   cargo publish -p vld-derive
#   cargo publish -p vld
#   cargo publish -p vld-http-common
#   cargo publish -p vld-ts
#   cargo publish -p vld-clap
#
# (wait ~1 min for crates.io index to update)
#
# Batch 2 (integrations):
#   cargo publish -p vld-config
#   cargo publish -p vld-diesel
#   cargo publish -p vld-utoipa
#   cargo publish -p vld-tower
#   cargo publish -p vld-sea
#
# (wait ~1 min)
#
# Batch 3 (web frameworks):
#   cargo publish -p vld-axum
#   cargo publish -p vld-actix
#   cargo publish -p vld-rocket
#   cargo publish -p vld-poem
#   cargo publish -p vld-warp
#
# === Subsequent releases ===
#   cargo release patch --workspace --execute

# Sign commits/tags
sign-commit = false
sign-tag = false

# Push to remote after release
push = true
push-remote = "origin"

# Create git tag
tag = true
tag-prefix = "v"
tag-name = "{{prefix}}{{version}}"
consolidate-commits = true
tag-message = "Release {{crate_name}} v{{version}}"

# Commit message
pre-release-commit-message = "chore: release v{{version}}"

# Run per-crate preflight (CI-like checks for the crate being released)
# and regenerate CHANGELOG.md before the release commit.
pre-release-hook = [
  "bash",
  "-lc",
  "\"${WORKSPACE_ROOT}/scripts/release-preflight.sh\" \"{{crate_name}}\" \"{{version}}\""
]

# Pre-release checks
verify = true

# Publish to crates.io
publish = true

# Allow dirty working directory (set false for strict mode)
allow-branch = ["master", "main"]

# Dependent version replacement — auto update `vld = { version = "X.Y.Z" }` everywhere
dependent-version = "upgrade"