chore(deps): Update Rust crate serde_yaml to 0.9.0 #92
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:
0.8.17
->0.9.0
Release Notes
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
v0.9.31
Compare Source
swap_remove
andshift_remove
methods on Mapping (#408)v0.9.30
Compare Source
v0.9.29
Compare Source
deny(unsafe_op_in_unsafe_fn)
lintv0.9.28
Compare Source
unsafe-libyaml
dependency to pull in unaligned write fixv0.9.27
Compare Source
v0.9.26
Compare Source
.nan
is deserialized as a positive NaN (#392, #393)v0.9.25
Compare Source
v0.9.24
Compare Source
v0.9.23
Compare Source
v0.9.22
Compare Source
v0.9.21
Compare Source
Tag::new
panic if given empty string, since YAML has no syntax for an empty tagv0.9.20
Compare Source
None
orValue::Null
, in addition to the previously supported empty vector, empty map, and struct with no required fieldsv0.9.19
Compare Source
Display
andsource()
(#359, #360)v0.9.18
Compare Source
v0.9.17
Compare Source
v0.9.16
Compare Source
-Zrustdoc-scrape-examples
on docs.rs for nowv0.9.15
Compare Source
v0.9.14
Compare Source
Deserializer
forTaggedValue
and&TaggedValue
(#339)v0.9.13
Compare Source
True
,TRUE
,False
,FALSE
as booleans,Null
,NULL
as null (#330)v0.9.12
Compare Source
Support deserializing tagged literal scalar into primitive (#327)
v0.9.11
Compare Source
v0.9.10
Compare Source
Display
forNumber
produce the same representation as serializing (#316)v0.9.9
Compare Source
v0.9.8
Compare Source
TaggedValue
when used withto_value
(#313)v0.9.7
Compare Source
v0.9.6
Compare Source
v0.9.5
Compare Source
Display
trait forserde_yaml::value::Tag
(#307, thanks @masinc)v0.9.4
Compare Source
serde_yaml::with::singleton_map
for serialization of enums as a 1-entry map (#300)Mapping
orValue
(#301)v0.9.3
Compare Source
v0.9.2
Compare Source
Debug
representation ofserde_yaml::Error
v0.9.1
Compare Source
v0.9.0
Compare Source
API documentation: https://docs.rs/serde_yaml/0.9
Highlights
The
serde_yaml::Value
enum gains aTagged
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 onValue
implements YAML's<<
merge key convention.The
Debug
representation ofserde_yaml::Value
has gotten vastly better (https://github.com/dtolnay/serde-yaml/pull/287).Deserialization of borrowed strings now works.
Value
's andMapping
's methodsget
andget_mut
have been generalized to support a &str argument, as opposed to requiring you to allocate and construct aValue::String
for indexing into another existingValue
.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.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:
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. Useserde_yaml::to_writer
for doing I/O, or useserde_yaml::to_string
+.into_bytes()
on the resulting String.The
serde_yaml::seed
module has been removed. Now that aserde_yaml::Deserializer
is publicly available, the same use cases can be addressed viaseed.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.
Configuration
📅 Schedule: Branch creation - "before 5am on the first day of the month" (UTC), 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.