Skip to content

Releases: Ethiraric/yaml-rust2

v0.9.0

25 Sep 15:03
Compare
Choose a tag to compare

Breaking Changes

  • Update dependencies.
    Since hashlink is exposed (through Yaml::Hash) and has been updated from 0.8.4 to 0.9.1, the new version of yaml-rust2 will not link properly if you explicitly rely on hashlink v0.8.
    Existing code with v0.8.4 should still compile fine in v0.9.1 (see hashlink's v0.9.0 changelog).

Bug fixes

  • (#37)
    Parse empty scalars as "" instead of "~".

Features

  • Add Yaml::is_hash.
  • Add better doccomments to the Index and IntoIterator implementations for Yaml to better explain their quirks and design decisions.

v0.8.1

31 May 15:22
Compare
Choose a tag to compare

Bug fixes

  • (#29) Fix parsing failing for deeply indented scalar blocks.

  • (#21-comment) Fix parsing failing with comments immediately following a YAML tag.

Features

  • (#19) Yaml now implements IndexMut<usize> and IndexMut<&'a str>. These functions may not return a mutable reference to a BAD_VALUE. Instead, index_mut() will panic if either:

    • The index is out of range, as per IndexMut's requirements
    • The inner Yaml variant doesn't match Yaml::Array for usize or Yaml::Hash for &'a str
  • Use cargo features

    This allows for more fine-grained control over MSRV and to completely remove debug code from the library when it is consumed.

    The encoding feature, governing the YamlDecoder, has been enabled by default. Users of @davvid's fork of yaml-rust or of yaml-rust2 might already use this. Users of the original yaml-rust crate may freely disable this feature (cargo <...> --no-default-features) and lower MSRV to 1.65.0.

  • Duplicate keys no longer allowed

    Instead of silently choosing one of two values sharing the same key in a mapping, we now issue an error. This behavior is part of the YAML specification, but not tested by the yaml-test-suite (the parser needs to emit events for both key-values). Additionally, there is no standard way of defining which value should be chosen in case of a duplicate.

v0.7.0

20 Mar 13:41
Compare
Choose a tag to compare

Merge with @davvid's repository.

Full changelog, courtesy of @davvid:

Features:

  • Multi-line strings are now emitted using block scalars.
  • Error messages now contain a byte offset to aid debugging. (#176)
  • Yaml now has or and borrowed_or methods. (#179)
  • Yaml::load_from_bytes() is now available. (#156)
  • The parser and scanner now return Err() instead of calling panic.

Development:

  • The documentation was updated to include a security note mentioning that yaml-rust is safe because it does not interpret types. (#195)
  • Updated to quickcheck 1.0. (#188)
  • hashlink is now used instead of linked_hash_map.

v0.6.0

15 Mar 19:33
Compare
Choose a tag to compare

First "real" release

While v0.5.0 was certainly an improvement in YAML compliance, performance had significantly dropped. This release fixes performance issues, and should make yaml-rust2 a no-downside replacement for yaml-rust.

I do consider this as the first "real" release of this crate. More details about the process of writing yaml-rust2 and its improvements over yaml-rust can be found here

v0.5.0

23 Jan 02:00
Compare
Choose a tag to compare

v0.5.0

First version implementing all of the YAML test suite.

Version numbers are taken over from the original repository, hence starting at v0.5.0.