Skip to content

Release 1.3.1

Compare
Choose a tag to compare
@danielaparker danielaparker released this 09 Apr 13:58
· 77 commits to master since this release
9ccf27f
  • Fixed bugs:

    • Git Issue #601: Removed the space before the suffix in the user-defined literal operators _json and _ojson

    • Git Issue #605: Fixed bug when parsing a JMESPath expression that has a function that is passed a binary expression argument, e.g. A || B.

    • In cursors, after a call to read_to following a begin_object event, the cursor event_type() function returned
      staj_event_type::begin_object, even though the effective state of the cursor had changed to staj_event_type::end_object.
      This is fixed. The state of the cursor after a call to next is the same as before.

    • Fixed an edge case in basic_csv_parser, detected by Google fuzz, where the first line in the input file contains an empty line
      and the csv_mapping_kind is n_rows.

  • API Changes:

    • In JMESPath evaluation, 1.3.0 introduced late binding of variables to an initial (global) scope via parameters.
      The parameters type has been changed from std::vector<std::pair<string_type,Json>> to std::map<string_type,Json>.

    • Added a member function begin_position() to ser_context. begin_position() should
      be preferred to position() when using filters to update JSON in place.
      Currently the two accessors return the same value, but that may change in a future release.

    • Added macros JSONCONS_VISITOR_RETURN_TYPE and JSONCONS_VISITOR_RETURN that are
      #define'd to bool and return true respectively. For users that have implemented
      classes that derive from basic_json_filter, and that have overridden visit_xxx functions,
      it is recommended to use these macros for the return type and return value rather than
      bool and return true. This is for forward compatibility.