Skip to content

Releases: jonasbb/serde_with

serde_with v3.16.1

27 Nov 23:42
v3.16.1
8513323

Choose a tag to compare

Fixed

  • Fix JsonSchemaAs of SetPreventDuplicates and SetLastValueWins. (#906, #907)

serde_with v3.16.0

14 Nov 23:46
v3.16.0
066b9d4

Choose a tag to compare

Added

  • Added support for smallvec v1 under the smallvec_1 feature flag by @isharma228 (#895)
  • Add JsonSchemaAs implementation for json::JsonString by @yogevm15 (#901)

serde_with v3.15.1

21 Oct 23:17
v3.15.1
d5ccc10

Choose a tag to compare

Fixed

  • Fix building of the documentation by updating references to use serde_core.

serde_with v3.15.0

03 Oct 14:03
v3.15.0
ea38dce

Choose a tag to compare

Added

  • Added error inspection to VecSkipError and MapSkipError by @michelhe (#878)
    This allows interacting with the previously hidden error, for example for logging.
    Checkout the newly added example to both types.

  • Allow documenting the types generated by serde_conv!.
    The serde_conv! macro now acceps outer attributes before the optional visibility modifier.
    This allow adding doc comments in the shape of #[doc = "..."] or any other attributes, such as lint modifiers.

    serde_conv!(
        #[doc = "Serialize bools as string"]
        #[allow(dead_code)]
        pub BoolAsString,
        bool,
        |x: &bool| ::std::string::ToString::to_string(x),
        |x: ::std::string::String| x.parse()
    );
  • Add support for hashbrown v0.16 (#877)

    This extends the existing support for hashbrown v0.14 and v0.15 to the newly released version.

Changed

  • Bump MSRV to 1.76, since that is required for toml dev-dependency.

serde_with v3.14.1

19 Sep 23:02
v3.14.1
15022b1

Choose a tag to compare

Fixed

  • Show macro expansion in the docs.rs generated rustdoc.
    Since macros are used to generate trait implementations, this is useful to understand the exact generated code.

serde_with v3.14.0

30 Jun 17:20
v3.14.0
16ea265

Choose a tag to compare

Added

  • Add support for Range, RangeFrom, RangeTo, RangeInclusive (#851)
    RangeToInclusive is currently unsupported by serde.
  • Add schemars implementations for Bound, Range, RangeFrom, RangeTo, RangeInclusive.
  • Added support for schemars v1 under the schemars_1 feature flag

serde_with v3.13.0

14 Jun 14:59
v3.13.0
92ae7ad

Choose a tag to compare

Added

  • Added support for schemars v0.9.0 under the schemars_0_9 feature flag by @swlynch99 (#849)
  • Introduce SerializeDisplayAlt derive macro (#833)
    An alternative to the SerializeDisplay macro except instead of using the
    plain formatting like format!("{}", ...), it serializes with the
    Formatter::alternate flag set to true, like format!("{:#}", ...)

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 the std 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 without std (#845)

serde_with v3.12.0

25 Dec 22:01
v3.12.0
5de3400

Choose a tag to compare

Added

  • Add with_suffix! macro, which puts a suffix on every struct field by @fgardt (#381/#797)

Changed

  • Reformat all Cargo.toml files by @nyurik (#803)
  • Better handle internal arithmetic and improve error messages (#809/#810/#811)

Fixed

  • Generated schemas are not valid when using rust style names in ref by @waltronix (#798/#799)

serde_with v3.11.0

05 Oct 20:14
v3.11.0
bc20634

Choose a tag to compare

Added

  • Add support for hashbrown v0.15 (#787/#790)

    This extends the existing support for hashbrown v0.14 to the newly released version.

serde_with v3.10.0

01 Oct 18:49
v3.10.0
f1b79f2

Choose a tag to compare

Added

  • Add newline separator by @jayvdb (#777)

    The UnixLineSeparator and DosLineSeparator can be used together with StringWithSeparator.

Fixed

  • Proper handling of cfg_attr in the serde_as macro by @sivizius (#782)

    This allows to parse more valid forms of the cfg_attr macro, including multiple values and attribute that do not follow the key = value schema.