liquid-rust
                                
                                
                                
                                    liquid-rust copied to clipboard
                            
                            
                            
                        chore(deps): Update Rust crate serde_yaml to 0.9.0
This PR contains the following updates:
| Package | Type | Update | Change | 
|---|---|---|---|
| serde_yaml | dev-dependencies | minor | 0.8.26 -> 0.9.0 | 
| serde_yaml | dependencies | minor | 0.8.26 -> 0.9.0 | 
Release Notes
dtolnay/serde-yaml (serde_yaml)
v0.9.34
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
- Fix quadratic parse time for YAML containing deeply nested flow collections (https://github.com/dtolnay/unsafe-libyaml/issues/26)
 
v0.9.32
- Fix unused_imports warnings when compiled by rustc 1.78
 
v0.9.31
- Add 
swap_removeandshift_removemethods on Mapping (#408) 
v0.9.30
- Update proc-macro2 to fix caching issue when using a rustc-wrapper such as sccache
 
v0.9.29
- Turn on 
deny(unsafe_op_in_unsafe_fn)lint 
v0.9.28
- Update 
unsafe-libyamldependency to pull in unaligned write fix 
v0.9.27
- Always serialize serde_yaml::Number containing NaN as a positive NaN (#394)
 
v0.9.26
v0.9.25
- Serialize using quoted style around scalar that has digits with leading zero (#347)
 
v0.9.24
- Implement FromStr for serde_yaml::Number (#381)
 
v0.9.23
- Documentation improvements
 
v0.9.22
- Update indexmap dependency to version 2
 
v0.9.21
- Make 
Tag::newpanic if given empty string, since YAML has no syntax for an empty tag 
v0.9.20
- Allow an empty YAML document to deserialize to 
NoneorValue::Null, in addition to the previously supported empty vector, empty map, and struct with no required fields 
v0.9.19
v0.9.18
- Add support for emitting Unicode characters over codepoint U+FFFF (#356)
 
v0.9.17
- Improve Debug representation of some error messages
 
v0.9.16
- Opt out of 
-Zrustdoc-scrape-exampleson docs.rs for now 
v0.9.15
- Documentation improvements
 
v0.9.14
- Implement 
DeserializerforTaggedValueand&TaggedValue(#339) 
v0.9.13
- Recognize 
True,TRUE,False,FALSEas booleans,Null,NULLas null (#330) 
v0.9.12
- 
Support deserializing tagged literal scalar into primitive (#327)
"foo": !!int |- 7200 
v0.9.11
- Serialize strings on a single line when they do not already contain a newline character, regardless of string length (#321, #322)
 
v0.9.10
- Make 
DisplayforNumberproduce the same representation as serializing (#316) 
v0.9.9
v0.9.8
- Fix serialization of 
TaggedValuewhen used withto_value(#313) 
v0.9.7
- Allow an empty plain scalar to deserialize as an empty map or seq (#304)
 
v0.9.6
- Fix tag not getting serialized in certain map values (#302)
 
v0.9.5
v0.9.4
- Add 
serde_yaml::with::singleton_mapfor serialization of enums as a 1-entry map (#300) - Reject duplicate keys when deserializing 
MappingorValue(#301) 
v0.9.3
- Add categories to crates.io metadata
 - Add keywords to crates.io metadata
 
v0.9.2
- Improve 
Debugrepresentation ofserde_yaml::Error 
v0.9.1
- Fix panic on some documents containing syntax error (#293)
 - Improve error messages that used to contain duplicative line/column information (#294)
 
v0.9.0
API documentation: https://docs.rs/serde_yaml/0.9
Highlights
- 
The
serde_yaml::Valueenum gains aTaggedvariant which represents the deserialization of YAML's!Tagsyntax. 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 onValueimplements YAML's<<merge key convention. - 
The
Debugrepresentation ofserde_yaml::Valuehas gotten vastly better (https://github.com/dtolnay/serde-yaml/pull/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 andMapping's methodsgetandget_muthave been generalized to support a &str argument, as opposed to requiring you to allocate and construct aValue::Stringfor indexing into another existingValue. - 
Mappingexposes 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
---\non the serialized output. You can prepend this yourself if your use case demands it. - 
Serialization of enum variants is now based on YAML's
!Tagsyntax, 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+1and++0x1are 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
PartialEqimpls have been eliminated. - 
The
serde_yaml::to_vecfunction has been removed. Useserde_yaml::to_writerfor doing I/O, or useserde_yaml::to_string+.into_bytes()on the resulting String. - 
The
serde_yaml::seedmodule has been removed. Now that aserde_yaml::Deserializeris 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 these updates again.
- [ ] If you want to rebase/retry this PR, check this box
 
This PR was generated by Mend Renovate. View the repository job log.