🚀 serde-rs/serde - Release Notes
v1.0.219 (2025-03-09)
- Prevent `absolute_paths` Clippy restriction being triggered inside macro-generated code (#2906, thanks @davidzeng0)
v1.0.218 (2025-02-20)
- Documentation improvements
v1.0.217 (2024-12-27)
- Support serializing externally tagged unit variant inside flattened field (#2786, thanks @Mingun)
v1.0.216 (2024-12-11)
- Mark all generated impls with #\[automatically_derived\] to exclude from code coverage (#2866, #2868, thanks @tdittr)
v1.0.215 (2024-11-11)
- Produce warning when multiple fields or variants have the same deserialization name (#2855, #2856, #2857)
v1.0.214 (2024-10-28)
- Implement IntoDeserializer for all Deserializers in serde::de::value module (#2568, thanks @Mingun)
v1.0.213 (2024-10-22)
- Fix support for macro-generated `with` attributes inside a newtype struct (#2847)
v1.0.212 (2024-10-22)
- Fix hygiene of macro-generated local variable accesses in serde(with) wrappers (#2845)
v1.0.211 (2024-10-22)
- Improve error reporting about mismatched signature in `with` and `default` attributes (#2558, thanks @Mingun)
- Show variant aliases in error message when variant deserialization fails (#2566, thanks @Mingun)
- Improve binary size of untagged enum and internally tagged enum deserialization by about 12% (#2821)
v1.0.210 (2024-09-06)
- Support serializing and deserializing `IpAddr` and `SocketAddr` in no-std mode on Rust 1.77+ (#2816, thanks @MathiasKoch)
- Make `serde::ser::StdError` and `serde::de::StdError` equivalent to `core::error::Error` on Rust 1.81+ (#2818)
v1.0.209 (2024-08-24)
- Fix deserialization of empty structs and empty tuples inside of untagged enums (#2805, thanks @Mingun)
v1.0.208 (2024-08-15)
- Support serializing and deserializing unit structs in a `flatten` field (#2802, thanks @jonhoo)
v1.0.207 (2024-08-12)
- Improve interactions between `flatten` attribute and `skip_serializing`/`skip_deserializing` (#2795, thanks @Mingun)
v1.0.206 (2024-08-11)
- Improve support for `flatten` attribute inside of enums (#2567, thanks @Mingun)
v1.0.205 (2024-08-08)
- Use serialize_entry instead of serialize_key + serialize_value when serialize flattened newtype enum variants (#2785, thanks @Mingun)
- Avoid triggering a collection_is_never_read lint in the deserialization of enums containing flattened fields (#2791)
v1.0.204 (2024-07-06)
- Apply #\[diagnostic::on_unimplemented\] attribute on Rust 1.78+ to suggest adding serde derive or enabling a "serde" feature flag in dependencies (#2767, thanks @weiznich)
v1.0.203 (2024-05-25)
- Documentation improvements (#2747)
v1.0.202 (2024-05-15)
- Provide public access to RenameAllRules in serde_derive_internals (#2743)
v1.0.201 (2024-05-08)
- Resolve unexpected_cfgs warning (#2737)
v1.0.200 (2024-05-01)
- Fix formatting of "invalid type" and "invalid value" deserialization error messages containing NaN or infinite floats (#2733, thanks @jamessan)
v1.0.199 (2024-04-27)
- Fix ambiguous associated item when `forward_to_deserialize_any!` is used on an enum with `Error` variant (#2732, thanks @aatifsyed)
v1.0.198 (2024-04-16)
- Support serializing and deserializing `Saturating` (#2709, thanks @jbethune)
v1.0.197 (2024-02-20)
- Fix unused_imports warnings when compiled by rustc 1.78
- Optimize code size of some Display impls (#2697, thanks @nyurik)
v1.0.196 (2024-01-26)
- Improve formatting of "invalid type" error messages involving floats (#2682)
v1.0.195 (2024-01-06)
- Prevent remote definitions of tuple struct or tuple variant from triggering dead_code warning (#2671)
v1.0.194 (2024-01-02)
- Update proc-macro2 to fix caching issue when using a rustc-wrapper such as sccache
v1.0.193 (2023-11-21)
- Fix field names used for the deserialization of `RangeFrom` and `RangeTo` (#2653, #2654, #2655, thanks @emilbonnek)
v1.0.192 (2023-11-07)
- Allow internal tag field in untagged variant (#2646, thanks @robsdedude)
v1.0.191 (2023-11-06)
- Documentation improvements
v1.0.190 (2023-10-26)
- Preserve NaN sign when deserializing f32 from f64 or vice versa (#2637)