Releases: jonasbb/serde_with
Releases · jonasbb/serde_with
serde_with v3.14.0
Added
- Add support for
Range
,RangeFrom
,RangeTo
,RangeInclusive
(#851)
RangeToInclusive
is currently unsupported by serde. - Add
schemars
implementations forBound
,Range
,RangeFrom
,RangeTo
,RangeInclusive
. - Added support for
schemars
v1 under theschemars_1
feature flag
serde_with v3.13.0
Added
- Added support for
schemars
v0.9.0 under theschemars_0_9
feature flag by @swlynch99 (#849) - Introduce
SerializeDisplayAlt
derive macro (#833)
An alternative to theSerializeDisplay
macro except instead of using the
plain formatting likeformat!("{}", ...)
, it serializes with the
Formatter::alternate
flag set to true, likeformat!("{:#}", ...)
Changed
- Generalize
serde_with::rust::unwrap_or_skip
to support deserializing references by @beroal (#832) - Bump MSRV to 1.71, since that is required for the
jsonschema
dev-dependency. - Make
serde_conv
available without thestd
feature by @arilou (#839) - Bump MSRV to 1.74, since that is required for
schemars
v0.9.0 by @swlynch99 (#849)
Fixed
- Make the
DurationSeconds
types and other variants more accessible even withoutstd
(#845)
serde_with v3.12.0
serde_with v3.11.0
serde_with v3.10.0
serde_with v3.9.0
Added
-
Deserialize a map` and skip all elements failing to deserialize by @johnmave126 (#763)
MapSkipError
acts like a map (HashMap
/BTreeMap
), but keys or values that fail to deserialize, like are ignored.For formats with heterogeneously typed maps, we can collect only the elements where both key and value are deserializable.
This is also useful in conjunction to#[serde(flatten)]
to ignore some entries when capturing additional fields.// JSON "value": {"0": "v0", "5": "v5", "str": "str", "10": 2}, // Rust #[serde_as(as = "MapSkipError<DisplayFromStr, _>")] value: BTreeMap<u32, String>, // Only deserializes entries with a numerical key and a string value, i.e., {0 => "v0", 5 => "v5"}
serde_with v3.8.3
Fixed
- Fix compile issues when dependency
schemars_0_8
is used with thepreserve_order
features (#762)
serde_with v3.8.2
Changed
- Bump MSRV to 1.67, since that is required for the
time
dependency.
Thetime
version needed to be updated for nightly compatibility.
Fixed
- Implement
JsonSchemaAs
forOneOrMany
instead ofJsonSchema
by @swlynch99 (#760)
serde_with v3.8.1
serde_with v3.8.0
Added
- Implement (De)Serialization for Pinned Smart Pointers by @Astralchroma (#733)
- Implement
JsonSchemaAs
forPickFirst
by @swlynch99 (#721)
Changed
- Bump
base64
dependency to v0.22 (#724) - Update dev dependencies
Fixed
serde_conv
regressed and triggeredclippy::ptr_arg
and add test to prevent future problems. (#731)