fix(deps): update rust crate serde_with to v3 #52
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
2.2.0
->3.0.0
Release Notes
jonasbb/serde_with (serde_with)
v3.11.0
: serde_with v3.11.0Compare 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.0Compare Source
Added
Add newline separator by @jayvdb (#777)
The
UnixLineSeparator
andDosLineSeparator
can be used together withStringWithSeparator
.Fixed
Proper handling of
cfg_attr
in theserde_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 thekey = value
schema.v3.9.0
: serde_with v3.9.0Compare 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.v3.8.3
: serde_with v3.8.3Compare Source
Fixed
schemars_0_8
is used with thepreserve_order
features (#762)v3.8.2
: serde_with v3.8.2Compare Source
Changed
time
dependency.The
time
version needed to be updated for nightly compatibility.Fixed
JsonSchemaAs
forOneOrMany
instead ofJsonSchema
by @swlynch99 (#760)v3.8.1
: serde_with v3.8.1Compare Source
Fixed
schemars(deserialize_with = "...")
annotations, asschemars
does not support them (#735)Thanks to @sivizius for reporting the issue.
v3.8.0
: serde_with v3.8.0Compare Source
Added
JsonSchemaAs
forPickFirst
by @swlynch99 (#721)Changed
base64
dependency to v0.22 (#724)Fixed
serde_conv
regressed and triggeredclippy::ptr_arg
and add test to prevent future problems. (#731)v3.7.0
: serde_with v3.7.0Compare Source
Added
JsonSchemaAs
forEnumMap
by @swlynch99 (#697)JsonSchemaAs
forIfIsHumanReadable
by @swlynch99 (#717)JsonSchemaAs
forKeyValueMap
by @swlynch99 (#713)JsonSchemaAs
forOneOrMany
by @swlynch99 (#719)Fixed
schema_with
attributes on fields withschemars
annotations by @swlynch99 (#715)This extends the existing avoidance mechanism to a new variant fixing #712.
v3.6.1
: serde_with v3.6.1Compare Source
Changed
This allows parallel compilation of
serde
andserde_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.0Compare Source
Added
IfIsHumanReadable
for conditional implementation by @irriden (#690)Used to specify different transformations for text-based and binary formats.
JsonSchemaAs
impls for allDuration*
andTimestamp*
adaptors by @swlynch99 (#685)Changed
regex
dependency.v3.5.1
: serde_with v3.5.1Compare Source
Fixed
serde_as
macro now better detects existingschemars
attributes on fields and incorporates them by @swlynch99 (#682)This avoids errors on existing
#[schemars(with = ...)]
annotations.v3.5.0
: serde_with v3.5.0Compare Source
Added
schemars
integration added by @swlynch99 (#666)The support uses a new
Schema
top-level item which implementsJsonSchema
The
serde_as
macro can now detectschemars
usage and emits matching annotations for all fields withserde_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.0Compare 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.0Compare Source
Added
Support the
hashbrown
typeHashMap
andHashSet
(#636, #637)Thanks to @OliverNChalk for raising the issue and submitting a PR.
This extends the existing support for
HashMap
s andHashSet
s to thehashbrown
crate v0.14.The same conversions as for the
std
andindexmap
types are available, like general support for#[serde_as]
and converting it to/from sequences or maps.Changed
Generalize some trait bounds for
DeserializeAs
implementationsWhile 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.0Compare Source
Added
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
Fixed
i64::MIN
usingTimestampSeconds<i64>
(#632, #633)Thanks to @hollmmax for reporting and fixing the issue.
v3.1.0
: serde_with v3.1.0Compare Source
Added
Add
FromIntoRef
andTryFromIntoRef
(#618)Thanks to @oblique for submitting the PR.
The new types are similar to the existing
FromInto
andTryFromInto
types.They behave different during serialization, allowing the removal of the
Clone
bound on theirSerializeAs
trait implementationChanged
serde_as
(#607)cfg_eval
.v3.0.0
: serde_with v3.0.0Compare 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.3Compare Source
Changed
syn
to v2 anddarling
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.2Compare Source
Changed
Improve the error message when deserializing
OneOrMany
orPickFirst
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:
Fixed
Thanks to @nox for submitting a PR.
v2.3.1
: serde_with v2.3.1Compare 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.0Compare Source
Added
Add
serde_as
compatible versions for the existing duplicate key and value handling. (#534)The new types
MapPreventDuplicates
,MapFirstKeyWins
,SetPreventDuplicates
, andSetLastValueWins
can replace the existing modulesmaps_duplicate_key_is_error
,maps_first_key_wins
,sets_duplicate_value_is_error
, andsets_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
SimpleStruct
swill turn into a JSON snippet like this.
Changed
Seq
to allow for more custom types. (#565)This extends the support beyond tuples.
Fixed
EnumMap
passes thehuman_readable
status of theSerializer
to more places.alloc
on targets withouttarget_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.
This PR was generated by Mend Renovate. View the repository job log.