cargo / serde
serde
What changed in serde 1, from its official release notes, upgrade guides and advisories. Sources checked 2026-11-15.
15 breaking1 new APIs and options1 behavior and defaults
See which of these apply to your code, ranked, in your agent:
npx @unstale/cli initserde 117 changes
Breaking changes 15
Visitor implementations used for deserializing standard library types are now private and unavailable for use by other crates.
Deserialization-related traits now carry a 'de lifetime, enabling safe zero-copy deserialization that borrows from input data.
Deserializer::deserialize has been renamed to deserialize_any; update implementations and calls to use the new method name.
deserialize_struct_field has been renamed to deserialize_identifier, reflecting its use for both struct fields and enum discriminants.
EnumVisitor has been renamed to EnumAccess, clarifying the deserializer-provided accessor's role.
Fixed-size sequences have been removed from the data model; fixed-size arrays and tuples are represented as tuples.
Some implicit conversions are gone; for example, JSON null no longer successfully deserializes into a string.
ValueDeserializer has been renamed to IntoDeserializer.
MapVisitor has been renamed to MapAccess, clarifying the deserializer-provided accessor's role.
SeqVisitor has been renamed to SeqAccess, clarifying the deserializer-provided accessor's role.
The Bytes and ByteBuf wrapper types have moved to the serde_bytes crate.
Rc<T> and Arc<T> implementations require opting in by enabling the rc feature of the Serde dependency.
The serde_test Token API has been redesigned to align with modern naming conventions and Serde concepts.
Variant indices during deserialization now use u32 instead of usize.
VariantVisitor has been renamed to VariantAccess, clarifying the deserializer-provided accessor's role.
New APIs and options 1
Derive Serialize and Deserialize implementations for structs and enums defined in other crates by specifying the remote type.
Behavior and default changes 1
Serde is stable as of this release; planned enhancements no longer involve further breaking changes.