You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

2.8 KiB

This is the first ryml release. Future releases will have a more organized changelog; for now, only recent major changes are listed.

Please be aware that there are still some anticipated breaking changes in the API before releasing the 1.0 major version. These are highlighted in the repo ROADMAP.

  • 2020/October
    • MR#89:
      • fix python API generation in windows
      • use github actions for testing and releasing
    • MR#88: fix MacOS compilation and installs. This is a fix from c4core.
    • MR#88: fix boolean handling. This is a fix from c4core. true and false are now parsed correctly into bool variables:
      auto tree = parse("{foo: true, bar: false}");
      
      Emitting bool variables still defaults to 0/1, like the default behaviour in the STL. To explicitly request true/false use c4::fmt::boolalpha():
      node << var;                     // "1"    or "0"
      node << c4::fmt::boolalpha(var); // "true" or "false"
      
  • 2020/September
    • [Breaking change] MR#85 null values in YAML are now parsed to null strings instead of YAML null token "~":
      auto tree = parse("{foo: , bar: ''}");
      // previous:
      assert(tree["foo"].val() == "~");
      assert(tree["bar"].val() == "");
      // now:
      assert(tree["foo"].val() == nullptr); // notice that this is now null
      assert(tree["bar"].val() == "");
      
    • MR#85 Commas after tags are now allowed:
      {foo: !!str, bar: ''}  # now the comma does not cause an error
      
    • MR#81: Always compile with extra pedantic warnings.
  • 2020/May
    • [Breaking change] the error callback now receives a source location object:
    // previous
    using pfn_error = void (*)(const char* msg, size_t msg_len, void *user_data);
    // now:
    using pfn_error = void (*)(const char* msg, size_t msg_len, Location location, void *user_data);