Skip to content

Releases: jonasbb/serde_with

serde_with v1.6.3

15 Feb 22:09
9bc54e0
Compare
Choose a tag to compare

Changed

  • Bump macro crate dependency (serde_with_macros) to 1.4.0 to pull in those improvements.

serde_with_macros v1.4.0

15 Feb 22:06
9bc54e0
Compare
Choose a tag to compare

Changed

  • Improve error messages when #[serde_as(..)] is misused as a field attribute.
    Thanks to @Lehona for reporting the bug in #233.

  • Internal cleanup for assembling and parsing attributes during serde_as processing.

  • Change processing on #[serde_as(...)] attributes on fields.

    The attributes will no longer be stripped during proc-macro processing.
    Instead, a private derive macro is applied to the struct/enum which captures them and makes them inert, thus allowing compilation.

    This should have no effect on the generated code and on the runtime behavior.
    It eases integration of third-party crates with serde_with, since they can now process the #[serde_as(...)] field attributes reliably.
    Before this was impossible for derive macros and lead to akward ordering constraints on the attribute macros.

    Thanks to @Lehona for reporting this problem and to @dtolnay for suggesting the dummy derive macro.

serde_with v1.6.2

30 Jan 23:50
c7a69e1
Compare
Choose a tag to compare

Added

  • New function serde_with::rust::deserialize_ignore_any.
    This function allows deserializing any data and returns the default value of the type.
    This can be used in conjunction with #[serde(other)] to allow deserialization of unknown data carrying enum variants.

    Thanks to @lovasoa for suggesting and implementing it.

serde_with v1.6.1

24 Jan 20:15
765fb8e
Compare
Choose a tag to compare

Added

  • Add new types similar to DurationSeconds and TimestampSeconds but for base units of milliseconds, microseconds, and nanoseconds.
    The *WithFrac variants also exist.
  • Add SerializeAs implementation for references.

Changed

  • Release Sized trait bound from As, Same, SerializeAs, and SerializeAsWrap.
    Only the serialize part is relaxed.