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

fix(deps): update rust crate serde_with to v3 #52

Merged
merged 1 commit into from
Nov 13, 2024

Conversation

renovate[bot]
Copy link
Contributor

@renovate renovate bot commented May 28, 2023

This PR contains the following updates:

Package Type Update Change
serde_with dependencies major 2.2.0 -> 3.0.0

Release Notes

jonasbb/serde_with (serde_with)

v3.11.0: serde_with v3.11.0

Compare Source

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

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

v3.10.0: serde_with v3.10.0

Compare Source

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.

v3.9.0: serde_with v3.9.0

Compare Source

Added
  • Deserialize a map` and skip all elements failing to deserialize by @​johnmave126 (#​763)

    MapSkipError acts like a map (HashMap/BTreeMap), but keys or values that fail to deserialize, like are ignored.

    For formats with heterogeneously typed maps, we can collect only the elements where both key and value are deserializable.
    This is also useful in conjunction to #[serde(flatten)] to ignore some entries when capturing additional fields.

    // JSON
    "value": {"0": "v0", "5": "v5", "str": "str", "10": 2},
    
    // Rust
    #[serde_as(as = "MapSkipError<DisplayFromStr, _>")]
    value: BTreeMap<u32, String>,
    
    // Only deserializes entries with a numerical key and a string value, i.e.,
    {0 => "v0", 5 => "v5"}
    

v3.8.3: serde_with v3.8.3

Compare Source

Fixed
  • Fix compile issues when dependency schemars_0_8 is used with the preserve_order features (#​762)

v3.8.2: serde_with v3.8.2

Compare Source

Changed
  • Bump MSRV to 1.67, since that is required for the time dependency.
    The time version needed to be updated for nightly compatibility.
Fixed

v3.8.1: serde_with v3.8.1

Compare Source

Fixed
  • Do not emit schemars(deserialize_with = "...") annotations, as schemars does not support them (#​735)
    Thanks to @​sivizius for reporting the issue.

v3.8.0: serde_with v3.8.0

Compare Source

Added
Changed
  • Bump base64 dependency to v0.22 (#​724)
  • Update dev dependencies
Fixed
  • serde_conv regressed and triggered clippy::ptr_arg and add test to prevent future problems. (#​731)

v3.7.0: serde_with v3.7.0

Compare Source

Added
Fixed
  • Detect conflicting schema_with attributes on fields with schemars annotations by @​swlynch99 (#​715)
    This extends the existing avoidance mechanism to a new variant fixing #​712.

v3.6.1: serde_with v3.6.1

Compare Source

Changed
  • Eliminate dependency on serde's "derive" feature by @​dtolnay (#​694)
    This allows parallel compilation of serde and serde_derive which can speed up the wallclock time.
    It requires that downstream crates do not use the "derive" feature either.

v3.6.0: serde_with v3.6.0

Compare Source

Added
  • Add IfIsHumanReadable for conditional implementation by @​irriden (#​690)
    Used to specify different transformations for text-based and binary formats.
  • Add more JsonSchemaAs impls for all Duration* and Timestamp* adaptors by @​swlynch99 (#​685)
Changed
  • Bump MSRV to 1.65, since that is required for the regex dependency.

v3.5.1: serde_with v3.5.1

Compare Source

Fixed
  • The serde_as macro now better detects existing schemars attributes on fields and incorporates them by @​swlynch99 (#​682)
    This avoids errors on existing #[schemars(with = ...)] annotations.

v3.5.0: serde_with v3.5.0

Compare Source

Added
  • Support for schemars integration added by @​swlynch99 (#​666)
    The support uses a new Schema top-level item which implements JsonSchema
    The serde_as macro can now detect schemars usage and emits matching annotations for all fields with serde_as attribute.
    Many types of this crate come already with support for the schemars, but support is not complete and will be extended over time.

v3.4.0: serde_with v3.4.0

Compare Source

  • Lower minimum required serde version to 1.0.152 (#​653)
    Thanks to @​banool for submitting the PR.

    This allows people that have a problem with 1.0.153 to still use serde_with.

  • Add support for core::ops::Bound (#​655)
    Thanks to @​qsantos for submitting the PR.

v3.3.0: serde_with v3.3.0

Compare Source

Added
  • Support the hashbrown type HashMap and HashSet (#​636, #​637)
    Thanks to @​OliverNChalk for raising the issue and submitting a PR.

    This extends the existing support for HashMaps and HashSets to the hashbrown crate v0.14.
    The same conversions as for the std and indexmap types are available, like general support for #[serde_as] and converting it to/from sequences or maps.

Changed
  • Generalize some trait bounds for DeserializeAs implementations

    While working on #​637 it came to light that some of the macros for generating DeserializeAs implementations were not as generic as they could.
    This means they didn't work with custom hasher types, but only the default hashers.
    This has now been fixed and custom hashers should work better, as long as they implement BuildHasher + Default.

  • (internal) Change how features are documented (#​639)

    This change moves the feature documentation into Cargo.toml in a format that can be read by lib.rs.
    It will improve the generated features documentation there.
    The page with all features remains in the guide but is now generated from the Cargo.toml information.

v3.2.0: serde_with v3.2.0

Compare Source

Added
  • Add optional support for indexmap v2 (#​621)
    Support for v1 is already available using the indexmap_1 feature.
    This adds identical support for v2 of indexmap using the indexmap_2 feature.
Changed
  • Bump MSRV to 1.64, since that is required for the indexmap v2 dependency.
Fixed
  • Prevent panics when deserializing i64::MIN using TimestampSeconds<i64> (#​632, #​633)
    Thanks to @​hollmmax for reporting and fixing the issue.

v3.1.0: serde_with v3.1.0

Compare Source

Added
  • Add FromIntoRef and TryFromIntoRef (#​618)
    Thanks to @​oblique for submitting the PR.

    The new types are similar to the existing FromInto and TryFromInto types.
    They behave different during serialization, allowing the removal of the Clone bound on their SerializeAs trait implementation

Changed
  • Improve documentation about cfg-gating serde_as (#​607)
  • Bump MSRV to 1.61 because that is required by the crate cfg_eval.

v3.0.0: serde_with v3.0.0

Compare Source

This breaking release should not impact most users.
It only affects custom character sets used for base64 of which there are no instances of on GitHub.

Changed
  • Upgrade base64 to v0.21 (#​543)
    Thanks to @​jeff-hiner for submitting the PR.

    Remove support for custom character sets.
    This is technically a breaking change.
    A code search on GitHub revealed no instances of anyone using that, and serde_with ships with many predefined character sets.
    The removal means that future base64 upgrade will no longer be breaking changes.

v2.3.3: serde_with v2.3.3

Compare Source

Changed
  • Update syn to v2 and darling to v0.20 (#​578)
    Update proc-macro dependencies.
    This change should have no impact on users, but now uses the same dependency as serde_derive.

v2.3.2: serde_with v2.3.2

Compare Source

Changed
  • Improve the error message when deserializing OneOrMany or PickFirst fails.
    It now includes the original error message for each of the individual variants.
    This is possible by dropping untagged enums as the internal implementations, since they will likely never support this, as these old PRs show serde#2376 and serde#1544.

    The new errors look like:

    OneOrMany could not deserialize any variant:
      One: invalid type: map, expected u32
      Many: invalid type: map, expected a sequence
    
    PickFirst could not deserialize any variant:
      First: invalid type: string "Abc", expected u32
      Second: invalid digit found in string
    
Fixed
  • Specify the correct minimum serde version as dependency. (#​588)
    Thanks to @​nox for submitting a PR.

v2.3.1: serde_with v2.3.1

Compare Source

Fixed
  • Undo the changes to the trait bound for Seq. (#​570, #​571)
    The new implementation caused issues with serialization formats that require the sequence length beforehand.
    It also caused problems, that certain attributes which worked before no longer worked, due to mismatching number of references.

    Thanks to @​stefunctional for reporting and for @​stephaneyfx for providing a test case.

v2.3.0: serde_with v2.3.0

Compare Source

Added
  • Add serde_as compatible versions for the existing duplicate key and value handling. (#​534)
    The new types MapPreventDuplicates, MapFirstKeyWins, SetPreventDuplicates, and SetLastValueWins can replace the existing modules maps_duplicate_key_is_error, maps_first_key_wins, sets_duplicate_value_is_error, and sets_last_value_wins.

  • Added a new KeyValueMap type using the map key as a struct field. (#​341)
    This conversion is useful for maps, where an ID value is the map key, but the ID should become part of a single struct.
    The conversion allows this, by using a special field named $key$.

    This conversion is possible for structs and maps, using the $key$ field.
    Tuples, tuple structs, and sequences are supported by turning the first value into the map key.

    Each of the SimpleStructs

    // Somewhere there is a collection:
    // #[serde_as(as = "KeyValueMap<_>")]
    // Vec<SimpleStruct>,
    
    #[derive(Serialize, Deserialize)]
    struct SimpleStruct {
        b: bool,
        // The field named `$key$` will become the map key
        #[serde(rename = "$key$")]
        id: String,
        i: i32,
    }

    will turn into a JSON snippet like this.

    "id-0000": {
      "b": false,
      "i": 123
    },
Changed
  • Relax the trait bounds of Seq to allow for more custom types. (#​565)
    This extends the support beyond tuples.
Fixed
  • EnumMap passes the human_readable status of the Serializer to more places.
  • Support alloc on targets without target_has_atomic = "ptr". (#​560)
    Thanks to @​vembacher for reporting and fixing the issue.

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 was generated by Mend Renovate. View the repository job log.

@renovate renovate bot force-pushed the renovate/serde_with-3.x branch from fc978c3 to 728867c Compare July 17, 2023 20:10
@renovate renovate bot force-pushed the renovate/serde_with-3.x branch from 728867c to 9f1682a Compare August 4, 2023 19:10
@renovate renovate bot force-pushed the renovate/serde_with-3.x branch from 9f1682a to 4438d84 Compare August 19, 2023 12:11
@renovate renovate bot force-pushed the renovate/serde_with-3.x branch from 4438d84 to e163f55 Compare October 17, 2023 19:04
@renovate renovate bot force-pushed the renovate/serde_with-3.x branch 2 times, most recently from c78da17 to 50c149a Compare January 23, 2024 22:41
@renovate renovate bot force-pushed the renovate/serde_with-3.x branch from 50c149a to 3f7ab90 Compare January 31, 2024 01:32
@renovate renovate bot force-pushed the renovate/serde_with-3.x branch from 3f7ab90 to 3b31cca Compare February 9, 2024 00:26
@renovate renovate bot force-pushed the renovate/serde_with-3.x branch from 3b31cca to 2643a31 Compare March 12, 2024 01:00
@renovate renovate bot force-pushed the renovate/serde_with-3.x branch 2 times, most recently from 81d8340 to 1ef2524 Compare April 28, 2024 21:28
@renovate renovate bot force-pushed the renovate/serde_with-3.x branch from 1ef2524 to bf6197f Compare May 5, 2024 10:31
@renovate renovate bot force-pushed the renovate/serde_with-3.x branch from bf6197f to e9fa07e Compare November 12, 2024 17:04
@renovate renovate bot force-pushed the renovate/serde_with-3.x branch from e9fa07e to 8184d85 Compare November 12, 2024 17:05
@dotansimha dotansimha merged commit 18d181e into master Nov 13, 2024
1 check passed
@dotansimha dotansimha deleted the renovate/serde_with-3.x branch November 13, 2024 08:19
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.

1 participant