o {node_mods, [Mod]} where Mod is the name of a module implementing a
node (eg. yaml_node_timestamp).
o {schema, failsafe | json | core}. The schema defines a list of
node modules to use. See include/yaml_nodes.hrl.
The modules "yaml_node_bool" and "yaml_node_int" are renamed to
"yaml_node_ext_bool" and "yaml_node_ext_int", because they do not
implement what is written in the YAML 1.2 specification but the ones
from the types repository (http://yaml.org/type/).
New modules are added to implement the officiel YAML 1.2 types and the
JSON types (defined in this same specification). Note that these new
modules are untested material.
Error records were redefined:
o #yaml_invalid_option{}
o #yaml_parsing_error{}
An exception now has always the form:
#yaml_exception{errors = [
#yaml_invalid_option{} | #yaml_parsing_error{}
]}
This new #yaml_exception{} record is public and can be accessed
directly. But the yaml_errors module provides functions to get only
errors or warnings.
Errors are:
o s/simpl_estructs/simple_structs/.
o Line and columns in src/erlang_node_fun.erl must be greater than
or equal to 1.
o s/io_lib:flatten/lists:flatten/.
If a module was completely covered by a testsuite, it would mark the
coverage as "n/a" instead of "100%".
The fix is imported from the "bones" project.
The exception previously contained only the #yaml_parser_error record,
unlike other exceptions where the parser state was inside a
{yaml_parser, Parser} tuple.
Now, the #yaml_parser_error record is inside this tuple too.
The inet_parse:address/1 calls inet_parse:ipv4_address/1 function which
accepts (stringified) integers. For instance, "1" is parsed as {0,0,0,1}
and "256" is parsed as {0,0,1,0}.
Now, yaml_node_ipaddr calls inet_parse:ipv4strict_address/1 then
inet_parse:ipv6strict_address/1 directly. Integers are not accepted as
IP address anymore.
The percentage rounding was wrong: 76 was rounded to 70 instead of 75.
Moreover, we now round to the greated multiple of 5 (except for 0).
Therefore, 76 is now rounded to 80.
o Covered modules are now explicitly listed in each testsuite. This
permits to cover multiple modules by one testsuite.
o An index.html file is generated. It lists all testsuites and
their covered modules.
Those modules add standard tags/nodes, Erlang-specific nodes and a few
nodes specific to Yakaz. The latter will probably move to another place
or be standardized in any way.