polyvers 0.1.2

Single-macro schema versioning for Rust: declare a struct family with #[add]/#[edit]/#[delete] mutations across versions and parse them at runtime without serde(flatten) overhead. Optional binary codecs: rkyv, bincode, postcard.
Documentation
[workspace]
members = ["polyvers-macros"]
resolver = "3"

[package]
name = "polyvers"
version = "0.1.2"
edition = "2024"
rust-version = "1.85"
description = "Single-macro schema versioning for Rust: declare a struct family with #[add]/#[edit]/#[delete] mutations across versions and parse them at runtime without serde(flatten) overhead. Optional binary codecs: rkyv, bincode, postcard."
license = "MIT"
repository = "https://github.com/prizzledev/polyvers"
keywords = ["serde", "versioning", "schema", "macro"]
categories = ["data-structures", "encoding", "config"]

[features]
default = []
rkyv-08 = ["polyvers-macros/rkyv-08"]
rkyv-07 = ["polyvers-macros/rkyv-07"]
bincode-2 = ["polyvers-macros/bincode-2"]
postcard-1 = ["polyvers-macros/postcard-1"]

[dependencies]
polyvers-macros = { version = "=0.1.2", path = "polyvers-macros" }
serde = { version = "1", features = ["derive"] }
serde_json = "1"
thiserror = "2"

[dev-dependencies]
rkyv = "0.8"
bincode = { version = "2", features = ["serde"] }
postcard = { version = "1", features = ["alloc"] }

[package.metadata.docs.rs]
all-features = true
rustdoc-args = ["--cfg", "docsrs"]