Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update Rust crate serde to 1.0.190 #22

Merged
merged 1 commit into from
Nov 2, 2023
Merged

Conversation

renovate[bot]
Copy link
Contributor

@renovate renovate bot commented Nov 2, 2023

Mend Renovate

This PR contains the following updates:

Package Type Update Change
serde (source) dependencies patch 1.0.70 -> 1.0.190

Release Notes

serde-rs/serde (serde)

v1.0.190

Compare Source

  • Preserve NaN sign when deserializing f32 from f64 or vice versa (#​2637)

v1.0.189

Compare Source

  • Fix "cannot infer type" error when internally tagged enum contains untagged variant (#​2613, thanks @​ahl)

v1.0.188

Compare Source

  • Fix "failed to parse manifest" error when building serde using a Cargo version between 1.45 and 1.50 (#​2603)

v1.0.187

Compare Source

  • Remove support for Emscripten targets on rustc older than 1.40 (#​2600)

v1.0.186

Compare Source

  • Disallow incompatible versions of serde_derive and serde in the dependency graph (#​2588, thanks @​soqb)

v1.0.185

Compare Source

  • Fix error "cannot move out of *self which is behind a shared reference" deriving Serialize on a non_exhaustive enum (#​2591)

v1.0.184

Compare Source

  • Restore from-source serde_derive build on all platforms — eventually we'd like to use a first-class precompiled macro if such a thing becomes supported by cargo / crates.io

v1.0.183

Compare Source

  • Support deserializing Box<OsStr> with an equivalent representation as OsString (#​2556, thanks @​DBLouis)

v1.0.182

Compare Source

v1.0.181

Compare Source

  • Make serde(alias) work in combination with flatten when using in-place deserialization (#​2443, thanks @​Mingun)
  • Improve the representation of adjacently tagged enums in formats where enum tags are serialized by index, as opposed to by string name (#​2505, #​2496, thanks @​Baptistemontan)

v1.0.180

Compare Source

  • Update to 2018 edition

v1.0.179

Compare Source

  • Support serialization of tuple variants inside a flattened field (#​2448, thanks @​Mingun)

v1.0.178

Compare Source

  • Fix build error when using serde with "std" feature turned off and "unstable" feature turned on (#​2541)

v1.0.177

Compare Source

  • Add serde(rename_all_fields = "...") attribute to apply a rename_all on every struct variant of an enum (#​1695, thanks @​jplatte)
  • Improve diagnostics for attribute parse errors (#​2536, thanks @​jplatte)

v1.0.176

Compare Source

  • Allow tag field of an internally tagged enum to have same name as a field inside a skipped struct variant (#​2266, thanks @​flisky)

v1.0.175

Compare Source

v1.0.174

Compare Source

  • Documentation improvements

v1.0.173

Compare Source

  • Fix missing trait implementations when using serde derive macro on a macro-generated data structure, such as via the bitflags crate (#​2516)

v1.0.172

Compare Source

  • Experiment with precompiling the serde_derive macros to reduce build time (#​2514)

v1.0.171

Compare Source

v1.0.170

Compare Source

  • Produce error message on suffixed string literals inside serde attributes (#​2242)
  • Support single identifier as unbraced default value for const generic parameter (#​2449)

v1.0.169

Compare Source

  • Add Deserializer::deserialize_identifier support for adjacently tagged enums (#​2475, thanks @​Baptistemontan)
  • Fix unused_braces lint in generated Deserialize impl that uses braced const generic expressions (#​2414)

v1.0.168

Compare Source

  • Allow serde::de::IgnoredAny to be the type for a serde(flatten) field (#​2436, thanks @​Mingun)
  • Allow larger preallocated capacity for smaller elements (#​2494)

v1.0.167

Compare Source

  • Add serialize and deserialize impls for RangeFrom and RangeTo (#​2471, thanks @​tbu-)

v1.0.166

Compare Source

  • Add no-alloc category to crates.io metadata

v1.0.165

Compare Source

  • Fix incorrect count of fields passed to tuple deserialization methods when using serde(skip_deserializing) attributes (#​2466, thanks @​Mingun)
  • Fix -Zminimal-versions build

v1.0.164

Compare Source

v1.0.163

Compare Source

  • Eliminate build script from serde_derive crate to slightly reduce build time (#​2442, thanks @​taiki-e)

v1.0.162

Compare Source

  • Support deserializing flattened adjacently tagged enums from data formats which represent fields as bytes, such as the csv crate (#​2377, thanks @​mfro)

    #[derive(Deserialize)]
    pub struct Record {
        common: u64,
        #[serde(flatten)]
        kind: Kind,
    }
    
    #[derive(Deserialize)]
    #[serde(tag = "kind", content = "parameter", rename_all = "lowercase")]
    enum Kind {
        Foo(u64),
        Bar(bool),
    }
    common,kind,parameter
    1,foo,42
    2,bar,true
    

v1.0.161

Compare Source

  • Improve error messages produced by serde_test on test failure (#​2435, thanks @​Mingun)

v1.0.160

Compare Source

v1.0.159

Compare Source

  • Accept empty #[serde()] attribute (#​2422)

v1.0.158

Compare Source

  • Fix "expected serde crate attribute to be a string" error when using macro_rules metavariable inside of serde attribute: #[serde(crate = $serde_path)] (#​2409)

v1.0.157

Compare Source

  • Update syn dependency to 2.x

v1.0.156

Compare Source

  • Documentation improvements

v1.0.155

Compare Source

  • Support Serialize and Deserialize impls for core::ffi::CStr and alloc::ffi::CString without "std" feature (#​2374, thanks @​safarir)

v1.0.154

Compare Source

  • Fix "undeclared lifetime" error in generated code when deriving Deserialize for an enum with both flatten and 'static fields (#​2383, thanks @​Mingun)

v1.0.153

Compare Source

  • Support serde(alias = "…") attribute used inside of flattened struct (#​2387, thanks @​bebecue)

v1.0.152

Compare Source

  • Documentation improvements

v1.0.151

Compare Source

  • Update serde::{ser,de}::StdError to re-export core::error::Error when serde is built with feature="std" off and feature="unstable" on (#​2344)

v1.0.150

Compare Source

  • Relax some trait bounds from the Serialize impl of HashMap and BTreeMap (#​2334)
  • Enable Serialize and Deserialize impls of std::sync::atomic types on more platforms (#​2337, thanks @​badboy)

v1.0.149

Compare Source

  • Relax some trait bounds from the Serialize impl of BinaryHeap, BTreeSet, and HashSet (#​2333, thanks @​jonasbb)

v1.0.148

Compare Source

  • Support remote derive for generic types that have private fields (#​2327)

v1.0.147

Compare Source

  • Add serde::de::value::EnumAccessDeserializer which transforms an EnumAccess into a Deserializer (#​2305)

v1.0.146

Compare Source

v1.0.145

Compare Source

v1.0.144

Compare Source

  • Change atomic ordering used by Serialize impl of atomic types to match ordering used by Debug impl of those same types (#​2263, thanks @​taiki-e)

v1.0.143

Compare Source

  • Invert build.rs cfgs in serde_test to produce the most modern configuration in the default case (#​2253, thanks @​taiki-e)

v1.0.142

Compare Source

  • Add keywords to crates.io metadata

v1.0.141

Compare Source

  • Add no-std category to crates.io metadata

v1.0.140

Compare Source

  • Invert serde_derive cfgs to convenience non-Cargo builds on a modern toolchain (#​2251, thanks @​taiki-e)

v1.0.139

Compare Source

  • Add new constructor function for all IntoDeserializer impls (#​2246)

v1.0.138

Compare Source

  • Documentation improvements

v1.0.137

Compare Source

  • Update documentation links to some data formats whose repos have moved (#​2201, thanks @​atouchet)
  • Fix declared rust-version of serde and serde_test (#​2168)

v1.0.136

Compare Source

  • Improve default error message when Visitor fails to deserialize a u128 or i128 (#​2167)

v1.0.135

Compare Source

  • Update discord channels listed in readme

v1.0.134

Compare Source

  • Improve error messages on deserializing NonZero integers from a 0 value (#​2158)

v1.0.133

Compare Source

  • Optimize deserialization of data structures that contain recursive use of flatten fields or tag or untagged enums (#​2148)

v1.0.132

Compare Source

  • Enable Serialize and Deserialize impls for std::sync::atomic::{AtomicI64, AtomicU64} on riscv64 arch (#​2141, thanks @​Avimitin)

v1.0.131

Compare Source

  • Avoid unused_results being triggered in generated code for adjacently tagged enum (#​2116, thanks @​tyranron)

v1.0.130

Compare Source

  • Provide MapAccess and SeqAccess impl for reference to a dynamically sized existing impl (#​2081)

v1.0.129

Compare Source

v1.0.128

Compare Source

v1.0.127

Compare Source

  • Resolve warning in rustc nightly-2021-07-31+ compiling serde_test

v1.0.126

Compare Source

  • Resolve conflict with forbid(future_incompatible) lint setting in generated code (#​2026, thanks @​hyd-dev)

v1.0.125

Compare Source

v1.0.124

Compare Source

  • Fix possible panic deserializing invalid data as SystemTime (#​1997, thanks @​cyang1)

v1.0.123

Compare Source

  • Support Self keywords in fields of types that derive Deserialize (#​1830, thanks @​taiki-e)
  • Allow floats to be deserialized from ints in tagged unions (#​1842, thanks @​Timmmm)
  • Support Self inside fields that use serialize_with (#​1970)

v1.0.122

Compare Source

  • Add IntoDeserializer impl for &[u8] (#​1898, thanks @​Mingun)

  • Handle unrecognized numeric field keys during deserialization of a field_identifier, equivalently to string field keys (#​1914, thanks @​Mingun)

  • Add attribute to override default deserialization failure expectation message (#​1916, thanks @​Mingun)

    #[derive(Deserialize)]
    #[serde(untagged, expecting = "single version or array of versions")]
    struct VersionSpec {
        One(Version),
        Many(Vec<Version>),
    }
  • Improve serde_test handling of map entries and error message construction (#​1918, thanks @​Mingun)

  • Produce more accurate location information on test failures from serde_test crate (#​1920, thanks @​Mingun)

  • Improve diagnostic on failure to parse a rename_all attribute (#​1960, #​1961)

  • Eliminate unnecessary trait bounds on some value Deserializer impls (#​1963)

v1.0.121

Compare Source

  • Support borrowed data during deserialization of a field identifier (#​1917, thanks @​Mingun)
  • Fix panic when deserializing Duration with nanoseconds that cause the seconds counter to overflow (#​1958, thanks @​jonasbb)

v1.0.120

Compare Source

  • Fix deserialization of ignored fields containing 128-bit integer (#​1955, thanks @​TheJokr)

v1.0.119

Compare Source

v1.0.118

Compare Source

v1.0.117

Compare Source

v1.0.116

Compare Source

  • Fix deserialization of IpAddr, SocketAddr, Bound, Result, OsString in formats which process variant identifiers as u64 (#​1888, thanks @​joshtriplett)

v1.0.115

Compare Source

  • Support #[serde(flatten)] on a field whose type is a type parameter and concrete type is () (#​1873)

v1.0.114

Compare Source

  • Improve packed repr matching to support deriving Serialize for structs having repr(C, packed) (#​1813, thanks @​TannerRogalsky)

v1.0.113

Compare Source

v1.0.112

Compare Source

  • Support serde(flatten) on map types where the Serializer only works with serialize_entry (#​1837)

v1.0.111

Compare Source

  • Process borrowed lifetimes inside of interpolated macro_rules metavariables, such as in the case of #[derive(Deserialize)] struct S<'a> { field: $field } (#​1821)

v1.0.110

Compare Source

v1.0.109

Compare Source

  • Allow adjacently tagged newtype variants containing Option to omit the content field when deserializing (#​1553, #​1706, thanks @​zth0)
  • Avoid panicking when a SystemTime older than UNIX_EPOCH is serialized (#​1702, thanks @​hjiayz)

v1.0.108

Compare Source

  • Provide a Serializer impl that can write primitives and unit variants to a &mut fmt::Formatter (#​1705, thanks @​jethrogb)

    use serde::Serialize;
    use std::fmt::{self, Display};
    
    #[derive(Serialize)]
    #[serde(rename_all = "kebab-case")]
    pub enum MessageType {
        StartRequest,
        EndRequest,
    }
    
    impl Display for MessageType {
        fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
            self.serialize(f)
        }
    }

v1.0.107

Compare Source

  • Fix panic during macro expansion when using serde(skip) and serde(other) in the same enum (#​1804)

v1.0.106

Compare Source

  • Hide dummy const implementation detail from rustdoc when documenting a binary crate (#​1768, thanks @​robo9k)

v1.0.105

Compare Source

v1.0.104

Compare Source

v1.0.103

Compare Source

  • Support deserializing untagged unit variants from formats that treat unit as None (#​1668)

v1.0.102

Compare Source

  • Support deserializing PathBuf from bytes like &Path already did, and support deserializing Box<Path> (#​1656, thanks @​heftig)

v1.0.101

Compare Source

  • Report errors on malformed serde attributes, like #[serde(rename =)] -- the compiler used to reject these itself, but when the compiler relaxed its requirements on attribute syntax these malformed attributes began silently being ignored by serde_derive

  • Eliminate unused variable warning when using skip_serializing inside a tuple variant of an adjacently tagged enum (#​1617, thanks @​arilotter)

  • Support skip attribute inside of newtype variants (#​1622, thanks @​Xaeroxe)

v1.0.100

Compare Source

  • Provide serde::ser::StdError and serde::de::StdError which are either a re-export of std::error::Error (if Serde's "std" feature is enabled) or a new identical trait (otherwise).

    #[cfg(feature = "std")]
    pub use std::error::Error as StdError;
    
    #[cfg(not(feature = "std"))]
    pub trait StdError: Debug + Display {
        fn source(&self) -> Option<&(StdError + 'static)> { None }
    }

    Serde's error traits serde::ser::Error and serde::de::Error require std::error::Error as a supertrait, but only when Serde is built with "std" enabled. Data formats that don't care about no_std support should generally provide their error types with a std::error::Error impl directly:

    #[derive(Debug)]
    struct MySerError {...}
    
    impl serde::ser::Error for MySerError {...}
    
    impl std::fmt::Display for MySerError {...}
    
    // We don't support no_std!
    impl std::error::Error for MySerError {}

    Data formats that do support no_std may either have a "std" feature of their own as has been required in the past:

    [features]
    std = ["serde/std"]
    #[cfg(feature = "std")]
    impl std::error::Error for MySerError {}

    ... or else now may provide the std Error impl unconditionally via Serde's re-export:

    impl serde::ser::StdError for MySerError {}

v1.0.99

Compare Source

  • Update Syn dependency to 1.0.

    Note: This raises the minimum required compiler version for serde_derive from rustc 1.15 to rustc 1.31. The minimum required compiler version for serde remains at rustc 1.13.

v1.0.98

Compare Source

v1.0.97

Compare Source

  • Introduce serde(try_from = "...") attribute to derive Deserialize based on a given implementation of std::convert::TryFrom (#​1526, thanks @​fanzeyi)

    #[derive(Deserialize)]
    #[serde(try_from = "u32")]
    enum N {
        Zero,
        One,
        Two,
    }
    
    impl TryFrom<u32> for N {
        type Error = String;
    
        fn try_from(u: u32) -> Result<Self, Self::Error> {
            match u {
                0 => Ok(Self::Zero),
                1 => Ok(Self::One),
                2 => Ok(Self::Two),
                other => Err(format!("out of range: {}", other)),
            }
        }
    }

v1.0.96

Compare Source

v1.0.95

Compare Source

yanked

v1.0.94

Compare Source

  • Accept enums in input data when deserializing IgnoredAny (#​1558)

v1.0.93

Compare Source

  • Allow integer keys in untagged flattened map (#​1545)

v1.0.92

Compare Source

v1.0.91

Compare Source

  • Support deserializing from MapAccessDeserializer into an enum (#​1522)

v1.0.90

Compare Source

  • Add an attribute #[serde(crate = "path::to::serde")] which replaces the use of extern crate serde in the generated code; this is intended for crates that invoke Serde derives from a macro and need to refer to serde through their own re-export rather than requiring callers to list Serde in Cargo.toml (#​1499, thanks @​sgrif)

    #[derive(Deserialize)]
    #[serde(crate = "__tw::codegen::serde")]
    struct S { ... }
    // expands to:
    impl<'de> __tw::codegen::serde::Deserialize<'de> for S {
        ...
    }

v1.0.89

Compare Source

v1.0.88

Compare Source

  • Support flatten and skip_serializing / skip_deserializing attributes on the same field

v1.0.87

Compare Source

v1.0.86

Compare Source

  • Implement Serialize and Deserialize for core::ops::Bound<T> (#​1466, thanks @​0nkery)

v1.0.85

Compare Source

  • Accept #[serde(alias = "...")] attribute on fields and variants which allows the same field or variant to be deserialized from any of multiple different names in the input (#​1458, thanks @​Lymia)

    #[derive(Deserialize)]
    struct S {
        #[serde(alias = "old_name")]
        new_name: String,  // will deserialize from either of "old_name" or "new_name"
    }

v1.0.84

Compare Source

  • Update example code in documentation to 2018 edition

v1.0.83

Compare Source

  • Support a rename_all specification that applies only to the Serialize impl or only to the Deserialize impl (#​1447, thanks @​vincascm)

    #[derive(Serialize, Deserialize)]
    #[serde(rename_all(
        serialize = "camelCase",
        deserialize = "SCREAMING_SNAKE_CASE",
    ))]
    struct S { /* ... */ }
  • Allow serializing struct name inside of structs with named fields (#​1448, thanks @​motu42)

    #[derive(Serialize)]
    #[serde(tag = "type")]
    struct S { /* ... */ }  // serializes as {"type":"S",...}

v1.0.82

Compare Source

  • Support serde(default) attribute inside of tuple structs and tuple variants (#​1442, thanks @​tcr)

v1.0.81

Compare Source

  • Better error messages when using an invalid combination of serde attributes (#​1424, thanks @​hcpl)
  • Support deserializing tagged enums inside of untagged enums in formats that encode tagged enum variants by index, like MessagePack (#​1437, thanks @​daboross)

v1.0.80

Compare Source

  • Performance optimization for Vec::deserialize_in_place to deserialize elements in place (#​1411)

v1.0.79

Compare Source

  • Add serde(other) variant attribute for deserializing any variant that is not one of the others (#​1382)

    #[derive(Deserialize)]
    #[serde(tag = "variant")]
    enum MyEnum {
        A(ModelA),
        B(ModelB),
        #[serde(other)]
        Unknown,
    }

    In this internally tagged enum the MyEnum::Unknown variant would be produced if the "variant" tag in the input is neither "A" nor "B".

    This feature is currently limited to externally tagged and adjacently tagged enums in which the other variant is a unit variant.

v1.0.78

Compare Source

  • Fix panic deserializing flattened Value after flattened struct (#​1379)

v1.0.77

Compare Source

  • Fix internally tagged enum deserialization with unknown fields (#​1376, thanks @​dreid)

v1.0.76

Compare Source

v1.0.75

Compare Source

  • Adjust dependency version requirement to support building with -Z minimal-versions in CI (#​1367)

v1.0.74

Compare Source

v1.0.73

Compare Source

  • Fix the names of serialized fields when the Rust data structure uses a raw identifier (#​1362)

v1.0.72

Compare Source

  • Fix compilation of default-features = false, features = ["alloc", "rc"] feature combination (#​1359, thanks @​Pratyush)

v1.0.71

Compare Source


Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR has been generated by Mend Renovate. View repository job log here.

Copy link

codecov bot commented Nov 2, 2023

Codecov Report

All modified and coverable lines are covered by tests ✅

Comparison is base (1623d08) 82.83% compared to head (1e0d3de) 82.83%.

Additional details and impacted files
@@           Coverage Diff           @@
##           master      #22   +/-   ##
=======================================
  Coverage   82.83%   82.83%           
=======================================
  Files         106      106           
  Lines       11137    11137           
=======================================
  Hits         9225     9225           
  Misses       1912     1912           

see 2 files with indirect coverage changes

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@renovate renovate bot force-pushed the renovate/serde-monorepo branch 2 times, most recently from 57ab8d1 to 7d256bb Compare November 2, 2023 08:53
@giangndm giangndm merged commit f178586 into master Nov 2, 2023
5 checks passed
@renovate renovate bot deleted the renovate/serde-monorepo branch November 2, 2023 16:48
@github-actions github-actions bot mentioned this pull request Nov 17, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant