Skip to content

Conversation

renovate[bot]
Copy link

@renovate renovate bot commented Oct 5, 2022

Coming soon: The Renovate bot (GitHub App) will be renamed to Mend. PRs from Renovate will soon appear from 'Mend'. Learn more here.

This PR contains the following updates:

Package Type Update Change
serde (source) dependencies patch 1.0.136 -> 1.0.226
serde_yaml dependencies minor 0.8 -> 0.9

Release Notes

serde-rs/serde (serde)

v1.0.226

Compare Source

  • Deduplicate variant matching logic inside generated Deserialize impl for adjacently tagged enums (#​2935, thanks @​Mingun)

v1.0.225

Compare Source

  • Avoid triggering a deprecation warning in derived Serialize and Deserialize impls for a data structure that contains its own deprecations (#​2879, thanks @​rcrisanti)

v1.0.224

Compare Source

  • Remove private types being suggested in rustc diagnostics (#​2979)

v1.0.223

Compare Source

  • Fix serde_core documentation links (#​2978)

v1.0.222

Compare Source

  • Make serialize_with attribute produce code that works if respanned to 2024 edition (#​2950, thanks @​aytey)

v1.0.221

Compare Source

  • Documentation improvements (#​2973)
  • Deprecate serde_if_integer128! macro (#​2975)

v1.0.220

Compare Source

v1.0.219

Compare Source

  • Prevent absolute_paths Clippy restriction being triggered inside macro-generated code (#​2906, thanks @​davidzeng0)

v1.0.218

Compare Source

  • Documentation improvements

v1.0.217

Compare Source

  • Support serializing externally tagged unit variant inside flattened field (#​2786, thanks @​Mingun)

v1.0.216

Compare Source

v1.0.215

Compare Source

v1.0.214

Compare Source

  • Implement IntoDeserializer for all Deserializers in serde::de::value module (#​2568, thanks @​Mingun)

v1.0.213

Compare Source

  • Fix support for macro-generated with attributes inside a newtype struct (#​2847)

v1.0.212

Compare Source

  • Fix hygiene of macro-generated local variable accesses in serde(with) wrappers (#​2845)

v1.0.211

Compare Source

  • Improve error reporting about mismatched signature in with and default attributes (#​2558, thanks @​Mingun)
  • Show variant aliases in error message when variant deserialization fails (#​2566, thanks @​Mingun)
  • Improve binary size of untagged enum and internally tagged enum deserialization by about 12% (#​2821)

v1.0.210

Compare Source

  • Support serializing and deserializing IpAddr and SocketAddr in no-std mode on Rust 1.77+ (#​2816, thanks @​MathiasKoch)
  • Make serde::ser::StdError and serde::de::StdError equivalent to core::error::Error on Rust 1.81+ (#​2818)

v1.0.209

Compare Source

  • Fix deserialization of empty structs and empty tuples inside of untagged enums (#​2805, thanks @​Mingun)

v1.0.208

Compare Source

  • Support serializing and deserializing unit structs in a flatten field (#​2802, thanks @​jonhoo)

v1.0.207

Compare Source

  • Improve interactions between flatten attribute and skip_serializing/skip_deserializing (#​2795, thanks @​Mingun)

v1.0.206

Compare Source

v1.0.205

Compare Source

  • Use serialize_entry instead of serialize_key + serialize_value when serialize flattened newtype enum variants (#​2785, thanks @​Mingun)
  • Avoid triggering a collection_is_never_read lint in the deserialization of enums containing flattened fields (#​2791)

v1.0.204

Compare Source

  • Apply #[diagnostic::on_unimplemented] attribute on Rust 1.78+ to suggest adding serde derive or enabling a "serde" feature flag in dependencies (#​2767, thanks @​weiznich)

v1.0.203

Compare Source

v1.0.202

Compare Source

  • Provide public access to RenameAllRules in serde_derive_internals (#​2743)

v1.0.201

Compare Source

  • Resolve unexpected_cfgs warning (#​2737)

v1.0.200

Compare Source

  • Fix formatting of "invalid type" and "invalid value" deserialization error messages containing NaN or infinite floats (#​2733, thanks @​jamessan)

v1.0.199

Compare Source

  • Fix ambiguous associated item when forward_to_deserialize_any! is used on an enum with Error variant (#​2732, thanks @​aatifsyed)

v1.0.198

Compare Source

v1.0.197

Compare Source

  • Fix unused_imports warnings when compiled by rustc 1.78
  • Optimize code size of some Display impls (#​2697, thanks @​nyurik)

v1.0.196

Compare Source

  • Improve formatting of "invalid type" error messages involving floats (#​2682)

v1.0.195

Compare Source

  • Prevent remote definitions of tuple struct or tuple variant from triggering dead_code warning (#​2671)

v1.0.194

Compare Source

  • Update proc-macro2 to fix caching issue when using a rustc-wrapper such as sccache

v1.0.193

Compare Source

v1.0.192

Compare Source

v1.0.191

Compare Source

  • Documentation improvements

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)
dtolnay/serde-yaml (serde_yaml)

v0.9.34

Compare Source

As of this release, I am not planning to publish further versions of serde_yaml as none of my projects have been using YAML for a long time, so I have archived the GitHub repo and marked the crate deprecated in the version number. An official replacement isn't designated for those who still need to work with YAML, but https://crates.io/search?q=yaml&sort=relevance and https://crates.io/keywords/yaml has a number of reasonable-looking options available.

v0.9.33

Compare Source

v0.9.32

Compare Source

  • Fix unused_imports warnings when compiled by rustc 1.78

v0.9.31

Compare Source

  • Add swap_remove and shift_remove methods on Mapping (#​408)

v0.9.30

Compare Source

  • Update proc-macro2 to fix caching issue when using a rustc-wrapper such as sccache

v0.9.29

Compare Source

  • Turn on deny(unsafe_op_in_unsafe_fn) lint

v0.9.28

Compare Source

  • Update unsafe-libyaml dependency to pull in unaligned write fix

v0.9.27

Compare Source

  • Always serialize serde_yaml::Number containing NaN as a positive NaN (#​394)

v0.9.26

Compare Source

  • Guarantee that .nan is deserialized as a positive NaN (#​392, #​393)

v0.9.25

Compare Source

  • Serialize using quoted style around scalar that has digits with leading zero (#​347)

v0.9.24

Compare Source

  • Implement FromStr for serde_yaml::Number (#​381)

v0.9.23

Compare Source

  • Documentation improvements

v0.9.22

Compare Source

  • Update indexmap dependency to version 2

v0.9.21

Compare Source

  • Make Tag::new panic if given empty string, since YAML has no syntax for an empty tag

v0.9.20

Compare Source

  • Allow an empty YAML document to deserialize to None or Value::Null, in addition to the previously supported empty vector, empty map, and struct with no required fields

v0.9.19

Compare Source

  • Fix message duplication between serde_yaml::Error's Display and source() (#​359, #​360)

v0.9.18

Compare Source

  • Add support for emitting Unicode characters over codepoint U+FFFF (#​356)

v0.9.17

Compare Source

  • Improve Debug representation of some error messages

v0.9.16

Compare Source

  • Opt out of -Zrustdoc-scrape-examples on docs.rs for now

v0.9.15

Compare Source

  • Documentation improvements

v0.9.14

Compare Source

  • Implement Deserializer for TaggedValue and &TaggedValue (#​339)

v0.9.13

Compare Source

  • Recognize True, TRUE, False, FALSE as booleans, Null, NULL as null (#​330)

v0.9.12

Compare Source

  • Support deserializing tagged literal scalar into primitive (#​327)

    "foo": !!int |-
      7200

v0.9.11

Compare Source

  • Serialize strings on a single line when they do not already contain a newline character, regardless of string length (#​321, #​322)

v0.9.10

Compare Source

  • Make Display for Number produce the same representation as serializing (#​316)

v0.9.9

Compare Source

v0.9.8

Compare Source

  • Fix serialization of TaggedValue when used with to_value (#​313)

v0.9.7

Compare Source

  • Allow an empty plain scalar to deserialize as an empty map or seq (#​304)

v0.9.6

Compare Source

  • Fix tag not getting serialized in certain map values (#​302)

v0.9.5

Compare Source

v0.9.4

Compare Source

  • Add serde_yaml::with::singleton_map for serialization of enums as a 1-entry map (#​300)
  • Reject duplicate keys when deserializing Mapping or Value (#​301)

v0.9.3

Compare Source

  • Add categories to crates.io metadata
  • Add keywords to crates.io metadata

v0.9.2

Compare Source

  • Improve Debug representation of serde_yaml::Error

v0.9.1

Compare Source

  • Fix panic on some documents containing syntax error (#​293)
  • Improve error messages that used to contain duplicative line/column information (#​294)

v0.9.0

Compare Source

API documentation: https://docs.rs/serde_yaml/0.9

Highlights
  • The serde_yaml::Value enum gains a Tagged variant which represents the deserialization of YAML's !Tag syntax. Tagged scalars, sequences, and mappings are all supported.

  • An empty YAML input (or document containing only comments) will deserialize successfully to an empty map, empty sequence, or Serde struct as long as the struct has only optional fields. Previously this would error.

  • A new .apply_merge() method on Value implements YAML's << merge key convention.

  • The Debug representation of serde_yaml::Value has gotten vastly better (#​287).

  • Deserialization of borrowed strings now works.

    #[derive(Deserialize, Debug)]
    struct Struct<'a> {
        borrowed: &'a str,
    }
    
    let yaml = "borrowed: 'kölcsönzött'\n";
    let value: Struct = serde_yaml::from_str(yaml)?;
    println!("{:#?}", value);
  • Value's and Mapping's methods get and get_mut have been generalized to support a &str argument, as opposed to requiring you to allocate and construct a Value::String for indexing into another existing Value.

  • Mapping exposes more APIs that have become conventional on map data structures, such as .keys(), .values(), .into_keys(), .into_values(), .values_mut(), and .retain(|k, v| …).

Breaking changes
  • Serialization no longer produces leading ---\n on the serialized output. You can prepend this yourself if your use case demands it.

  • Serialization of enum variants is now based on YAML's !Tag syntax, rather than JSON-style singleton maps.

    #[derive(Serialize, Deserialize)]
    enum Enum {
        Newtype(usize),
        Tuple(usize, usize, usize),
        Struct { x: f64, y: f64 },
    }
    - !Newtype 1
    - !Tuple [0, 0, 0]
    - !Struct {x: 1.0, y: 2.0}
  • A bunch of non-base-10 edge cases in number parsing have been resolved. For example 0x+1 and ++0x1 are now parsed as strings, whereas they used to be incorrectly treated as numbers.

  • Deserializers obtained through iteration can no longer be iterated further:

    let deserializer = serde_yaml::Deserializer::from_str(multiple_documents);
    for de in deserializer {
        // correct:
        let myvalue = T::deserialize(de)?;
    
        // incorrect: used to produce some questionable result, now produces 0 sub-documents
        for questionable in de {
            let wat = T::deserialize(questionable)?;
        }
    }
  • The abandoned yaml-rust crate is no longer used as the YAML backend. The new libyaml-based backend surely has different edge cases and quirks than yaml-rust.

  • Some excessive PartialEq impls have been eliminated.

  • The serde_yaml::to_vec function has been removed. Use serde_yaml::to_writer for doing I/O, or use serde_yaml::to_string + .into_bytes() on the resulting String.

  • The serde_yaml::seed module has been removed. Now that a serde_yaml::Deserializer is publicly available, the same use cases can be addressed via seed.deserialize(Deserializer::from_str(…)) instead.

Bugfixes
  • Empty values in a mapping are supported, and deserialize to empty string when the corresponding struct field is of type string. Previously they would deserialize to "~" which makes no sense.

  • 128-bit integer deserialization now supports hex and octal input.

  • Serde_yaml now includes a mitigation against a "billion laughs" attack in which malicious input involving YAML anchors and aliases is used to consume an amount of processing or memory that is exponential in the size of the input document. Serde_yaml will quickly produce an error in this situation instead.

v0.8.26

Compare Source

v0.8.25

Compare Source

  • Add to "encoding" category on crates.io (#​246)

v0.8.24

Compare Source

  • Work around indexmap/autocfg not always properly detecting whether a std sysroot crate is available (#​243, thanks @​cuviper)

Configuration

📅 Schedule: Branch creation - "after 9pm,before 6am" in timezone Europe/Zurich, Automerge - At any time (no schedule defined).

🚦 Automerge: Enabled.

Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.


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

This PR was generated by Mend Renovate. View the repository job log.

@renovate renovate bot added the dependencies Pull requests that update a dependency file label Oct 5, 2022
@renovate renovate bot force-pushed the renovate/serde-packages branch from 3bc50fc to c7bdeb6 Compare May 2, 2024 08:26
@renovate renovate bot changed the title fix(deps): update rust crate serde_yaml to 0.9 fix(deps): update serde packages May 2, 2024
Copy link
Author

renovate bot commented May 2, 2024

⚠ Artifact update problem

Renovate failed to update an artifact related to this branch. You probably do not want to merge this PR as-is.

♻ Renovate will retry this branch, including artifacts, only when one of the following happens:

  • any of the package files in this branch needs updating, or
  • the branch becomes conflicted, or
  • you click the rebase/retry checkbox if found above, or
  • you rename this PR's title to start with "rebase!" to trigger it manually

The artifact failure details are included below:

File name: Cargo.lock
Command failed: cargo update --config net.git-fetch-with-cli=true --manifest-path Cargo.toml --package [email protected] --precise 0.9.34
    Updating crates.io index
error: failed to select a version for the requirement `serde_yaml = "^0.8.21"`
candidate versions found which didn't match: 0.9.34+deprecated
location searched: crates.io index
required by package `kube-client v0.69.0`
    ... which satisfies dependency `kube-client = "^0.69.0"` (locked to 0.69.0) of package `kube v0.69.0`
    ... which satisfies dependency `kube = "^0.69.0"` (locked to 0.69.0) of package `kuby v0.0.0-development (/tmp/renovate/repos/github/smartive/kuby)`
perhaps a crate was updated and forgotten to be re-vendored?

@renovate renovate bot force-pushed the renovate/serde-packages branch from c7bdeb6 to 82b8c12 Compare May 6, 2024 11:40
@renovate renovate bot force-pushed the renovate/serde-packages branch from 82b8c12 to 4227251 Compare August 29, 2024 02:47
@renovate renovate bot force-pushed the renovate/serde-packages branch from 4227251 to 6981be4 Compare September 7, 2024 05:20
@renovate renovate bot force-pushed the renovate/serde-packages branch from 6981be4 to e8d1665 Compare October 22, 2024 23:43
Copy link
Author

renovate bot commented Oct 22, 2024

⚠️ Artifact update problem

Renovate failed to update an artifact related to this branch. You probably do not want to merge this PR as-is.

♻ Renovate will retry this branch, including artifacts, only when one of the following happens:

  • any of the package files in this branch needs updating, or
  • the branch becomes conflicted, or
  • you click the rebase/retry checkbox if found above, or
  • you rename this PR's title to start with "rebase!" to trigger it manually

The artifact failure details are included below:

File name: Cargo.lock
Command failed: cargo update --config net.git-fetch-with-cli=true --manifest-path Cargo.toml --package [email protected] --precise 0.9.34
    Updating crates.io index
error: failed to select a version for the requirement `serde_yaml = "^0.8.21"`
candidate versions found which didn't match: 0.9.34+deprecated
location searched: crates.io index
required by package `kube-client v0.69.0`
    ... which satisfies dependency `kube-client = "^0.69.0"` (locked to 0.69.0) of package `kube v0.69.0`
    ... which satisfies dependency `kube = "^0.69.0"` (locked to 0.69.0) of package `kuby v0.0.0-development (/tmp/renovate/repos/github/smartive/kuby)`

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
dependencies Pull requests that update a dependency file
Development

Successfully merging this pull request may close these issues.

0 participants