11 releases (4 breaking)
0.5.1 | Nov 26, 2019 |
---|---|
0.5.0 | Nov 26, 2019 |
0.4.2 | Nov 26, 2019 |
0.3.1 | Nov 20, 2019 |
0.1.0 | Sep 6, 2019 |
#1732 in Encoding
21 downloads per month
56KB
1.5K
SLoC
Serde version
Serde version
//!
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
//!
Goals of Serde version
//! 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. //!
Non goals
//!
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.
Dependencies
~170–590KB
~13K SLoC