Breaking-Changes.md (1733B)
1 # The following is a list of breaking changes to yaml-cpp, by version # 2 3 # New API # 4 5 ## HEAD ## 6 7 * Throws an exception when trying to parse a negative number as an unsigned integer. 8 * Supports the `as<int8_t>`/`as<uint8_t>`, which throws an exception when the value exceeds the range of `int8_t`/`uint8_t`. 9 10 ## 0.6.0 ## 11 12 * Requires C++11. 13 14 ## 0.5.3 ## 15 16 _none_ 17 18 ## 0.5.2 ## 19 20 _none_ 21 22 ## 0.5.1 ## 23 24 * `Node::clear` was replaced by `Node::reset`, which takes an optional node, similar to smart pointers. 25 26 ## 0.5.0 ## 27 28 Initial version of the new API. 29 30 # Old API # 31 32 ## 0.3.0 ## 33 34 _none_ 35 36 ## 0.2.7 ## 37 38 * `YAML::Binary` now takes `const unsigned char *` for the binary data (instead of `const char *`). 39 40 ## 0.2.6 ## 41 42 * `Node::GetType()` is now `Node::Type()`, and returns an enum `NodeType::value`, where: 43 > > ` struct NodeType { enum value { Null, Scalar, Sequence, Map }; }; ` 44 * `Node::GetTag()` is now `Node::Tag()` 45 * `Node::Identity()` is removed, and `Node::IsAlias()` and `Node::IsReferenced()` have been merged into `Node::IsAliased()`. The reason: there's no reason to distinguish an alias node from its anchor - whichever happens to be emitted first will be the anchor, and the rest will be aliases. 46 * `Node::Read<T>` is now `Node::to<T>`. This wasn't a documented function, so it shouldn't break anything. 47 * `Node`'s comparison operators (for example, `operator == (const Node&, const T&)`) have all been removed. These weren't documented either (they were just used for the tests), so this shouldn't break anything either. 48 * The emitter no longer produces the document start by default - if you want it, you can supply it with the manipulator `YAML::BeginDoc`. 49 50 ## 0.2.5 ## 51 52 This wiki was started with v0.2.5.