Crates.io | serde-version |
lib.rs | serde-version |
version | 0.5.1 |
source | src |
created_at | 2019-09-06 20:59:38.316029 |
updated_at | 2019-11-26 17:44:35.793757 |
description | Versioning support for Serde |
homepage | https://github.com/fredpointzero/serde-version |
repository | https://github.com/fredpointzero/serde-version |
max_upload_size | |
id | 162872 |
size | 68,361 |
//!
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.