Crates.io | serde_version_derive |
lib.rs | serde_version_derive |
version | 0.5.1 |
source | src |
created_at | 2019-09-06 20:57:57.305862 |
updated_at | 2019-11-26 17:43:44.606958 |
description | Versioning support for Serde |
homepage | https://github.com/fredpointzero/serde-version |
repository | https://github.com/fredpointzero/serde-version |
max_upload_size | |
id | 162870 |
size | 31,534 |
//!
Versioning support for serde.
//!
When software are developped and used at the same time the data formats may change
from one version to another and persisting data may be produced by a specific version
and loaded by another version.
//!
Serde version provide a versioning feature for serde for the main use cases.
//!
See the guide here.
//!
Note 1: Requires the specialization feature.
Note 2: Use the derive
feature to generate the DeserializeVersioned
implementation
//!
//! We aim at solving the case were a type or a set of types in a deserializer's data needs to be upgraded to their latest format. This is the case when a mandatory property was added or removed, or an existing property changed. //!
//!
This is based on types that can be upgraded individually.
Types that needs to be upgraded together is way more complex to handle
and usually relies on domain specific deserializer.
//!
So, these data format should be handle with specific Deserialize
traits implementations.