7 * added support for parsing YAML files using the `Yaml::parseFile()` or `Parser::parseFile()` method
9 * the `Dumper`, `Parser`, and `Yaml` classes are marked as final
11 * Deprecated the `!php/object:` tag which will be replaced by the
12 `!php/object` tag (without the colon) in 4.0.
14 * Deprecated the `!php/const:` tag which will be replaced by the
15 `!php/const` tag (without the colon) in 4.0.
17 * Support for the `!str` tag is deprecated, use the `!!str` tag instead.
19 * Deprecated using the non-specific tag `!` as its behavior will change in 4.0.
20 It will force non-evaluating your values in 4.0. Use plain integers or `!!float` instead.
25 * Starting an unquoted string with a question mark followed by a space is
26 deprecated and will throw a `ParseException` in Symfony 4.0.
28 * Deprecated support for implicitly parsing non-string mapping keys as strings.
29 Mapping keys that are no strings will lead to a `ParseException` in Symfony
30 4.0. Use quotes to opt-in for keys to be parsed as strings.
57 * Omitted mapping values will be parsed as `null`.
59 * Omitting the key of a mapping is deprecated and will throw a `ParseException` in Symfony 4.0.
61 * Added support for dumping empty PHP arrays as YAML sequences:
64 Yaml::dump([], 0, 0, Yaml::DUMP_EMPTY_ARRAY_AS_SEQUENCE);
70 * Mappings with a colon (`:`) that is not followed by a whitespace are deprecated
71 when the mapping key is not quoted and will lead to a `ParseException` in
72 Symfony 4.0 (e.g. `foo:bar` must be `foo: bar`).
74 * Added support for parsing PHP constants:
77 Yaml::parse('!php/const:PHP_INT_MAX', Yaml::PARSE_CONSTANT);
80 * Support for silently ignoring duplicate mapping keys in YAML has been
81 deprecated and will lead to a `ParseException` in Symfony 4.0.
86 * Added support to dump `stdClass` and `ArrayAccess` objects as YAML mappings
87 through the `Yaml::DUMP_OBJECT_AS_MAP` flag.
89 * Strings that are not UTF-8 encoded will be dumped as base64 encoded binary
92 * Added support for dumping multi line strings as literal blocks.
94 * Added support for parsing base64 encoded binary data when they are tagged
95 with the `!!binary` tag.
97 * Added support for parsing timestamps as `\DateTime` objects:
100 Yaml::parse('2001-12-15 21:59:43.10 -5', Yaml::PARSE_DATETIME);
103 * `\DateTime` and `\DateTimeImmutable` objects are dumped as YAML timestamps.
105 * Deprecated usage of `%` at the beginning of an unquoted string.
107 * Added support for customizing the YAML parser behavior through an optional bit field:
110 Yaml::parse('{ "foo": "bar", "fiz": "cat" }', Yaml::PARSE_EXCEPTION_ON_INVALID_TYPE | Yaml::PARSE_OBJECT | Yaml::PARSE_OBJECT_FOR_MAP);
113 * Added support for customizing the dumped YAML string through an optional bit field:
116 Yaml::dump(array('foo' => new A(), 'bar' => 1), 0, 0, Yaml::DUMP_EXCEPTION_ON_INVALID_TYPE | Yaml::DUMP_OBJECT);
122 * Yaml::parse() now throws an exception when a blackslash is not escaped
123 in double-quoted strings
128 * Deprecated usage of a colon in an unquoted mapping value
129 * Deprecated usage of @, \`, | and > at the beginning of an unquoted string
130 * When surrounding strings with double-quotes, you must now escape `\` characters. Not
131 escaping those characters (when surrounded by double-quotes) is deprecated.
148 * Yaml::parse() does not evaluate loaded files as PHP files by default
149 anymore (call Yaml::enablePhpParsing() to get back the old behavior)