Skip to content

3.0.0

Compare
Choose a tag to compare
@avsm avsm released this 04 Aug 09:51
· 37 commits to master since this release

CHANGES:

  • Support Yaml 1.2, and stop advertising Yaml 1.0 support.
    This also updates the vendored libyaml to 0.2.5 (@favonia #37).

  • Add a Yaml.Util module with a number of useful combinators
    to manipulate Yaml.value types, such as retrieving keys and
    values, finding entries and converting to OCaml native
    types (@patricoferris #43)

  • Move the sexpression derivers into a separate Yaml_sexp
    package (the yaml-sexp opam package). This reduces dependencies
    on the main library. You can still use Yaml types in
    ppx_sexplib_conv derivers by simply replacing the
    Yaml.value (or other type) with Yaml_sexp.value which is
    an alias that also includes the Sexp conversion functions in
    its scope. (@alan-j-hu @avsm #46).

  • When outputting values, wrap special values like "true" or
    "1.0" in double quotes, so that Yaml.of_string will not
    interpret them as a non-string value (@avsm #47).

  • Track anchors and mappings in Yaml.yaml (but not in the
    Yaml.value JSON representation). This also allows non-scalar
    values to be used as keys. (@favonia #38)

  • Bump the internal write buffer for stream emission to
    256k from 64k, as people are writing ever-larger Yaml
    files! In the future, this static buffer will be replaced
    by a dynamically growing output buffer but for now needs
    to be set manually.

  • The minimum supported OCaml version is now OCaml 4.05.