unstale

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 init

@unstale/cli 0.3.1 on npm

serde 117 changes

Breaking changes 15

  • Visitor implementations used for deserializing standard library types are now private and unavailable for use by other crates.

    1.0.0release notes

  • Deserialization-related traits now carry a 'de lifetime, enabling safe zero-copy deserialization that borrows from input data.

    1.0.0release notes

  • Deserializer::deserialize has been renamed to deserialize_any; update implementations and calls to use the new method name.

    1.0.0release notes

  • deserialize_struct_field has been renamed to deserialize_identifier, reflecting its use for both struct fields and enum discriminants.

    1.0.0release notes

  • EnumVisitor has been renamed to EnumAccess, clarifying the deserializer-provided accessor's role.

    1.0.0release notes

  • Fixed-size sequences have been removed from the data model; fixed-size arrays and tuples are represented as tuples.

    1.0.0release notes

  • Some implicit conversions are gone; for example, JSON null no longer successfully deserializes into a string.

    1.0.0release notes

  • ValueDeserializer has been renamed to IntoDeserializer.

    1.0.0release notes

  • MapVisitor has been renamed to MapAccess, clarifying the deserializer-provided accessor's role.

    1.0.0release notes

  • SeqVisitor has been renamed to SeqAccess, clarifying the deserializer-provided accessor's role.

    1.0.0release notes

  • The Bytes and ByteBuf wrapper types have moved to the serde_bytes crate.

    1.0.0release notes

  • Rc<T> and Arc<T> implementations require opting in by enabling the rc feature of the Serde dependency.

    1.0.0release notes

  • The serde_test Token API has been redesigned to align with modern naming conventions and Serde concepts.

    1.0.0release notes

  • Variant indices during deserialization now use u32 instead of usize.

    1.0.0release notes

  • VariantVisitor has been renamed to VariantAccess, clarifying the deserializer-provided accessor's role.

    1.0.0release notes

New APIs and options 1

  • Derive Serialize and Deserialize implementations for structs and enums defined in other crates by specifying the remote type.

    1.0.0release notes

Behavior and default changes 1

  • Serde is stable as of this release; planned enhancements no longer involve further breaking changes.

    1.0.0release notes